第15章 RPM でのパッケージ管理

RPM Package Manager(RPM)は、誰でも使用できるオープンパッケージシステムであり、Red Hat Enterprise Linux や他の Linux システムや UNIX システムで実行できます。Red Hat, Inc は、他のベンダーが独自の製品に RPM を使用することを推奨しています。RPM は、GPL の用語で配布可能です。
RPM を使用すると、エンドユーザーはシステムの更新を簡素化します。RPM パッケージのインストール、アンインストール、およびアップグレードは、短いコマンドで実行できます。RPM はインストールされたパッケージとそのファイルのデータベースを維持するため、システムで強力なクエリーと検証を呼び出すことができます。グラフィカルインターフェースを使用する場合は、Package Management Tool を使用して多くの RPM コマンドを実行できます。
アップグレード中、RPM は設定ファイルを誤って処理するため、カスタマイズを失うことはありません。通常の .tar.gz ファイルで実行できません。
開発者は、RPM を使用して、ソフトウェアソースコードを取り、エンドユーザー向けのソースパッケージとバイナリーパッケージにパッケージ化できます。このプロセスは非常にシンプルで、単一のファイルと作成するオプションのパッチから実行されます。ビルド命令とともに、 のソースとパッチの区別が明確になり、新しいバージョンのソフトウェアがリリースされると、パッケージのメンテナンスが容易になります。
備考
RPM はシステムに変更を加えるため、RPM パッケージのインストール、削除、またはアップグレードを行う root でなければなりません。

15.1. RPM 設計ゴール

RPM の使用方法を理解するには、RPM の設計目標を理解すると便利です。
アップグレード可能性
RPM を使用すると、完全に再インストールせずにシステムの個々のコンポーネントをアップグレードできます。RPM(Red Hat Enterprise Linux など)をベースとしたオペレーティングシステムの新しいリリースを取得する場合は、マシンに再インストールする必要はありません(他のパッケージシステムに基づいたオペレーティングシステムと同様)。RPM は、システムのインテリジェントな完全自動インプレースアップグレードを可能にします。パッケージの設定ファイルはアップグレード後も保持されるため、カスタマイズは失われません。パッケージのアップグレードに必要な特別なアップグレードファイルはありません。システムのパッケージのインストールとアップグレードに同じ RPM ファイルが使用されるためです。
強力なクエリ
RPM は、強力なクエリーオプションを提供するように設計されています。パッケージや特定のファイルのみをデータベース全体で検索できます。また、ファイルが属するパッケージや、パッケージの出所を簡単に見つけることもできます。RPM パッケージに含まれるファイルは圧縮アーカイブにあり、カスタムバイナリーヘッダーにはパッケージとそのコンテンツに関する有用な情報が含まれており、個々のパッケージを素早く簡単にクエリーできます。
システムの検証
別の強力な機能は、パッケージを検証する機能です。一部のパッケージで重要なファイルを削除した場合には、パッケージを検証します。異常が通知されます。この時点で、必要に応じてパッケージを再インストールできます。変更した設定ファイルは再インストール時に保持されます。
純粋なソース
重要な設計目的は、ソフトウェアの元の作成者によって配布される「元の」ソフトウェアソースを使用できるようにしたことでした。RPM では、元のソースと、使用されたパッチ、完全なビルド命令があります。これは、いくつかの理由で重要な利点です。たとえば、新しいバージョンのプログラムが除外している場合には、コンパイルを行うために必ずしもゼロから開始する必要はありません。パッチを確認して、必要 内容を確認できます。コンパイルされたすべてのデフォルトと、ソフトウェアが適切にビルドできるように加えられたすべての変更は、この手法を使用して簡単に表示できます。
ソースを純粋に保つことの目的は開発者にとってのみ重要だと思われますが、エンドユーザーにとっても品質の高いソフトウェアになります。