web-dev-qa-db-ja.com

Linux / Unixでは、.tar.gzと.Zipは関係ありますか?

クロスプラットフォームプログラムは、Unixバージョンの場合は.tar.gz、Windowsバージョンの場合は.Zipとして配布されることがあります。これは、それぞれの内容が異なる必要がある場合に意味があります。

ただし、コンテンツが同じになる場合は、ダウンロードを1つにするだけの方が簡単です。 Windowsは.Zipを優先します。これは、そのままで処理できる形式だからです。 Unixでは問題ですか?つまり、私は本日、Ubuntu Linuxでファイルを解凍しようとしましたが、正常に機能しました。現在のUnixライクなオペレーティングシステムでこれに問題はありますか、それとも.Zipファイルを全面的に提供しても大丈夫ですか?

73
rwallace

ネクロマンシング。
はい、重要です。
実際には、状況によって異なります。

tar.gz

  • NIXファイルの属性を保存:uid、gid、権限(特に実行可能ファイル)。デフォルトはディストリビューションによって異なり、オプションで切り替えることができます。
  • アーカイブするすべてのファイルを1つのファイルに統合します(「テープアーカイブ」)。
  • 実際の圧縮はGZIPによって1つの.tarファイルで行われます

Zip

  • MSDOS属性を格納。 (アーカイブ、読み取り専用、非表示、システム)
  • 各ファイルを個別に圧縮してから、個別に圧縮されたファイルを1つのファイルに統合します
  • ファイルの最後にファイルテーブルを含める

Zipはファイルを個別に圧縮するため、ほとんどの場合、Zipアーカイブのサイズは大きくなります(特に、多くの小さなファイルの場合-構成ファイルと考えてください)。

つまり、ファイルサイズから見て、Linux/Unixで大量のファイルをZip圧縮してから解凍すると、ファイル属性は失われます(少なくともMS-DOSでサポートされていないファイルは-Zipによって異なります) -使用するソフトウェア)。これは重要な場合とそうでない場合がありますが、その場合は問題になりません(ファイルサイズの違いはほとんどの場合無視できるため)。

36
Quandary

tar gzは、スクリプトで「実行可能」などの権限を保持するため、Linux/Unixに適しています。

35
Zam

最近の最も人気のあるLinuxディストリビューションは、デフォルトでZip互換性を備えています。しかし、nc3bで述べられているように、targzipはLinux/Unixシステムではより一般的です。これらのシステムで95%の互換性が必要な場合は、tarおよびgzipの使用を検討してください。 85%しか必要ない場合は、Zipで問題ありません。

33
BloodPhilia

アーカイブ全体を解凍する必要がないため、アーカイブにランダムにアクセスしたり、更新したり、検証したり、追加したりすることはできないため、tar/gzipはかなり扱いにくい形式です。

その点でZipの方がはるかに優れています。..Zipファイルの内容をすばやく取得したり、最初の部分を再圧縮することなくファイルに追加したりできます。

Zipにはいくつかのサイズ制限があります...使用する「Zip」のバージョンによっては...これらは問題になる可能性があります。しかし、ほとんどのLinuxライクなOSに付属している標準のinfo-Zipツールにはサイズの制限がなく、ファイルのアクセス許可が適切に保持されます。

参照:機能については https://en.wikipedia.org/wiki/Info-Zip

20
Erik Aronesty

Barebones Unixのインストールにはnzip(つまりサーバーのインストール)は含まれませんが、常にtargzipが含まれます。あなたの聴衆がサーバーなら、私はgzipに行きます。

また、gzipZipよりも圧縮率が高いため、ファイルは小さくなります。

9
Rwky

はい、それは重要です。 Tarはアーカイバです。そしてtar.gzでは、そのアーカイブを圧縮します。

Zipはアーカイバであり、コンプレッサでもあります。

圧縮を比較すると、私の経験から、gzipはZipよりもはるかに優れています。

そして、他の重要な違いは another answer で述べられています。非常に大きなファイルアーカイブがあり、小さなファイルを抽出したい場合は、Zipを使用して実行できます。しかし、tar.gzでは、アーカイブ全体を抽出する必要があります。

3
Rakesh Reddy

決定は基本的にこれらに帰着します:

  • GZIPは、ファイルの実行を許可されているため、Unix file permissionsを保持します。

  • 一方、ZipはWindowsではそのままで機能します。

targzipは* nix-esではunzipよりもはるかに一般的です。たとえば、現時点ではArch-2009.08にはunzipはありません。

1
nc3b