Создание контрольной суммы архива 7zip, созданного из создаваемого файла tar

Я хочу решить проблему (которую вы можете прочитать здесь, поскольку я не чувствую, что это должно быть частью вопроса).

Так вот что я придумал:

$ tar -cO Templates | 7z a -si -mx=3 -p /t/out.tar.7z 

Я использую папку Templates на своем компьютере, поэтому сначала могу проверить ее на очень небольшом количестве данных.

И это работает так, как ожидалось.

Однако, когда я хочу создать контрольную сумму, он не работает:

 $ tar -cO Templates | 7z a -si -so -mx=3 -p | tee /t/out.tar.7z | sha256sum 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs) Error: Incorrect command line e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - 

Я заметил, что когда я выполняю то, что находится в первом блоке кода, tar-файл в архиве 7zip вызывается out.tar . Фактически, вот почему я позволил этому положить конец .tar.7z : Таким образом, имя tar-шара заканчивается на .tar .

Поэтому, возможно, я должен все еще включать имя файла, особенно потому, что весь синопсис команды 7z на его странице руководства:

 7z [adeltux] [-] [SWITCH] <ARCHIVE_NAME> <ARGUMENTS>... 

К сожалению, это тоже не работает:

 $ tar -cO Templates | 7z a -si -so -mx=3 -p out.tar.7z | tee /t/out.tar.7z | sha256sum 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs) Creating archive stdout Enter password (will not be echoed) : Verify password (will not be echoed) : System error: E_NOTIMPL e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - 

Это даже не работает, если я явно укажу тип архива:

 $ tar -cO Templates | 7z a -si -so -mx=3 -p -t7z | tee /t/out.tar.7z | sha256sum 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs) Error: Incorrect command line e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - 

 $ tar -cO Templates | 7z a -si -so -mx=3 -p -t7z out.tar.7z | tee /t/out.tar.7z | sha256sum 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs) Creating archive stdout Enter password (will not be echoed) : Verify password (will not be echoed) : System error: E_NOTIMPL e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 - 

Как я могу это решить? Запись данных в пункт назначения, а затем хэширование этого файла не является вариантом. Мне нужны данные для шифрования.

  • Как сжать дамп mysql с помощью 7z через трубу?
  • Как использовать 7z для сжатия через трубу?
  • Почему серверы не используют 7z?
  • Как я могу переупаковать zip в 7zip?
  • Как использовать 7z для архивации всех файлов и каталогов (в том числе скрытых) в каталоге?
  • Получите процентную информацию от команды 7z в bash
  • Как указать кодировку символов для 7z?
  • Могу ли я заставить 7z пропускать сжатие (но не включать) определенных файлов при сжатии каталога с его подсистемами?
  • One Solution collect form web for “Создание контрольной суммы архива 7zip, созданного из создаваемого файла tar”

    Проблема в том, что формат файла 7zip требует поиска, поэтому вы не можете использовать формат файла 7z с -so (на этот комментарий на странице проекта). Использование другого формата, такого как xz работает:

     $ tar -cO Templates | 7z a -an -txz -si -so | tee tarball.xz | sha256sum ; sha256sum tarball.xz 7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs) Creating archive stdout Everything is Ok 4349a01e62a7d7b6cfd46caa90ee38904227fc09ef643d87eb8209bc53cb8e50 - 4349a01e62a7d7b6cfd46caa90ee38904227fc09ef643d87eb8209bc53cb8e50 tarball.xz 

    Тем не менее, вы теряете возможность поместить в архив в архив такие форматы, для которых это работает ( gzip , bzip2 и xz ).

    Interesting Posts

    Использование iptables для перенаправления всего трафика на локальный веб-сервер

    вызывая перезагрузку из пользовательского пространства

    Определите, установлен ли (NTFS) диск или нет. Если нет, то установите его

    Как удалить конечные пробелы из переменной makefile?

    htop: показать процессы всех пользователей, кроме root

    E: очистка / не поддерживается

    Как я могу понять различные уровни сигнала уровня wpa_supplicant?

    scp stdin: не является tty, и запись не удалась, сброс соединения с помощью одноранговой сети

    Как отобразить разрешения нового файла в строке состояния редактора Vim?

    GNU Переключатель экрана от вертикального разделения до горизонтального и заднего

    Удалены первые 512 байт диска; как я могу восстановить свои данные?

    wireshark Как я могу фильтровать элементы не в массиве?

    Обнаружение общедоступного IP-адреса серверов и разрешение удаленного доступа

    Как рекурсивно перечислить все скрытые файлы и каталоги?

    как переносить жизненный цикл с одного сервера на другой?

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