RPM
出典: フリー百科事典『ウィキペディア(Wikipedia)』
RPM(アールピーエム、RPM Packager Manager)はレッドハット社が開発したソフトウェアのパッケージを管理するためのシステム (パッケージ管理システム)、及びコマンド。以前はRed Hat Package Managerの略だった。
主にLinuxのディストリビューションのうち、レッドハット社が提供するものだけでなく、独自のカスタマイズを含めながらSUSE Linux、Vine LinuxなどのRPM系ディストリビューションで使われる。
RPMは、パッケージをcpio形式で圧縮しており、その中には、独自のspecファイル、及びバイナリ、またはソースコードが含まれている。パッケージ管理のためのデータベースにはBerkeley DBを採用しており、インストール時、削除時、パッケージの問い合わせ時にはこのデータベースが利用される。データベース管理のためのコマンドオプションもrpmコマンドに含まれている。
specファイルには、パッケージの名前、概要、依存するパッケージ、バイナリパッケージのインストールパス、インストール前に実行するスクリプト、インストール後に実行するスクリプトなどが書かれている。インストール時には、記載されたスクリプトを実行して、サーバーの停止及び復帰、システムユーザーの追加などを行い、システムの安全性を保つ。
パッケージのインストールには、ローカルパッケージ、及びHTTP、FTPを通じたネットワークからのパッケージに対応している。ただし、依存性の解決は行わず、依存性に欠如があった場合は、ユーザーが独自にパッケージをインストールするか、YUM、APT for rpmといった別のツールを使って解決しなければいけない。独自にソースコードからインストールした場合は、パッケージ管理の対象にならず、この場合は、依存性の解決には利用されない。
RPMは、通常はバイナリのインストールに使われるが、ソースコードからのパッケージ作成もサポートしている。パッケージをspecファイルに従ってその場で作成し、インストールすることになる。
RPMは、C言語で書かれ、C言語、Java、Perl、Python、Rubyなどの言語のバインディングも提供、または独自に作成されており、これにより、コマンド以外からもRPMのパッケージを扱うことが出来る。