いくつかの文書を交換するのにZIPファイル一つで十分です。フォルダーが重くなり、ファイルサイズを制限する必要があるか、そこで含まれている名前を隠す必要がある場合、7z形式がより興味深くなります。私は転送または作業コピーをアーカイブするためにバッチを準備するために使用しますが、唯一のバックアップとしては使用しません。
手順は4つのチェックで構成されています:インストールされたコマンドを特定し、ソースを消去せずにアーカイブを作成し、その内容を読み、削除または送信する前にテストします。

コマンドを確認し、フォルダーを準備する
最近のDebianまたはUbuntuでは、7zipパッケージが通常7zzを提供します。古いインストールは時々p7zip-fullと7zコマンドを使用します。実際に利用可能なものを確認することから始めましょう:
command -v 7zz || command -v 7z
7zz i 2>/dev/null || 7z i
いずれのコマンドも応答しない場合は、ディストリビューションに適したパッケージをインストールしてください。DebianまたはUbuntuでは、まずインデックスを更新し、その後7zipをインストールします:
sudo apt update
sudo apt install 7zip
アーカイブするフォルダーの親ディレクトリで作業します。これにより、絶対パスでいっぱいのアーカイブを避けることができ、関係するボリュームをすぐに確認できます。また、宛先の空き容量も確認してください:
du -sh プロジェクト
df -h .
ソースファイルを保持して7zアーカイブを作成
プロジェクトを含むフォルダーに移動してから、アーカイブを作成します。コマンドaはファイルを追加します。明示的に別の動作を要求しない限り、ソースフォルダーは削除されません。
7zz a 保存プロジェクト.7z プロジェクト/
古いコマンドの場合は、単に7zzを7zに置き換えてください。デフォルトのレベルはほとんどのケースで適合します。すでに負荷のかかったサーバーで速度を優先したい場合は、-mx=3を追加してください。レベル-mx=9はCPUを多く消費し、待機する価値を正当化できるほどサイズを減少させるわけではありません。
アーカイブを2GiBのボリュームに分割して、ストレージや制限のある送信に備えるには、-v2gを使用します:
7zz a -v2g 保存プロジェクト.7z プロジェクト/
.001、.002などすべてのファイルを同じフォルダーに保持してください。最初のボリュームはテストと抽出に使用されます。
パスワードを公開せずにアーカイブを暗号化
-pmotdepasseをコマンドラインに直接記述しないでください:Bashはそれをしばしば履歴に記録し、プロセスリストに表示される可能性があります。値なしで-pを渡すと、7-Zipが対話形式で秘密を要求します。ファイル名も暗号化するには、-mhe=onを追加してください。
7zz a -p -mhe=on 保存プロジェクト-プライベート.7z プロジェクト/
暗号化されたアーカイブはバックアップの代わりにはなりません。パスワードまたはストレージキーを失うと、コンテンツは使用不可能になります。企業の機密情報については、このコマンドの一回限りの暗号化と復旧のポリシーを分けておいてください。
リストアップ、テストしてからコピーに抽出
転送または清掃の前に、まず内容を確認してください。lはファイルをリストアップし、tはアーカイブの整合性を確認します。これらの2つのコマンドは、元のフォルダーを削除した後に不完全なアーカイブを発見するのを避けます。
7zz l 保存プロジェクト.7z
7zz t 保存プロジェクト.7z
次に、空のディレクトリへの抽出をテストします。このステップまでソースフォルダーはそのまま残しておきます:
mkdir -p /tmp/test-7z
7zz x 保存プロジェクト.7z -o/tmp/test-7z
find /tmp/test-7z -maxdepth 2 -type f | head
大きな転送の場合は、アーカイブのハッシュを計算し、コピー後に比較してください:
sha256sum 保存プロジェクト.7z > 保存プロジェクト.7z.sha256
sha256sum -c 保存プロジェクト.7z.sha256
7z形式はテクスチャをパッケージ化し、圧縮するために使用されます。定期的にバックアップし、復元をテストするには、独立した保存先とローテーションも必要です。もし単にUnixの標準アーカイブを作成または抽出するだけなら、ガイド Linuxのtarの方が一般的なワークフローに適しています。