lzip
この項目「Lzip」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:英語版 "lzip" 2024年4月8日 (月) 14:54 (UTC)) 修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2024年4月) |
開発元 | Antonio Diaz Diaz |
---|---|
初版 | 2008年 |
最新版 | |
リポジトリ | |
プログラミング 言語 | C++またはC言語 |
対応OS | |
プラットフォーム | クロスプラットフォーム |
サポート状況 | 開発中 |
種別 | データ圧縮 |
ライセンス | GNU GPLのバージョン2かそれ以降[2](自由ソフトウェア) |
公式サイト | www |
拡張子 | .lz |
---|---|
MIMEタイプ | application/lzip |
マジック ナンバー | 0x4C 0x5A 0x49 0x50 ('LZIP' ) |
開発者 | Antonio Diaz Diaz |
種別 | データ圧縮 |
オープン フォーマット | Yes |
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]。
サポート
[編集]- GNU Autotoolsはlzipをサポートしている。
AM_INIT_AUTOMAKE
にdist-lzip
を追加するとlzipで圧縮されたtarアーカイブを構築する[9]。 - GNU tarのバージョン1.23以降では透過的にファイルを圧縮するためにlzipを利用できる[10]。
- GNOMEのFile Rollerはlzipファイルをサポートしている。
アプリケーション
[編集]- LinuxディストリビューションのDragora GNU/Linux-Libreはソフトウェアパッケージにlzipを採用している。
- lzipはIANAのTime Zone Databaseと[11]、GNUによるLinuxカーネルを配布するために使用されている[12]。
- 欧州議会はデータベースの完全なダンプをlzipで圧縮されたJSONフォーマットで公開している[13]。
- lzipはアメリカ航空宇宙局の惑星データシステム(PDS)で使用されている[14]。
- GNU Multi-Precision Library[15](GMP)、GNU ed[16]はパッケージをlzipで配布している。
脚注
[編集]注釈
[編集]出典
[編集]- ^ "Lzip 1.24.1 released"; 作品または名前の言語: 英語; 出版日: 2024年3月3日; 閲覧日: 2024年3月4日.
- ^ 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) 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日閲覧。