LZMA圧縮されたファイルの扱いについて
(2008/9/1)ここで扱っているのは、LZMA圧縮/伸長に関するコマンドについて。GUIツールに関しては、GNOMEの書庫マネージャ(File Roller)が(バージョン2.22系の時点では)対応していて、他の書庫ファイルの形式と同様に書庫の作成、書庫内ファイル/ディレクトリの閲覧・追加・削除・取り出しといった操作が行える。また、ドラッグ・アンド・ドロップにより、ファイルマネージャと併用しての書庫への追加と書庫からの取り出しが行えるのも便利。
(2009/12/16)ここで扱うツールはXZ Utilsとして新しくなり、形式もXZという形式へと置き換えられている。今後はこちらを用いることが推奨される。「XZ圧縮されたファイルの扱いについて(前半)」と「XZ圧縮されたファイルの扱いについて(後半)」も参照。
LZMA Utilsについて
1つのファイルを圧縮/伸長するコマンドとして、gzipやbzip2がある。これらには、圧縮以外のzcatやzlessなど、圧縮されたファイルを簡単に扱えるような処理を持つツールも付属する。
LZMA Utilsというツール群は、bzip2よりも圧縮率の高いLZMAアルゴリズム*1を使用していて、扱い方も先の2つのツール群にならっている。
関連URL:
- http://tukaani.org/lzma/ - LZMA Utilsの本家
コマンドの比較
処理 | gzip | bzip2 | LZMA Utils |
---|---|---|---|
圧縮*2 | gzip | bzip2 | lzma |
伸長*3 | gunzip | bunzip2 | unlzma |
圧縮された各ファイルをそれぞれ伸長し、それらを結合したものを標準出力へ | zcat | bzcat | lzcat |
圧縮されたファイルを伸長してページャ*4表示*5 | zless | bzless | lzless |
圧縮されたファイルを伸長して比較*6 | zdiff | bzdiff | lzdiff |
圧縮されたファイルを伸長して検索*7 | zgrep | bzgrep | lzgrep |
tarボールをLZMA圧縮
gzipやbzip2と同様、tarボール*8の圧縮に使用されることもある。圧縮されたファイルの拡張子は「.tar.lzma」が用いられる他、「.tlz」が使用されることもある。
tar 1.19以下の場合
gzipやbzip2と違い、コマンドを1つ実行するだけではダメなので、パイプを使用して2段階で処理する。
(作成・端末出力なし) $ tar cf - [ファイルやディレクトリ...] | lzma > [ファイル名].tar.lzma (作成・詳細出力) $ tar cvf - [ファイルやディレクトリ...] | lzma > [ファイル名].tar.lzma (展開・端末出力なし) $ lzcat [ファイル名].tar.lzma | tar xf - (展開・詳細出力) $ lzcat [ファイル名].tar.lzma | tar xvf -
tar 1.20以上の場合
バージョン1.20以上のtarでは、パイプを使用した上の方法の他に、--lzmaオプションを付けることで、1つのコマンドで処理ができる。バージョン1.20の時点では短縮オプション*9はないようだ。
(作成・端末出力なし) $ tar cf [ファイル名].tar.lzma --lzma [ファイルやディレクトリ...] (作成・詳細出力) $ tar cvf [ファイル名].tar.lzma --lzma [ファイルやディレクトリ...] (展開・端末出力なし) $ tar xf [ファイル名].tar.lzma --lzma (展開・詳細出力) $ tar xvf [ファイル名].tar.lzma --lzma
関連記事:
使用したバージョン:
- LZMA Utils 4.32.5
- tar 1.19(1.19-r1), 1.20