生成されるtarファイルから生成された7zipアーカイブのチェックサムを生成します。

生成されるtarファイルから生成された7zipアーカイブのチェックサムを生成します。

私は問題を解決したいと思います。ここ私はそれが問題の一部になるべきではないと思うからです。)

だからこれが私が思いついたものです:

$ 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

関連情報