付録B RPM
RPM Package Manager (RPM)は、Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux やその他の Linux システムおよび UNIX システムで実行するオープンパッケージシステムです。Red Hat, Inc. および Fedora Project は、他のベンダーが独自の製品に RPM を使用することを推奨しています。RPM is distributed under the terms of the GPL (GNU General Public License).
RPM Package Manager は、RPM 形式 と連携するように構築されたパッケージでのみ機能します。RPM 自体は、事前にインストールされた rpm パッケージとして提供されます。RPM を使用すると、エンドユーザーはシステムの更新を簡素化します。RPM パッケージのインストール、アンインストール、およびアップグレードは、短いコマンドで実行できます。RPM はインストールされたパッケージとそのファイルのデータベースを維持するため、システムで強力なクエリーと検証を呼び出すことができます。
Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 の RPM パッケージ形式が改善されました。RPM パッケージは、XZ ロスレスデータ圧縮形式を使用して圧縮され、圧縮解除時の圧縮や CPU の使用量が減り、パッケージの署名や検証用に SHA-256 などの強力なハッシュアルゴリズムをサポートするようになりました。
RPM の代わりに Yum を使用(可能な場合)
ほとんどのパッケージ管理タスクでは、Yum パッケージマネージャーは RPM よりも同等で、大きな機能やユーティリティーを提供します。yum は、複雑なシステム依存関係の解決も実行および追跡し、RPM を使用してパッケージのインストールおよび削除を行う場合でもシステムの整合性チェックを行い、強制的にチェックを行います。このような理由から、パッケージ管理タスクを実行するときはいつでも RPM の代わりに Yum を使用することを強く推奨します。8章Yumを参照してください。
グラフィカルインターフェースを使用する場合は、Yum をバックエンドとして使用する PackageKit GUI アプリケーションを使用してシステムのパッケージを管理できます。詳しくは、9章PackageKit を参照してください。
正しいアーキテクチャーで RPM パッケージをインストールする!
パッケージをインストールする際には、オペレーティングシステムおよびプロセッサーアーキテクチャーと互換性があることを確認してください。これは通常、パッケージ名を確認して判断できます。以下の例の多くは、AMD64/Intel 64 コンピューターアーキテクチャー用にコンパイルされた RPM パッケージを示しています。そのため、RPM ファイル名は
x86_64.rpm
で終わります。
アップグレード中、RPM は設定ファイルを誤って処理するため、通常の
.tar.gz
ファイルで実行できないカスタマイズも失われないようにします。
開発者は、RPM を使用して、ソフトウェアソースコードを取り、エンドユーザー向けのソースパッケージとバイナリーパッケージにパッケージ化できます。このプロセスは非常にシンプルで、単一のファイルと作成するオプションのパッチから実行されます。ビルド命令とともに、元 のソースとパッチの区別が明確になり、新しいバージョンのソフトウェアがリリースされると、パッケージのメンテナンスが容易になります。
rpm コマンドの実行は root として実行する必要があります。
RPM はシステムに変更を加えるため、RPM パッケージのインストール、削除、またはアップグレードを行うには root でログインする必要があります。
B.1. RPM 設計ゴール
RPM の使用方法を理解するには、RPM の設計目的を理解すると便利です。
- アップグレード可能性
- RPM を使用すると、完全に再インストールせずにシステムの個別コンポーネントをアップグレードできます。Red Hat Enterprise Linuxnbsp;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux などの RPM に基づいてオペレーティングシステムの新しいリリースを取得する場合は、マシンのオペレーティングシステムの新規コピーを再インストールする必要はありません(他のパッケージシステムに基づくオペレーティングシステムを使用する必要がある場合があります)。RPM は、システムのインテリジェントな完全自動インプレースアップグレードを可能にします。さらに、パッケージ内の設定ファイルはアップグレード後も保持されるため、カスタマイズは失われません。パッケージのアップグレードに必要な特別なアップグレードファイルはありません。システム上のパッケージのインストールとアップグレードの両方に同じ RPM ファイルが使用されるためです。
- 強力なクエリ
- RPM は、強力なクエリーオプションを提供するように設計されています。パッケージや特定のファイルのみに対してデータベース全体の検索を実行できます。また、ファイルが属するパッケージや、パッケージの出所を簡単に見つけることもできます。RPM パッケージに含まれるファイルは圧縮アーカイブにあり、カスタムバイナリーヘッダーにはパッケージとそのコンテンツに関する有用な情報が含まれており、個々のパッケージを素早く簡単にクエリーできます。
- システムの検証
- もう 1 つの強力な RPM 機能は、パッケージを検証する機能です。一部のパッケージで重要なファイルを削除した場合には、パッケージを確認することができます。その後、必要に応じてパッケージを再インストールできる時点で、異常が通知されます。変更した設定ファイルは再インストール時に保持されます。
- 純粋なソース
- 重要な設計目的は、ソフトウェアの元の作成者によって配布される Pristine ソフトウェアソースを使用できるようにしたことでした。RPM では、元のソースと、使用されたパッチ、完全なビルド命令があります。これは、いくつかの理由で重要な利点です。たとえば、新しいバージョンのプログラムがリリースされると、コンパイルを行うために必ずしもゼロから作業を開始する必要はありません。パッチを確認して、必要 な 内容を確認できます。コンパイルされたすべてのデフォルトと、ソフトウェアが適切にビルドできるように加えられたすべての変更は、この手法を使用して簡単に表示できます。ソースを純粋に保つことの目的は開発者の場合にのみ重要だと思うかもしれませんが、エンドユーザーにとっても品質の高いソフトウェアになります。