RPM Package Manager

RPM (RPM Package Manager) は、Red Hatによって開発されたソフトウェアパッケージ管理システムであり、そのコマンドも指します。以前はRed Hat Package Managerの略称でしたが、現在はRPM Package Managerとして知られています。主に、".rpm"という拡張子を持つファイルを利用します。

概要



RPMは、主にRed Hatが提供するLinuxディストリビューションだけでなく、SUSE LinuxやVine Linuxといった、RPM系のディストリビューションでも広く利用されています。各ディストリビューションは、独自のカスタマイズを加えながらRPMを採用しています。

RPMパッケージは、cpio形式でアーカイブされており、その中には独自のspecファイル、バイナリファイル、またはソースコードが含まれています。パッケージ管理のためのデータベースには、Berkeley DBが使用されており、インストール、削除、パッケージ情報の問い合わせ時にこのデータベースが参照されます。RPMコマンドには、データベースを管理するための様々なオプションが含まれています。

specファイルには、パッケージの名前、概要、依存関係にあるパッケージ、バイナリパッケージのインストール先パス、インストール前後に実行するスクリプトなどが記述されています。インストール時には、これらのスクリプトが実行され、サーバの停止と復帰、システムユーザーの追加など、システムの安全性を維持するための操作が行われます。

specファイルは、宣言部と実行部に分かれています。宣言部には、パッケージに関する説明的な詳細が記述され、実行部には、インストール時に実行されるスクリプトが記述されます。これにより、パッケージのインストールプロセスを細かく制御することが可能です。

RPMは、ローカルのパッケージファイルだけでなく、HTTPやFTPを介してネットワークからパッケージをインストールすることも可能です。ただし、RPM自体は依存性の解決機能を持たないため、依存関係に欠落がある場合は、ユーザーが手動で必要なパッケージをインストールするか、YUMやAPT for rpmといった別のツールを利用して解決する必要があります。また、ソースコードから独自にインストールされたソフトウェアは、RPMの管理対象外となり、依存性解決の際には考慮されません。

RPMは通常、バイナリパッケージのインストールに利用されますが、ソースコードからパッケージを作成することもサポートしています。specファイルに従ってパッケージをその場で作成し、インストールすることができます。この機能により、特定の環境に合わせたパッケージのカスタマイズが容易になります。

RPMはC言語で開発されており、C言語JavaPerlPythonRubyなどの様々な言語バインディングも提供、または独自に作成されています。これにより、コマンドラインだけでなく、プログラムからもRPMパッケージを扱うことができ、より柔軟なシステム管理が可能になります。

関連項目



Linux Standard Base
APT

出典



rpm.org (英語)
rpm package manager (英語)

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。