コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

lzip

出典: フリー百科事典『ウィキペディア(Wikipedia)』
lzip
開発元 Antonio Diaz Diaz
初版 2008年 (16年前) (2008)
最新版
1.24.1[1] ウィキデータを編集 / 2024年3月1日 (9か月前)
リポジトリ ウィキデータを編集
プログラミング
言語
C++またはC言語
対応OS
プラットフォーム クロスプラットフォーム
サポート状況 開発中
種別 データ圧縮
ライセンス GNU GPLのバージョン2かそれ以降[2]自由ソフトウェア
公式サイト www.nongnu.org/lzip/ ウィキデータを編集
テンプレートを表示
lzip
拡張子.lz
MIMEタイプapplication/lzip
マジック
ナンバー
0x4C 0x5A 0x49 0x50'LZIP'
開発者Antonio Diaz Diaz
種別データ圧縮
オープン
フォーマット
Yes

lzipは、Lempel-Ziv-Markov chain-Algorithm(LZMA)を使用し、gzipbzip2などのよくあるUnix系の圧縮ツールの利用者に馴染み深いユーザインタフェースを備えたデータを圧縮するための自由コマンドラインツールである。

gzipbzip2と同様に、複数のファイルを圧縮するための結合をサポートしているが、tarcpioなどの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と共に使用するだけでは不十分である。
  • tarlztarlzipを組み合わせて、RARや7-Zipのような現代的なアーカイバとよく似た並列アーカイバを作る。ソリッド圧縮ブロックはtarファイルの境界に合わせて配置されるので、ファイルを展開するにはその特定のメンバーブロックを展開するだけで済む。

採用

[編集]

インストール方法

[編集]

一般的なLinuxディストリビューションでは、lzipは通常公式パッケージリポジトリからインストールできる[7][8]

Cygwinは保守されているオプションのパッケージとしてlzipを提供しており[注釈 4]、GNU tarユーティリティプログラムは.lzアーカイブをサポートしている[注釈 5]Mingw-w64MSYS2で保守されているパッケージを通じてlzipを配布している[注釈 6]

サポート

[編集]
  • GNU Autotoolsはlzipをサポートしている。AM_INIT_AUTOMAKEdist-lzipを追加するとlzipで圧縮されたtarアーカイブを構築する[9]
  • GNU tarのバージョン1.23以降では透過的にファイルを圧縮するためにlzipを利用できる[10]
  • GNOMEFile Rollerはlzipファイルをサポートしている。

アプリケーション

[編集]

脚注

[編集]

注釈

[編集]
  1. ^ lzip -0
  2. ^ lzip -9
  3. ^ マルチボリュームアーカイブを作成するための分割出力も同様。
  4. ^ セットアップインストーラーのアーカイブカテゴリ。
  5. ^ アーカイブの作成時に--lzipオプションを使用する。
  6. ^ pacman -S lzipでインストールできる。

出典

[編集]
  1. ^ "Lzip 1.24.1 released"; 作品または名前の言語: 英語; 出版日: 2024年3月3日; 閲覧日: 2024年3月4日.
  2. ^ a b c Lzip - LZMA lossless data compressor”. www.nongnu.org. 2024年4月9日閲覧。
  3. ^ Brian Lindholm (May 2009), “New Options in the World of File Compression” (ドイツ語), Linux Gazette (162), http://linuxgazette.net/162/lindholm.html 2011年1月7日閲覧。 
  4. ^ 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.”
  5. ^ 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).”
  6. ^ The lzip format” (英語). www.nongnu.org. 2024年4月9日閲覧。
  7. ^ Debian -- パッケージ検索結果 -- lzip”. packages.debian.org. 2024年4月9日閲覧。
  8. ^ lzip - Fedora Packages” (英語). packages.fedoraproject.org. 2024年4月9日閲覧。
  9. ^ List of Automake options (automake)” (英語). www.gnu.org. 2024年4月9日閲覧。
  10. ^ GNU tar 1.35: 8.1.1 Creating and Reading Compressed Archives” (英語). www.gnu.org. 2024年4月9日閲覧。
  11. ^ Time Zone Database” (英語). www.iana.org. 2024年4月9日閲覧。
  12. ^ Index of /pub/linux-libre/releases/6.8.4-gnu” (英語). www.linux-libre.fsfla.org. 2024年4月9日閲覧。
  13. ^ Dumps” (英語). parltrack.org. 2024年4月9日閲覧。
  14. ^ Zip” (英語). pds.nasa.gov. 2024年4月9日閲覧。
  15. ^ The GNU MP Bignum Library” (英語). gmplib.org. 2024年4月9日閲覧。
  16. ^ Index of /gnu/ed” (英語). ftp.gnu.org. 2024年4月9日閲覧。

関連項目

[編集]

外部リンク

[編集]