lzip は、Lempel-Ziv-Markov chain-Algorithm (LZMA)を使用し、gzip やbzip2 などのよくあるUnix系 の圧縮ツールの利用者に馴染み深いユーザインタフェースを備えたデータを圧縮するための自由 なコマンドライン ツールである。
gzip やbzip2 と同様に、複数のファイルを圧縮するための結合 をサポートしているが、tar やcpio などのUnix系のプログラムによってアーカイブファイルにまとめてから圧縮するのが慣例である。lzipはマルチボリュームアーカイブを作成するために出力を分割できる。
lzipはgzipと同程度の速度での圧縮か[ 注釈 1] 、殆どのファイルをbzip2よりも圧縮できる[ 注釈 2] [ 2] 。また、gzipとbzip2の中間の速度で展開できる[ 2] 。
lzipによって生成されるファイルには通常拡張子 として.lz
が付けられ、メディアタイプ はapplication/lzip
となる。
lzipのプログラム群はAntonio Diaz DiazによってC++ とC言語 で書かれており、GNU General Public License (GNU GPL)のバージョン2かそれ以降の条件に基づいて自由ソフトウェア として配布されている。
歴史
7-Zip は2000年に公開された。Unix系オペレーティングシステムでLZMAを使用するツールが利用できるようになったのは、2004年に7-Zipのコマンドライン版の移植版のp7zip
が公開されて以降である。同年、lzma_alone
と呼ばれるプログラムを含むLZMA SDK (ソフトウェア開発キット)が公開された。それから1年以内にLasse Collinが(当初は)lzma_alone
にgzip風のインタフェースを実装するラッパースクリプト群だけで構成されたLZMA Utils を公開した。2008年、Antonio Diaz Diazは生のLZMAデータストリームの代わりにチェックサムとマジックナンバー を含むコンテナフォーマット を使用するlzipを公開し、LZMAを使用するための完全なUnix様式の解決策を提供した。それにも関わらず、LZMA Utilsは同様の機能を持つように拡張され、XZ Utils に改名された[ 3] 。
機能
ファイルの整合性
lzipは「マルチメンバーアーカイブ」と呼ばれる独立して展開できるデータセクションを持つアーカイブを作成できる[ 注釈 3] [ 4] 。例えば、基礎となるファイルがtarアーカイブである場合、アーカイブの他の部分が破損している場合でも破損していないファイルを展開できる。
ファイルフォーマットに関しては、各圧縮ストリームの統合された32ビットチェックサム による整合性チェックの有効化に特に重点が置かれており[ 5] 、破損したデータを検出して再構築するためにlziprecover
プログラムと組み合わせて使用される。この回復ツールは各複製のファイルの異なる部分に損傷がある可能性のあるアーカイブの複数の複製を統合できる[ 4] 。
並列処理
lzipにはデフォルトのディストリビューションで提供される2つの並列処理用のインタフェースがある[ 6] 。
plzip
はあらゆるファイルを並列圧縮する。従来のtar
プログラムでは展開のためにファイルを見つける前にストリーム全体が必要であり、結果として非並列処理で展開が行われるので、これをtar
と共に使用するだけでは不十分である。
tarlz
はtar
とlzip
を組み合わせて、RAR や7-Zipのような現代的なアーカイバとよく似た並列アーカイバを作る。ソリッド圧縮 ブロックはtar
ファイルの境界に合わせて配置されるので、ファイルを展開するにはその特定のメンバーブロックを展開するだけで済む。
採用
インストール方法
一般的なLinuxディストリビューション では、lzipは通常公式パッケージリポジトリからインストールできる[ 7] [ 8] 。
Cygwin は保守されているオプションのパッケージとしてlzipを提供しており[ 注釈 4] 、GNU tarユーティリティプログラムは.lz
アーカイブをサポートしている[ 注釈 5] 。Mingw-w64 はMSYS2 で保守されているパッケージを通じてlzipを配布している[ 注釈 6] 。
サポート
アプリケーション
脚注
注釈
^ lzip -0
。
^ lzip -9
。
^ マルチボリュームアーカイブを作成するための分割出力も同様。
^ セットアップインストーラーのアーカイブカテゴリ。
^ アーカイブの作成時に--lzip
オプションを使用する。
^ pacman -S lzip
でインストールできる。
出典
^ "Index of /releases/lzip/" ; 閲覧日: 2025年1月19日.
^ a b c “Lzip - LZMA lossless data compressor ”. www.nongnu.org . 2024年4月9日 閲覧。
^ Brian Lindholm (May 2009), “New Options in the World of File Compression” (ドイツ語), Linux Gazette (162), http://linuxgazette.net/162/lindholm.html 2011年1月7日 閲覧。
^ a b Antonio Diaz Diaz. “Lzip Manual: Introduction ” (英語). 2024年4月9日 閲覧。 “Lzip can produce multimember files, and lziprecover can safely recover the undamaged members in case of file damage. Lzip can also split the compressed output in volumes of a given size, even when reading from standard input. This allows the direct creation of multivolume compressed tar archives.”
^ Antonio Diaz Diaz. “Lzip Manual: Introduction ” (英語). 2024年4月9日 閲覧。 “The member trailer stores the 32-bit CRC of the original data, the size of the original data, and the size of the member. These values, together with the "End Of Stream" marker, provide a 3-factor integrity checking which guarantees that the decompressed version of the data is identical to the original. This guards against corruption of the compressed data, and against undetected bugs in lzip (hopefully very unlikely).”
^ “The lzip format ” (英語). www.nongnu.org . 2024年4月9日 閲覧。
^ “Debian -- パッケージ検索結果 -- lzip ”. packages.debian.org . 2024年4月9日 閲覧。
^ “lzip - Fedora Packages ” (英語). packages.fedoraproject.org . 2024年4月9日 閲覧。
^ “List of Automake options (automake) ” (英語). www.gnu.org . 2024年4月9日 閲覧。
^ “GNU tar 1.35: 8.1.1 Creating and Reading Compressed Archives ” (英語). www.gnu.org . 2024年4月9日 閲覧。
^ “Time Zone Database ” (英語). www.iana.org . 2024年4月9日 閲覧。
^ “Index of /pub/linux-libre/releases/6.8.4-gnu ” (英語). www.linux-libre.fsfla.org . 2024年4月9日 閲覧。
^ “Dumps ” (英語). parltrack.org . 2024年4月9日 閲覧。
^ “Zip ” (英語). pds.nasa.gov . 2024年4月9日 閲覧。
^ “The GNU MP Bignum Library ” (英語). gmplib.org . 2024年4月9日 閲覧。
^ “Index of /gnu/ed ” (英語). ftp.gnu.org . 2024年4月9日 閲覧。
関連項目
外部リンク
アーカイブのみ 圧縮のみ アーカイブおよび圧縮 ソフトウェアパッケージ 文書パッケージ