当社はローカル開発データベースのスナップショットをファイルとしてダウンロードしますdb.dump.tar.gz
。圧縮は意味がありますが、タールボールには1つのファイル(db.dump
)のみが含まれています。
個々のファイルをアーカイブする理由は何ですか、それとも.tar.gz
一般的な慣用語ですか?なぜできないのです.gz
か?
答え1
.tar.gz
代わりに使用すると良い点.gz
は
tar
。より多くのメタデータ(UNIX権限など)を保存しますgzip
。- 複数のファイルを保存するために設定を簡単に拡張できます。
- .tar.gzファイルが一般的です。圧縮のみ一部のユーザーにとっては、マニュアルが混乱する可能性があります。 (より メルボルンのレビュー)
使いやすいオーバーヘッドもほとんどありませんtar
。
実際に必要でない場合は、単一のファイルをtaringすることはまだ推奨されていません。圧縮された個々のファイルに直接アクセスするための便利なツールがたくさんあります(例:zcat
などzgrep
もありますbzip2
)xz
。
答え2
実際に質問の半分だけを尋ねることです。もう一つの質問は、「なぜtarファイルをgzipする必要があるのですか?」です。答えは、gzip
ファイルを小さくする以上のものです(ほとんどの場合)。
tar
:
- ファイル名などの保存メタデータ:モード、所有者ID、グループID、ファイルサイズ、変更時間
- チェックサムの保存(ヘッダのみ)
gzip
:
- 元のファイル名を保存できますが、これはオプションです。
- 生データのCRC-32チェックサム
- ファイルを圧縮する
あなただけtar
が確信できませんデータ破損していません。gzip
ユーザー/グループID、変更時刻、元のファイル名は回復できません。
この組み合わせは、単一のコマンド/フォーマットが提供できるよりも多くの機能を提供します。機能が互いに補完されるため。
答え3
gzipで圧縮されたテキストファイルのみを使用すると、大きな利点があります。less
つまり、zgrep
。zcat
答え4
場合によっては、使用を重視する重要な違いがありますtar
。 @jofelが回答で述べた「メタデータ」に加えて、tar
録音ファイル名アーカイブから。抽出してみると、元のファイル名を取得アーカイブの名前は何でも構いません。
あなたの場合、tarアーカイブとここに含まれるファイルには関連する名前がありますが、db.dump.tar.gz
tardb.tar
ファイルの名前を20-Apr-16.dump.tgz
他の名前に変更するとします。解凍tar xvfz
するとそこにありますdb.dump
。比較20-Apr-16.dump.gz
のため20-Apr-16.dump
。アーカイブには、tar
抽出されたファイルをサブディレクトリに配置する相対パス名も含めることができます。
ユースケースによって、この種のファイル名の永続性が必要かどうかが必要です。求める、または実際には望ましくありません。しかし、1つの明確な点は、圧縮されているかどうかに関係なく、tar
アーカイブが通常のファイルとは異なる方法で転送されることです。