第 28章ソフトウェアの管理(turbo+)

28.1. パッケージ管理ツールの概要

Turbolinux のソフトウェアはパッケージという単位で管理されています。パッケージには、ソフトウェアのバイナリファイル、設定ファイル、ドキュメントなど、そのソフトウェアに関連するファイルが含まれています。ソフトウェアをパッケージ単位で管理することによって、ソフトウェアのインストール、アンインストール、アップグレード等の作業が容易となります。Linux で利用されているパッケージ管理システムには、いくつかの種類がありますが 、Turbolinux では、RPM(Red Hat Package Manager)と呼ばれるパッケージ管理システムを採用しています。RPM パッケージは、Linux で標準になりつつあるソフトウェア配布手段の 1 つで、多くのディストリビューションが採用しています。しかし、パッケージのインストールやアンインストールを行うには、パッケージ間の依存関係を解決する必要があるため、ほれほど単純な作業ではありません。例えば、RPM の管理コマンドである rpm でパッケージのインストールを試みると、以下のようなメッセージが出力されることがあります。

# rpm -ivh package2.i686.rpm
error: failed dependencies:
        package1 >= 2.0.0 is needed by package2

これは、package2 をインストールするためには、バージョン 2.0.0 以上の package1 が必要であることを表しています。この例のようにパッケージが 2 つであれば以下のように rpm コマンドを実行しインストールすることができます。

# rpm -ivh package1.i686.rpm package2.i686.rpm
   1:package1           ########################################### [ 50%]
   2:package2           ########################################### [100%]

しかし、パッケージによっては 1 つのパッケージをインストールするために数十個のパッケージを同時にインストールしなければならないものもあります。例えば rpm -e --test コマンドを実行して Apache Web サーバーのパッケージである httpd のアンインストールを試行してみます。

# rpm -e --test httpd
エラー: 依存性の欠如:
        httpd-mmn = 20051115 は (インストール済み)mod_ssl-2.2.6-4.i686 に必要と されています
        webserver は (インストール済み)mailman-2.1.9-4.i686 に必要とされています
        httpd >= 2.0.40 は (インストール済み)php-pear-log-1.9.11-2.noarch に必要とされています
        httpd >= 2.0.40 は (インストール済み)horde-3.1.4-3.noarch に必要とされています
        httpd = 2.2.6-4 は (インストール済み)httpd-manual-2.2.6-4.i686 に必要と されています
        httpd >= 2.0.40 は (インストール済み)imp-4.1.4-3.noarch に必要とされています
        httpd >= 2.0.50 は (インストール済み)mod_auth_kerb-5.3-1.i686 に必要とされています
        httpd >= 2.0.47 は (インストール済み)mod_perl-2.0.3-2.i686 に必要とされ ています
        httpd >= 2.0.50 は (インストール済み)mod_ruby-1.2.6-1.i686 に必要とされ ています
        httpd = 2.2.6-4 は (インストール済み)mod_ssl-2.2.6-4.i686 に必要とされています
        httpd = 2.2.6-4 は (インストール済み)httpd-devel-2.2.6-4.i686 に必要とされています

多くのパッケージが httpd を必要としているためアンインストールできないことがわかります。Linux 上で動いているアプリケーションは、このように様々なパッケージが共存、協調しあい動作しています。あるパッケージをインストールするためには、何のパッケージと共にインストールしなければならないのかを知るには、ある程度の知識と経験が必要になります。その逆に、あるパッケージをアンインストールするには、そのパッケージを必要としている他のパッケージを事前にアンインストールしておかなければなりません。このような問題を解消するために、パッケージ間の依存関係を自動で調査し、その結果をシステム管理者に伝え、必要であれば複数のパッケージを同時にインストール、またはアンインストールしてくれるのかパッケージ管理ツール turbo+ です。

この章では、turbo+ を操作してパッケージをインストール、アンインストール、アップデートする手順について解説します。