最近、私は多くのデータをバックアップしており、ファイルを.gz
or .tar.gz
、または.7z
and .tar.7z
などとして保存できることに気付きました。通常のものと.tar.*
バリアントの違いは何ですか?バックアップを作成する際に推奨されるのはどれですか?
最近、私は多くのデータをバックアップしており、ファイルを.gz
or .tar.gz
、または.7z
and .tar.7z
などとして保存できることに気付きました。通常のものと.tar.*
バリアントの違いは何ですか?バックアップを作成する際に推奨されるのはどれですか?
回答:
Windowsのバックグラウンドを持っている場合は、zipおよびrar形式に精通している可能性があります。これらは、一緒に圧縮された複数のファイルのアーカイブです。
UnixおよびUnixに似たシステム(Ubuntuなど)では、アーカイブと圧縮は分離されています。
tar
複数のファイルを単一の(tar)ファイルに入れます。
gzip
1つのファイルを圧縮します(のみ)。
したがって、圧縮されたアーカイブを取得するには、最初に使用するtar
かpax
、またはすべてのファイルを単一のファイル(archive.tar)に取得してから(archive.tar.gz)に2つを組み合わせますgzip
。圧縮する必要があるファイル(notes.txt)が1つしかない場合は、tarは必要ないので、それを行うだけgzip notes.txt
で結果がになりnotes.txt.gz
ます。そこような圧縮の他の種類は、でありcompress
、bzip2
そしてxz
(離れコースの圧縮の種類を使用することから)GZIPと同様に動作しています
探しているものに依存します...圧縮またはアーカイブ?
アーカイブについて話すとき、権限、ディレクトリ構造などを保存することを意味します...
圧縮ではそのほとんどが無視され、ファイルが小さなパッケージに入れられるだけです。
ファイルのアクセス許可を保持するには、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など)で既に圧縮されている可能性があるため、うまく圧縮されません。
gzipまたはbzip2はfile system
、ファイル名、ディレクトリ、またはツリー構造については知りません。入力ストリームを圧縮し、結果を出力するだけです。gzipやbzip2でさえ、単独でディレクトリをアーカイブすることはできません。そのため、通常はtarと組み合わされています。
tar(archiver)-ファイル構造のみをアーカイブします。gzip、bzip2(compressor)-入力を圧縮するだけです。
この戦略は、Unixの哲学を「うまくやること」から来たと思います。タールはうまく機能しますか?そのままにしておきます。gzipよりも高い圧縮率が必要ですか?これはbzip2または7zipです。
さまざまなスタイルの圧縮、tar自体は単純にアーカイブされます(圧縮はほとんどまたはまったくありません)。tar.gzはtarアーカイブですが、コンテンツはgzip(中程度の圧縮)で圧縮されているため、.gzとtar.7zは7zipを使用して圧縮されます(通常は超高圧縮)
バックアップ時には、tar.7zをお勧めします。これは、圧縮率が最も高く、スペースを節約できますが、追加のプログラム(7zip)を使用するためです。.tar.gzはより大きなファイルになり、同じ仕事をします。bzip(.tar.bz / bz2)を使用することもできますが、gzipまたは7zipを使用するのに適しているかどうかはわかりません
Tar(Tape Archiver)は伝統的にUnix / Linuxのコンテナとして使用され、ファイルを移動用にパッケージ化します。ファイル構造をパッケージ化し、ファイル属性を維持しますが、ファイルを圧縮しません。
圧縮プログラムはファイルを圧縮して小さくしますが、複数のファイルを処理できない場合や、Linuxに必要なファイル属性を処理できない場合があります。tarはすでに存在し、十分にサポートされているため、アーカイブプログラムがこの機能を複製する理由はありません。これはプラットフォーム固有です(つまり、WindowsとLinuxで異なります)。また、異なる圧縮プログラムは異なるタイプのファイルで異なる動作をする場合があるため、複数のファイルを選択することが望ましいです。
.7z
複数のファイルからアーカイブを作成できるのに、複数のファイルからアーカイブを作成できるの.tar.7z
ですか?