第 32章RPMによるパッケージ管理

Red Hat Package Manager(RPM)は、誰もが利用できるオープン パッケージングシステムで、Red Hat Linuxだけでなく他のLinuxや UNIXシステム上でも動作します。Red Hat, Inc.では、他のベンダーに も RPM を自社製品に使用するよう奨励しています。RPM はGPL契約 に基づいて配布されます。

エンドユーザーは RPMによりシステムを簡単に更新することが できます。RPM パッケージのインストール、アンインストール、 アップグレードは短いコマンドで実行できます。RPM は インストールされているパッケージやそのファイル群に関する データベースを維持しているので、システムで強力な問い合わせ/ 検証を実行することができます。グラフィカルインターフェイス で使用したい場合は、パッケージ管理ツール を使用して多くのRPM コマンドを実行することができます。 詳細は第33章を参照してください。

アップグレード時に、RPM は設定ファイルを慎重に処理するため カスタマイズ情報が失われることはありません — 普通の .tar.gzファイルなどを使用した場合は、 このような機能を実現することができません。

開発者は、RPM を使用することにより、ソフトウェアのソースコード を取り出し、エンドユーザー用にソースとバイナリパッケージに パッケージ化することができます。このプロセスは極めて単純 で、ひとつのファイルと作成するオプションのパッチから操作する ことができます。ソフトウェアの新しいバージョンがリリース された場合でも、この「純粋な」ソースを明確に記述したファイル、 パッチ、ビルド命令を使用することで容易にパッケージを保守する ことができます。

注意注意
 

RPM はシステムに変更を加えるため、RPM パッケージの インストール、削除、アップグレードはrootで実行します。

32.1. RPM の設計目標

RPM の使用方法を理解するために、RPM の設計目標を理解する とわかりやすいでしょう。

アップグレードの可能性

RPM を使用すれば、コンポーネントを完全に 再インストールすることなく、個別にコンポーネントを アップグレードすることができます。RPM に基づく オペレーティングシステム(Red Hat Linuxなど)の新しいバージョン を入手したときに、マシンに再インストールする必要が ありません(他のパッケージングシステムに基づく オペレーティングシステムの場合はその必要があります)。 RPM を使用すれば、賢く、完全に自動化された、適切な システムのアップグレードを行うことができます。 パッケージに含まれる設定ファイルはアップグレード後 にも保持されるので、カスタマイズ情報が失われること はありません。システムへのパッケージのインストール とアップグレードでは同じRPM ファイルが使用されるため、 パッケージをアップグレードするために特別なアップ グレードファイルが必要になることはありません。

強力な問い合わせ

RPM では、強力な問い合わせオプションが提供されて います。データベース全体を通じてパッケージを検索したり、 特定のファイル群のみを検索したりすることができます。 あるファイルがどのパッケージに属し、パッケージがどこから 来たのかをも簡単に検索することができます。RPM パッケージ に含まれるファイルは圧縮アーカイブ形式であり、パッケージと その内容に関する有用な情報を含むカスタムバイナリヘッダーが 付いているため、個別のパッケージをすばやく簡単に問い合わせ することができます。

システムの検証

もう1つの強力な特徴は、パッケージの検証が可能で あるということです。パッケージに関する重要ファイルを削除 してしまったのではないかと心配になった場合には、パッケージを 検証すればよいのです。何か矛盾があれば通知されます。 その時点で必要であればそのパッケージを再インストールする ことができます。再インストールを行っても、修正した設定 ファイルは保持されます。

純粋なソース

最終的な設計目標は、ソフトウェアのオリジナル作者に よって配布されたときのままの「純粋な」ソフトウェアソースを ユーザーが利用できるようにすることでした。RPM を使用した場合、 純粋なソースと適用済みのパッチ、完全なビルド命令群が入手 できます。いくつかの理由から、これは大きなメリットとなります。 たとえば、あるプログラムの新しいバージョンがリリースされた 場合、それをコンパイルするために必ずしも最初から作業を始める 必要はなくなります。パッチを見て、必要になるかも しれない作業を確かめることができます。この技術を 使えば、組み込み済みのすべてのデフォルト設定と、ソフトウェア を適切に構築するために行われたすべての変更内容が、容易に目 に見えるようになります。

ソースを純粋な状態に保持するという目標は、開発者に とってのみ重要なことのように思われるかもしれませんが、 結果として、エンドユーザーにより高品質のソフトウェアが 提供されることにもなります。純粋なソースのコンセプトを最初 に考え出したBOGUSディストリビューションの皆様に感謝の意を 表したいと思います。