.tar.gzと.gz、または.tar.7zと.7zの違いは何ですか?


158

最近、私は多くのデータをバックアップしており、ファイルを.gzor .tar.gz、または.7zand .tar.7zなどとして保存できることに気付きました。通常のものと.tar.*バリアントの違いは何ですか?バックアップを作成する際に推奨されるのはどれですか?

回答:


183

Windowsのバックグラウンドを持っている場合は、zipおよびrar形式に精通している可能性があります。これらは、一緒に圧縮された複数のファイルのアーカイブです。

UnixおよびUnixに似たシステム(Ubuntuなど)では、アーカイブと圧縮は分離されています。

tar 複数のファイルを単一の(tar)ファイルに入れます。

gzip 1つのファイルを圧縮します(のみ)。

したがって、圧縮されたアーカイブを取得するには、最初に使用するtarpax、またはすべてのファイルを単一のファイル(archive.tar)に取得してから(archive.tar.gz)に2つを組み合わせますgzip。圧縮する必要があるファイル(notes.txt)が1つしかない場合は、tarは必要ないので、それを行うだけgzip notes.txtで結果がになりnotes.txt.gzます。そこような圧縮の他の種類は、でありcompressbzip2そしてxz(離れコースの圧縮の種類を使用することから)GZIPと同様に動作しています


6
それは理にかなっていますが、なぜ.7z複数のファイルからアーカイブを作成できるのに、複数のファイルからアーカイブを作成できるの.tar.7zですか?
Exeleration-G

3
@ Exeleration-G 7zipはこのスキームに従いません。zipとrarのようなものです。7zipを自分で使用したことがないので、7zipと組み合わせてtarを使用することのポイントが何であるかわかりません。
ガイラ

42
@ Exeleration-G他の回答を読んだ後、SaultDonがこれに答えているのがわかります。7zipは、アーカイブされたファイルのUNIX所有権と許可を保存しません(zipやrarのように、主にWindowsを対象としているようです)。
ガイラ

@geirha適切な答えが見つかった場合、問題を解決済みとしてマークします。
ラビ

1
私の経験では、圧縮よりも7zの方がzipよりもはるかに優れています。私がテストしたとき、それは40%余分のように私に何かを保存
Eoin

49

探しているものに依存します...圧縮またはアーカイブ?

アーカイブについて話すとき、権限、ディレクトリ構造などを保存することを意味します...

圧縮ではそのほとんどが無視され、ファイルが小さなパッケージに入れられるだけです。

ファイルのアクセス許可を保持するには、tarを使用します。

tar cpvf backup.tar folder

pフラグはファイル許可を保存します。gzip圧縮にはzフラグを使用し、bzip圧縮にはjフラグを使用します。

tar czpvf backup.tar.gz folder #backup.tgz is acceptable as well
tar cjpvf backup.tar.bz2 folder #backup.tbz2 works too

tarファイルが必要な場合は、Pフラグを使用してtarを「更新」パッケージ化できます。

tar cpPvf backup.tar folder

次に、更新するには、「c」を「u」に置き換えます。展開するときは、「k」を使用して既存のファイルを保存できます。

tar upPvf backup.tar folder #updating a tar file
tar xpPkvf backup.tar #extracting a tar with permissions(p) and not extracting(k) files that exist on disk already

Pフラグはファイルをフルパスで保存するため、/ home / username vs home / username(先頭のスラッシュに注意してください)。

7z圧縮は、より優れた圧縮を提供しますが、ファイルの所有権、アクセス権などを保持しません。Rzipは、7zと同等の圧縮を提供するもう1つの圧縮ユーティリティです。

backup.tar.7zファイルは7zファイルによって圧縮された単なるtarファイル(アクセス許可付き)であると思いますが、7zがファイルメタデータをダンプできない可能性があるため、圧縮がほとんど発生していなくても驚かないでしょう。7zのファイルメタデータを除外する機能により、優れた圧縮を提供できます(もちろん)。

圧縮も完全にデータ型に依存します。一部のファイルは、他の方法(.mp3、.jpg、.tiff / with lzma、.rpmなど)で既に圧縮されている可能性があるため、うまく圧縮されません。


11

gzipまたはbzip2はfile system、ファイル名、ディレクトリ、またはツリー構造については知りません。入力ストリームを圧縮し、結果を出力するだけです。gzipやbzip2でさえ、単独でディレクトリをアーカイブすることはできません。そのため、通常はtarと組み合わされています。

tar(archiver)-ファイル構造のみをアーカイブします。gzip、bzip2(compressor)-入力を圧縮するだけです。

この戦略は、Unixの哲学を「うまくやること」から来たと思います。タールはうまく機能しますか?そのままにしておきます。gzipよりも高い圧縮率が必要ですか?これはbzip2または7zipです。


実際、7zipはzipまたはrarのようにアーカイブできます。
メイト

8

さまざまなスタイルの圧縮、tar自体は単純にアーカイブされます(圧縮はほとんどまたはまったくありません)。tar.gzはtarアーカイブですが、コンテンツはgzip(中程度の圧縮)で圧縮されているため、.gzとtar.7zは7zipを使用して圧縮されます(通常は超高圧縮)

バックアップ時には、tar.7zをお勧めします。これは、圧縮率が最も高く、スペースを節約できますが、追加のプログラム(7zip)を使用するためです。.tar.gzはより大きなファイルになり、同じ仕事をします。bzip(.tar.bz / bz2)を使用することもできますが、gzipまたは7zipを使用するのに適しているかどうかはわかりません


4

通常、*。tarファイルはtarプログラムによって作成された単なるtarファイル、*。gzプログラムはgzipによって作成され、*。tar.gz(* .tgzもあります)はgzipされたtarファイル、および* .7zは7zipによって作成されます。

ただし、Linux / Unixでは、ファイルを好きなように名前を付けることができるため、ファイルの作成者の裁量に完全に委ねられています。


3

Tar(Tape Archiver)は伝統的にUnix / Linuxのコンテナとして使用され、ファイルを移動用にパッケージ化します。ファイル構造をパッケージ化し、ファイル属性を維持しますが、ファイルを圧縮しません。

圧縮プログラムはファイルを圧縮して小さくしますが、複数のファイルを処理できない場合や、Linuxに必要なファイル属性を処理できない場合があります。tarはすでに存在し、十分にサポートされているため、アーカイブプログラムがこの機能を複製する理由はありません。これはプラットフォーム固有です(つまり、WindowsとLinuxで異なります)。また、異なる圧縮プログラムは異なるタイプのファイルで異なる動作をする場合があるため、複数のファイルを選択することが望ましいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.