8.7. Bzip2-1.0.8

Bzip2 パッケージはファイル圧縮、伸長 (解凍) を行うプログラムを提供します。 テキストファイルであれば、これまでよく用いられてきた gzip に比べて bzip2 の方が圧縮率の高いファイルを生成できます。

概算ビルド時間: less than 0.1 SBU
必要ディスク容量: 7.2 MB

8.7.1. Bzip2 のインストール

本パッケージのドキュメントをインストールするためにパッチを適用します。

patch -Np1 -i ../bzip2-1.0.8-install_docs-1.patch

以下のコマンドによりシンボリックリンクを相対的なものとしてインストールします。

sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile

man ページのインストール先を正しいディレクトリに修正します。

sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile

Bzip2 をコンパイルするための準備をします。

make -f Makefile-libbz2_so
make clean

make パラメーターの意味

-f Makefile-libbz2_so

このパラメーターは Bzip2 のビルドにあたって通常の Makefile ファイルではなく Makefile-libbz2_so ファイルを利用することを指示します。 これはダイナミックライブラリ libbz2.so をビルドし Bzip2 の各種プログラムをこれにリンクします。

パッケージのコンパイルとテストを行います。

make

パッケージをインストールします。

make PREFIX=/usr install

共有ライブラリをインストールします。

cp -av libbz2.so.* /usr/lib
ln -sv libbz2.so.1.0.8 /usr/lib/libbz2.so

共有化された bzip2 実行モジュールを /usr/bin ディレクトリにインストールします。 またシンボリックリンクにより bzip2 のコピーを 2 つ作ります。

cp -v bzip2-shared /usr/bin/bzip2
for i in /usr/bin/{bzcat,bunzip2}; do
  ln -sfv bzip2 $i
done

不要なスタティックライブラリを削除します。

rm -fv /usr/lib/libbz2.a

8.7.2. Bzip2 の構成

インストールプログラム: bunzip2 (bzip2 へのリンク), bzcat (bzip2 へのリンク), bzcmp (bzdiff へのリンク), bzdiff, bzegrep (bzgrep へのリンク), bzfgrep (bzgrep へのリンク), bzgrep, bzip2, bzip2recover, bzless (bzmore へのリンク), bzmore
インストールライブラリ: libbz2.so
インストールディレクトリ: /usr/share/doc/bzip2-1.0.8

概略説明

bunzip2

bzip2 で圧縮されたファイルを解凍します。

bzcat

解凍結果を標準出力に出力します。

bzcmp

bzip2 で圧縮されたファイルに対して cmp を実行します。

bzdiff

bzip2 で圧縮されたファイルに対して diff を実行します。

bzegrep

bzip2 で圧縮されたファイルに対して egrep を実行します。

bzfgrep

bzip2 で圧縮されたファイルに対して fgrep を実行します。

bzgrep

bzip2 で圧縮されたファイルに対して grep を実行します。

bzip2

ブロックソート法 (バロウズ-ホイラー変換) とハフマン符号化法を用いてファイル圧縮を行います。 圧縮率は、従来用いられてきたLempel-Zivアルゴリズムによるもの、例えば gzip コマンドによるものに比べて高いものです。

bzip2recover

壊れた bzip2 ファイルの復旧を試みます。

bzless

bzip2 で圧縮されたファイルに対して less を実行します。

bzmore

bzip2 で圧縮されたファイルに対して more を実行します。

libbz2

ブロックソート法 (バロウズ-ホイラー変換) による可逆的なデータ圧縮を提供するライブラリ。