私は問題を解決したいと思います。ここ私はそれが問題の一部になるべきではないと思うからです。)
だからこれが私が思いついたものです:
$ 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 -
最初のコードスニペットを実行したときに、7zipアーカイブ内のtarボールがout.tar
で終わることを確認しました。だから.tar.7z
タールボールの名前はで終わります.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 -
この問題をどのように解決できますか?データをターゲットに書き込んでからファイルをハッシュすることはオプションではありません。データを暗号化する必要があります。
答え1
問題は、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
。