質問: linuxサーバーの構築について勉強している際に疑問に思うことがあったので質問させていただきます。 アプリケーションのインストール中、tar.xzという形式のファイルをたくさん扱いました。 ggったら、tarでアーカイブしてxzで圧縮しているとありましたが、なぜこの形式が使われているのでしょうか。 windowsのPCではzipと7zが使われることがほとんどで、これらの形式だとアーカイブも圧縮も同時にでき、tar.xzよりも優れているように思えます。 ggると、zipは32bitの場合4Gまでしか扱えないからと書いてありましたが、32bitの比率は4%だと見た覚えがあるし、4Gを超えるアプリケーションはほとんどないため明確な答えではないと思いました。 正直解凍が二度手間で面倒なので、理由が慣習とかならやめてもらいたいです... ご教授の程よろしくお願い致します。
回答: ZIPを避ける積極的な理由は今となってはないと思います。 ただ、tar.* からZIPに乗り換える積極的な理由も無いです。 tar + 圧縮 のメリットとしては、今あるファイルを圧縮方法だけtar内部にノータッチで変更できるくらいでしょうか。そんなに大きなメリットではないですが。 (昔)foo.tar.Z → foo.tar.gz → foo.tar.bz2 → foo.tar.xz(今) tarコマンドとzipコマンドの機能に差異はあると思いますが(unzipで解凍時に元のオーナー属性でって出来ましたっけ?)、それはコマンドの差異であってファイルフォーマットの問題じゃないし。 > > 正直解凍が二度手間で面倒なので、 > > > については、Linuxでつかうgnu tarであれば、解凍の時は自動判別するので、 `tar xf foo.tar.xz` のようにすれば解凍についてはよしなにやってくれます。gnu tarでなくても圧縮オプションを指定すれば1コマンドでOKです。 圧縮の時は、 `tar cJf foo.tar.xz bar` のようにオプションで圧縮の種類を指定する必要があります(xzはJ)。拡張子を見てやってくれるといいのですが、現時点ではそうでないようです。