2016-08-26 9 views
3

Мне было интересно, как создавать/извлекать/проверять файлы .tar.md5. Эти файлы используются при мигании изображений на устройствах Android, например, here.Как обращаться с файлами .tar.md5

Насколько я могу сказать, что контрольная сумма добавляется к файлу, как это:

cp file.tar file.tar.md5 
md5sum file.tar >> file.tar.md5 

Во-первых, я хотел бы знать, как извлечь файл. Могу ли я просто использовать tar -xf на file.tar.md5?

Как проверить целостность файла? Я хотел бы удалить последние байты (содержащие контрольную сумму) из файла, чтобы вернуть исходный файл. Думаю, вам придется использовать регулярное выражение для соответствия checksum file.tar? Что-то вроде этого уже реализовано?

+0

Это не имеет смысла. Хэш-файлы, которые содержат файлы tarball и другие большие файлы, обычно содержат * только * хэш, а не копию исходного файла. –

+0

Другими словами, тип файла не является '.tar.md5', это просто' .md5'. 'file.tar' определяет, в каком файле находится хэш. –

+0

Я бы тоже подумал об этом, но это неправда: file file.tar.md5 => file.tar.md5: архив tar-архива POSIX (GNU) – hfhc2

ответ

2

Прежде всего tar -xf должен работать, поскольку tar продолжается, пока он соответствует его алгоритму упаковки. Если файл перестанет сопоставляться, то будет tar. Также большинство архивных менеджеров, таких как 7-zip или winrar, откроют его, если вы удалите «.md5». Они могут печатать ошибку относительно несоответствия с концом файла, игнорировать его.

Что касается проверки файла:

  • распечатки хранимого md5sum: хвоста -z [имени файла здесь] -n 1 .tar.md5

  • расчета md5sum из tar-часть файла: head -z -n -1 [Имя файла здесь] .tar.md5 | md5sum

+0

Спасибо, я не знал, как использовать команду tail в этом случае :) – hfhc2