第12章 RPM でのパッケージ管理
RPM Package Manager (RPM)は、Red Hat Enterprise Linux やその他の Linux システムおよび UNIX システムで実行されるオープンパッケージシステムです。Red Hat, Inc. は、他のベンダーが独自の製品に RPM を使用することを推奨します。RPM は GPL の用語で配布されます。
この ユーティリティーは、
rpm
パッケージによって処理されるように構築されたパッケージでのみ機能します。エンドユーザーの場合、RPM によりシステムの更新が容易になります。RPM パッケージのインストール、アンインストール、およびアップグレードは、短いコマンドで実行できます。RPM は、インストールされたパッケージとそのファイルのデータベースを維持するため、システム上で強力なクエリーと検証を呼び出すことができます。グラフィカルインターフェイスを使用する場合は、Package Management Tool を使用して多くの RPM コマンドを実行できます。詳細は、13章パッケージ管理ツール を参照してください。
重要
パッケージをインストールする際には、お使いのオペレーティングシステムとアーキテクチャーと互換性があることを確認してください。これは通常、パッケージ名を確認して判断できます。
アップグレード時に、RPM は設定ファイルを慎重に処理するため、カスタマイズを失うことはありません(通常の
.tar.gz
ファイルで実行できないもの)。
開発者の場合、RPM を使用すると、ソフトウェアのソースコードを取得して、エンドユーザー向けにソースパッケージとバイナリーパッケージにパッケージ化できます。このプロセスは非常にシンプルで、1 つのファイルおよび任意のパッチから実行されます。これにより、元 のソースとパッチ間の明確な説明と、新しいバージョンのソフトウェアがリリースされると、パッケージのメンテナーンスが容易になります。
注記
RPM はシステムに変更を加えるため、RPM パッケージのインストール、削除、またはアップグレードを行うには、root でログインする必要があります。
12.1. RPM 設計ゴール
RPM の使用方法を理解するには、RPM の設計目的を理解すると便利です。
- アップグレード可能性
- RPM を使用すると、完全に再インストールしなくても、システムの個別コンポーネントをアップグレードすることができます。RPM (Red Hat Enterprise Linux など)に基づくオペレーティングシステムの新しいリリースを取得する場合は、(他のパッケージシステムに基づくオペレーティングシステムと同様に)マシンに を再インストールする必要はありません。RPM を使用すると、システムのインテリジェントな完全自動化のインプレースアップグレードが可能になります。パッケージの設定ファイルはアップグレード後も保持されるため、カスタマイズを失うことはありません。パッケージをアップグレードするのに特別なアップグレードファイルは必要ありません。これは、同じ RPM ファイルを使用してシステムにパッケージをインストールおよびアップグレードするためです。
- 強力なクエリー
- RPM は、強力なクエリーオプションを提供するように設計されています。データベース全体からパッケージの検索や、特定のファイルの検索が可能です。また、どのパッケージがパッケージに属しているかを簡単に確認することもできます。また、パッケージが存在する場所から簡単に確認することができます。RPM パッケージに含まれるファイルは圧縮アーカイブにあり、パッケージとそのコンテンツに関する有用な情報が含まれるカスタムのバイナリーヘッダーとともに、個々のパッケージにすばやく簡単にクエリーできます。
- システムの検証
- もう 1 つの強力な RPM 機能は、パッケージを検証する機能です。一部のパッケージで重要なファイルを削除した場合は、パッケージを確認できます。その後、異常が通知されます。その時点では、必要に応じてパッケージを再インストールできます。変更した設定ファイルは、再インストール時に保持されます。
- 純粋なソース
- 重要な設計目標は、ソフトウェアの元の作成者が配布する 初期 ソフトウェアソースを使用できるようにすることでした。RPM では、元のソースと、使用されたパッチ、完全なビルド命令があります。これは、いくつかの理由で重要な利点です。たとえば、新しいバージョンのプログラムがリリースされた場合は、コンパイルするためにゼロから開始する必要はありません。パッチを確認して、必要 な 操作を確認できます。コンパイル済みのデフォルトと、適切に構築するためにソフトウェアを正しく構築するために行われたすべての変更については、この手法を使用して簡単に確認できます。ソースを保持する目的は、開発者にとってのみ重要であると思われるかもしれませんが、エンドユーザー向けの品質の高いソフトウェアも向上します。