環境
$ cat /etc/issue
Debian GNU/Linux 12 \n \l
メモ
7-Zip
著名で当ブログでも度々登場する 7-Zip。
$ apt-cache search 7zip | grep '7zip'
p7zip - 高圧縮率を誇る 7zr ファイルアーカイバ
p7zip-full - 高圧縮率を誇る 7z および 7za ファイルアーカイバ
7zip - 7-Zip file archiver with a high compression ratio
$ dpkg -l | grep p7zip-full
ii p7zip-full 16.02+dfsg-8 amd64 7z and 7za file archivers with high compression ratio
扱うフォーマットごとに使えるオプションが違うことを初めて知った...
マニュアルを読むと確かに 7z
や zip
で違う...
$ man 7z
HTML Documentation
/usr/share/doc/p7zip-full/DOC/MANUAL/start.htm
# Zip(シングルコアで圧縮される)
$ 7za a -mmt=on -mx=1 -mhe=on -mem=AES256 -ssw -pXXXXX /OUTPUT.7z /INPUT/DIR -r
# 7z の時はマルチコア圧縮されるけど、暗号化形式を選べない(AES256固定の模様)
$ 7z a -mhe=on -ssw -p -v10g -mx=1 -mmt=on OUTPUT.7z /INPUT/DIR -r
※ XXXXX
はパスワードを設定する場所(-p
だけだと標準入力から設定できる)。
pigz
複数コアを使って圧縮してくれる GZip ツール。
$ apt-cache search pigz | grep -E '^pigz'
pigz - Parallel Implementation of GZip
圧縮と同時に暗号化して欲しかったけど、機能がないようなので openssl で別個に対応。
# gz で固めて、openssl で暗号化
$ tar --use-compress-program="pigz -k -0" -cf "OUTPUT.tar.gz" "/INPUT/DIR"
$ openssl enc -e -aes-256-cbc -pbkdf2 -md sha-256 -in "OUTPUT.tar.gz" -out "OUTPUT.tar.gz.dat" -pass env:ENCRYPTION_KEY
-pass env
は環境変数を使用する。
下記のように設定する。
$ ENCRYPTION_KEY=xxx
$ export ENCRYPTION_KEY