.tar.bz2 アーカイブを作成するには、tar と bzip2 のどちらを使用しますか?

.tar.bz2 アーカイブを作成するには、tar と bzip2 のどちらを使用しますか?

tarファイルを作成できることを読みました.tar.bz2。これまでは、これを実行するためにtar+ を使用していましたbzip2

tarアーカイブを作成するためにを使用することと を使用することの間に違いがあるかどうか疑問に思っていますbzip2

また、同じ機能を持つものが 2 つあるのはなぜでしょうか?

ありがとう!

答え1

GNU tar は --bzip2 オプションをサポートしており、これにより、tar ファイルを bzip2 でストリームしてから、結果のファイルをディスクに書き込むことができます。コマンドライン オプションでサポートされているすべての tar 圧縮は、ストリームされたデータのチャンクに対して実行されます。これは、平均的なケースではあまり問題になりませんが、外部圧縮では、同じアルゴリズムでもより優れた圧縮を実現できる場合があります。

たとえば、--bzip2 を使用すると、定義済みの圧縮レベルが使用されますが、圧縮されていない tarball で bzip2 を実行すると、さまざまな圧縮パラメータを調整して、より強力な圧縮を実現できます。さらに、入力に tarball 全体を使用できる操作では、ストリーミングで利用できる標準サイズのチャンクを超える圧縮の機会を活用できる可能性があります。良い例は次のとおりです。zipファイルこれにより、現在のデータ チャンク内の冗長性だけでなく、tar アーカイブ全体の冗長性を活用できるようになります。

スペースが極端に不足していない限り、一般的には、シンプルさのために組み込みの圧縮オプションを使用する方がよいでしょう。組み込みオプションは、高いレベルの利便性と、速度と圧縮の間の合理的なトレードオフを提供します。ただし、使用状況は確実に異なる可能性があります。

答え2

アーカイブを作成するときに tar を使用する場合と bzip2 を使用する場合では違いがあるのでしょうか?

Bzip2 は圧縮ツールです...しかも非常に優れたツールです。

tar はアーカイブ (ストレージ) ツールです。おそらく最も成功し、堅牢なツールです。

また、同じ機能を持つものが 2 つあるのはなぜでしょうか?

まあ、tar は bzip よりも古く、オリジナルの zip よりも古いと思います。

彼らは限られた場合にのみ「同じこと」をします。

おそらくあなたは tar が何であるかを完全に理解していないのではないでしょうか?

Tar はアーカイブ用 (テープ アーカイバ) であり、ファイルの塊を圧縮する以上の機能を備えています。

<quote man page>
DESCRIPTION
     Tar stores and extracts files from a tape or disk archive.
 </quote>

したがって、アーカイブの内容を追加、抽出、削除、更新することができます。(多くの場合、解凍せずに)

これは、64Kが大量のメモリを必要とした遠い昔の英雄的な時代に進化した古典的なツールです。ストリーミング(文字単位の) ストレージが標準でした。(磁気テープのように)

tar は、(名目上は人間の) オペレーターにテープ交換を指示したり、多数のメーターの「テープ」上で正しい範囲と位置まで巻き戻したりといった操作を実行できます。

実際のハードウェアがなくなって久しい場合でも、これらの機能はすべて今でも役に立ちます。概念は今でも使用されています。特にバックアップの世界ではそうです。

一般的には、構造アーカイブされたファイルシステムの状態を確認し、実際のファイルシステムとほぼ同じように変更したり読み取ったりできます。(もちろん実際のファイルシステムと同じですが、圧縮され、記録/登録され、どこかに隠されています)

rsync一部(大部分)の機能を備えていますが、差分に関する巧妙なアルゴリズムが備わっています。

paxも参照してください。

Bzipは素晴らしいツールであり、ほとんどcase は zip/gzip よりも圧縮率が高いです。

汎用圧縮ツールとして効率的で非常に堅牢です。圧縮に重点を置いています。

時間が経つにつれて、圧縮されたファイルはアーカイブと呼ばれるようになりました。これは、ほとんどのファイルに共通する点です。

ああ、最後に、tar にはネイティブの基本 (展開可能) 圧縮もあります。代わりに特定の圧縮アルゴリズムを使用するには、-z または -j スイッチを使用します。(うーん、あるいは、おそらくそうでしょう?)

gzip、tar、bzip2、pax、rsync のマニュアル ページを参照してください :)

tar ドキュメントをスクロールするだけで、そのアイデアがわかるはずです。

答え3

tar cf - ファイル ファイル ファイル ディレクトリcat list| 圧縮 > file.tar.Z 圧縮 -d file.tar.Z | tar tvf -

お好みに応じて、compress を gzip、bzip2、lzop に置き換えることができます。

リスト中にファイルを抽出するには、最後のコマンドで v を x に置き換えます。

関連情報