エンタープライズ:特集 2003/09/05 21:00:00 更新


特集:第1回 RPM活用でLinuxサーバ運用の手間を軽減 (2/5)

RPMは事実上Linuxディストリビューションの標準パッケージ

 その名に含まれるように、RPM(Red Hat Package Manager)はRed Hatに関わるエンジニアが自社ディストリビューションのために開発したのが始まりだ。事実、RPMという名称はRed Hatの登録商標となっている。また、このパッケージ管理手法は広く解放されているため、採用するLinuxディストリビューションが多い。そしてインターネット上に散在していたソースファイルは、rpmfind.netSourceForgeFreshmeatなどのパッケージサイトとしても形成され、集約されている。ソースファイルは単なるmakeファイルだけでなく、RPMパッケージも併せて提供されることが多くなったのだ。そして今日、「Linuxディストリビューションでのインストール(パッケージ管理)」といえば「RPMの利用」がほぼ同義になりつつある。

RPMのパッケージにはバイナリのみとソースを含む2種類がある

 まず最初に、RPMについて基本的な事項をまとめておこう。RPMのパッケージファイルには2種類があり、ファイル名のサフィックスで区別ができる。仮に「ZDNet」というパッケージ(ソフトウェア)があったとする。この場合、RPMのパッケージファイルは通常以下の2種類が用意される。

ZDNet-8.20.i686.rpm
ZDNet-8.20.src.rpm

 上側の「ZDNet-8.20.i686.rpm」は、コンパイル済みのRPMパッケージファイルだ。インストール操作後、すぐに実行可能なバイナリ形式のファイルが含まれており、Windowsとほぼ同じ感覚で利用できる。「8.20」がバージョン番号、「i686」は適合するアーキテクチャ名を表す。つまり、このパッケージは「ZDNet」というソフトの「バージョン8.20」であり「i686アーキテクチャ用」に作成(ビルド)されたものだと分かる。場合によりアーキテクチャの後ろに「fr1」などと、固有のディストリビューション名が付加される場合もある(例:Freshmeatのパッケージなど)。

 一方、下側の「ZDNet-8.20.src.rpm」は、すぐに実行可能なバイナリを含まない(コンパイルされていない)ソースファイルがrpm形式でアーカイブされたものだ。このパッケージは、ZDNetのバージョン8.20に関わるソースファイル(配布形態によってはftpなどの取得先情報のみで、実際のソースファイルは含んでいないこともある)と、RPMとしてmakeするために必要な情報が含まれているファイルだ。コンパイルされたバイナリファイルを含まれないため、「i686」のような適合アーキテクチャを示す名称は付加されない。そして、src.rpm形式は基本的にはtar.gzと同じソースツリー構成内容だが、rpmパッケージにコンパイルするために必要な情報(「SPECファイル」と呼ばれる)を含んでいる点がrpm形式と異なる。このため、実行形式(rpmパッケージ)としてビルド操作をすると、作業したマシンのアーキテクチャ(make option、rpmrcファイルなどの記述)に応じて「i386」や「i686」を含み、上側のRPMパッケージファイルと同等のものが生成される(操作は第2回目で解説する)。

RPMのバージョンには最新の4と数年前の3があり互換性はない

 バイナリ版のRPMパッケージでは、初心者でも簡単にインストールやアンインストール、そしてアップデートができる。シェルのコマンドラインでも、X上のGUIフロントエンドでも同じように利用可能だ。ことにGUIフロントエンドを利用すればWindows上での作業にも等しい明快で簡潔な操作性が得られるのだ。

 唯一注意すべき点は、該当パッケージが作成されたRPMのバージョンと環境だ。現在のRPMバージョンはRed Hat Linux 7から採用されているバージョン4系列(4.2、及び4.1.1)である。しかし、一部のディストリビューションや古いディストリビューションでは、RPMが普及を見せつつあったバージョン3世代のものが利用されている場合もある。もしもディストリビューションに含まれるRPMがバージョン3系列の場合、バージョン4系でmakeされたパッケージは扱えない。使っているRPMのバージョンは、「rpm --version」と指定することで確認可能だ。

$ rpm --version
RPM バージョン 4.2

 rpmコマンドには非常に多くのオプションが用意されている。バージョン3と4系列では仔細だが、一部異なる部分があるのが注意点だ。今日、バージョン3系列のRPMを継続採用しているディストリビューションは少数であり、この記事でもバージョン4系列を前提としている。

前のページ | 1 2 3 4 5 | 次のページ

[渡辺裕一,ITmedia]