web-dev-qa-db-ja.com

p7Zipはwinzipよりも小さいZipファイルを作成できますか?

7-Zip for WindowsはWinZipよりも小さいZipアーカイブを作成するため、おそらくP7ZipはLinuxのZipよりも小さいZipアーカイブを作成できます。では、LinuxでP7Zipを使用してZipファイルを作成するにはどうすればよいですか?

2
Nick

実験的に、7zZipよりも少しよく圧縮されます。 Winzipと比べてどうなのかわかりません。

$ Zip -q Zip.zip /bin/{bash,cp,ls}
$ Zip -q -9 Zip9.Zip /bin/{bash,cp,ls}
$ 7z a 7z.Zip /bin/{bash,cp,ls} >/dev/null
$ 7z -mx=9 a 7z9.Zip /bin/{bash,cp,ls} >/dev/null
$ du -ab *.Zip | sort -n
550617  7z9.Zip
559890  7z.Zip
576161  Zip9.Zip
578382  Zip.zip

数値オプション(Zipの場合は-9-mx=9の場合は7z)は、より良い圧縮率(0から9までのスケール)を達成するためにより多くの時間を費やすようにツールに指示します。 )。

Zip形式の代わりに7z形式を使用すると、圧縮率が向上します。欠点は、解凍にP7Zipが必要であり、Winzipがそれを処理できないことです。

$ 7z -mx=9 a 7z9.7z /bin/{bash,cp,ls} >/dev/null 
$ 7z a 7z.7z /bin/{bash,cp,ls} >/dev/null 
$ du -ab *.7z | sort -n
471964  7z9.7z
472415  7z.7z

ディストリビューションのパッケージからP7Zipをインストールします。それを含まない奇妙に不完全なディストリビューションがある場合は、 pstream から入手してください。 3つの実行可能ファイルがあります(個別にパッケージ化される場合もあります):7zrは7zアーカイブのみを処理し、7zは多くの一般的なアーカイブ形式(Zipを含む)を処理し、7zaは追加のプラグインをサポートします(rarに役立ちます。 7z自体にリンクされていない非フリーコードが必要です)。オプション-mを使用してアーカイブ形式を選択できますが、ツールがファイル名から形式を選択するため、通常はこれは必要ありません。