私は問題を解決したいと思っています(これは質問の一部であるとは思わないので、 ここ について読むことができます)。
だからこれは私が思いついたものです:
$ 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ボールの名前は.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 -
どうすればこれを解決できますか?データを宛先に書き込んでから、そのファイルをハッシュすることはできません。データを暗号化する必要があります。
問題は、7Zipファイル形式が利用可能であることを求める必要があるため、7z
ファイル形式を-so
とともに使用できないことです(プロジェクトページの this コメントごと)。 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
)のアーカイブにパスワードを設定することはできません。