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

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

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

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

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

注意注記
 

RPM はシステムに変更を加えるため、RPM パッケージの インストール、削除、アップグレードを行なうには、rootになる必要があります。

16.1. RPM の設計目標

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

アップグレードの可能性

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

強力な問い合わせ

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

システムの検証

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

純粋なソース

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

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