6.1. パッケージファイルとパッケージ名

RedHatベースのディストリビューションでは各ファイルをRPM(RedHat Package Manager)とYUM(Yellowdog Updater Modified)によって管理しています。RPMやYUMを用いることで、ソフトウェアを安全に導入したり、ファイルがどのパッケージに属していてそれがどこで作られたのか、といった情報を得ることができます。

rpmパッケージの管理にはrpmコマンドを用います。rpmパッケージを扱う際には“パッケージファイル”と“パッケージ名”の違いをしっかりと区別しないと混乱することがあります。

  • パッケージファイル
    パッケージを収めたファイルです。rpmコマンドを使えばこのファイル中に入っているパッケージのパッケージ名を取得することができます。標準的に拡張子rpmのついたファイルとなっています
  • パッケージ名
    rpmのパッケージシステムが各パッケージを管理するための名前です。必ずしもパッケージファイルと同じである保証はありません。

完全なパッケージ名はおおまかに3つの部分にわかれています。

  • package
    パッケージ名として通常使う、ソフトウェアの名称が入ります。
  • version
    パッケージのバージョンです、プログラムの作者がつけたバージョンを利用します。
  • revision
    パッケージ作者によって付けられる番号です。同一のバージョンのものであっても、パッケージ作者が何度かパッケージを作りなおしすることがあるのですが、その度にこの番号を繰り上げていくことが慣習となっています。

同一のパッケージは(特殊な理由がない限り)複数存在することはできません。古いバージョンは新しいバージョンにより置き換えられていくことになります。例えば、現在xmms-1.2.4-3というパッケージがインストールされていた場合には、

  1. xmms-1.2.2-1は現在のパッケージより古いと判断されます(バージョンが古い)
  2. xmms-1.2.4-1は現在のパッケージより古いと判断されます(同一バージョンだが、revisionが低い)
  3. xmms-1.2.2-5は現在のパッケージより古いと判断されます(revisionは高いが、バージョンは低い)
  4. xmms-1.2.5-1は現在のパッケージより新しいと判断されます。