Добавление информации о контрольной сумме в файл

Я хотел бы добавить информацию контрольной суммы в файл, которую я передаю. Это tar.gz или tar.xz файл, и я могу передавать только один файл на удаленную сторону.

Как вы рекомендуете вводить информацию контрольной суммы?

  • Лучший способ сжать папку с небольшими предварительно сжатыми файлами (изображениями)?
  • Может кто-нибудь объяснить, для чего нужен hunzip?
  • Есть ли команда для перечисления сжатых размеров файлов для файлов в .zip-файле?
  • Как установить Uglify на Debian Sid
  • Как указать дополнительные параметры для опции -compress-program для GNU sort?
  • Как перекомпилировать 2 миллиона файлов gzip, не сохраняя их дважды?
  • Я хочу, чтобы контрольная сумма всего архива, а не его содержимое (я хотел бы проверить его целостность) до «распаковки».

    Я знаю, что я мог бы упаковать его снова в каком-то формате, поддерживая контрольные суммы (например, rar ), но это вычислительная стоимость для «переупаковки», просто для добавления контрольной суммы (с другой стороны, мне не нравится формат rar ). Поэтому предпочтительнее было бы что-то вроде gzip & gunzip т. Д., Но для добавления, проверки и удаления контрольной суммы.

    Любые инструменты, идеи, сценарии, обходные пути?

    Я правильно .gz и .gz поддерживают конкатенацию? Может быть, стоит использовать эту функцию для добавления сжатой контрольной суммы в конец файла?

  • Есть ли команда для перечисления сжатых размеров файлов для файлов в .zip-файле?
  • Вопрос о странном сжатии
  • Как указать дополнительные параметры для опции -compress-program для GNU sort?
  • Что вы делаете для сканирования с разрешением 600 dpi при работе с небольшим выходным файлом?
  • Как перекомпилировать 2 миллиона файлов gzip, не сохраняя их дважды?
  • сжатие lrzip не сокращает случайные данные
  • One Solution collect form web for “Добавление информации о контрольной сумме в файл”

     cat file.gz file.gz.sig > transfer_me.signed 

    Затем на удаленном хосте вы отделите добавленную контрольную сумму, используя

     tail -c length_of_the_checksum_info transfer_me.signed > file.gz.sig head -c -length_of_the_checksum_info transfer_me.signed > file.gz 

    Обратите внимание на минус во второй команде. Длина зависит от типа контрольной суммы, которую вы используете. Вы можете просто

     md5sum file.gz | cut -d ' ' -f 1 > file.gz.sig 

    Обратите также внимание на то, что таким образом вы можете сразу распаковать файл transfer_me.signed без разделения, поскольку tar будет игнорировать конечный «мусор».


    Аналогичное решение с дополнительными механизмами шифрования или скремблирования используется для подписывания обновлений для многих мобильных устройств – например, Amazon Kindles . Но в их случае идентификация архивного файла нежелательна, поэтому они помещают всю информацию опечатки в начале файла обновления.

    Linux и Unix - лучшая ОС в мире.