Vine Linuxでは RPM(RedHat Package Manager)形式のパッケージ管理システムを採用しています.これにより,個々のパッケージのインストールや削除などを容易に行うことができます.本節では,rpmパッケージの管理方法を簡単に説明します.
rpmパッケージの操作方法は大きくわけて,
本節では1番目のrpmコマンドとgnorpmコマンドを用いたrpmパッケージの操作方法を解説します.man rpmやjman rpm,またはrpm --helpでも,rpmコマンドのいろいろなオプションを知ることができます.
Vine LinuxのWWWページからアップデートされたソフトウェアや VinePlusをダウンロードすることができます.これらのソフトウェアはrpmパッケージとなっています.rpm パッケージの名前付けの規則は,
<パッケージ名>-<バージョン>-<リリース番号>.<アーキテクチャ>.rpm
となっています.<バージョン>はソフトウェアのバージョンを表し,<リリース番号>はパッケージ作成に関する管理番号です.Vine Linux固有のパッチが入っている場合は,2vl3のように vl<Vine Linuxリリース番号>の形式になっています.<アーキテクチャ>には src, noarch, i386などが入ります.ソースコードのパッケージには srcが付けられます.また機種(CPU)に依存しないパッケージには noarchが付けられます.一方,i386などは機種に依存したパッケージです.通常,コンパイルされたバイナリのパッケージには i386と付いていますが,i586などとなっている場合もあります.
次のrpmパッケージを入手したします.
# hoge-1-2.i386.rpm
このファイルをインストールするときには,-i(Install)オプションを使って,
# rpm -i hoge-1-2.i386.rpm
とします.また,-v(verbose)や-h(hash)を併用して,
rpm -ivh hoge-1-2.i386.rpm
などとすると,インストール中にハッシュマーク(#)が出て,インストールの進む様子がわかります(試してみましょう).
さて,rpmパッケージをインストールしようとしたときに,
libHore.so.1 is needed by hoge-1-2
hare is needed by hoge-1-2
もしくは,
libHore.so.1 が hoge-1-2 に必要です
hare が hoge-1-2 に必要です
などというエラーが出ることがあります. これは「rpmパッケージhoge-1-2の中に,hareいうrpmパッケージやlibHore.so.1を必要とするファイルがあるが,hareやlibHore.so.1がシステムにはインストールされていない」ことによるエラーです.このときには,パッケージhareとlibHore.so.1を含むパッケージを探してきてインストールしてください.もし,このような依存性を無視してインストールしたいときには,--nodepsオプションを用いて
# rpm -i --nodeps hoge-1-2.i386.rpm
とします.ただし,この場合にはインストールしたパッケージが正常に動作しない可能性があります.
すでに,hoge-1-1.i386.rpmがインストールされていて, 新しいものにバージョンアップしたいときには,-U(Update)オプションを用いて
# rpm -U hoge-1-2.i386.rpm
または
# rpm -Uvh hoge-1-2.i386.rpm
とします(上の2つの違いはインストール時と同じです).また,古いバージョンに戻したいときには,--oldpackageオプションを用いて,
# rpm -Uvh --oldpackage hoge-1-1.i386.rpm
とします.
hoge-1-2.i386.rpmのインストール時に,
/usr/bin/poo conflicts with file from fuga-2-3
もしくは,
/usr/bin/poo は fuga-2-3 のファイルと競合します
というエラーが出た場合には,hogeのファイル/usr/bin/pooが, すでにインストール済みのパッケージfuga-2-3の/usr/bin/pooと重複するために,インストールできないことを示します.もし無理矢理インストールしたいときには,--forceオプションを用いて,
# rpm -i --force hoge-1-2.i386.rpm
とします.しかしこの場合には,もとからあったfugaのファイル/usr/bin/pooは,hogeによって上書きされてしまうので,取扱には要注意です.
インストールしてあるhogeを削除(アンインストール)したくなったら,-e(erase)オプションを用いて, 以下のようにします.
# rpm -e hoge
ここで,バージョン番号やリリース番号は要りませんが,明示して
# rpm -e hoge-1-2
とすることもできます.ただし, hogeが他のパッケージを用いるのに必要な場合には,
removing these packages would break dependencies:
hoge is needed by fugafuga
もしくは,
これらのパッケージを必要としているパッケージがあります:
hoge が fugafuga に必要です
などというエラーメッセージが出て削除できません. 無視して削除したいときには, --nodepオプションを用いて,
# rpm -e --nodeps hoge-1-2
とします. しかし,この場合は fugafugaが動かなくなる可能性がありますので,注意が必要です.
hogeというパッケージをインストールしたのだが,バージョンを忘れてしまったので知りたい,というときには,-q (query)オプションを使って,
# rpm -q hoge
とすれば表示されます.また,-i(information)オプションを併用して,
# rpm -qi hoge
とすると,パッケージに関するいろいろな情報を得ることができます.さらに -l(list)オプションを用いて,
# rpm -ql hoge
とすると,パッケージhogeに含まれるファイル一覧が表示されます.
これらのオプションを全て付けることもできます.
# rpm -qil hoge
インストールされているパッケージでなく,持ってきたパッケージhoge-1-2.i386.rpmの情報やファイル一覧を知りたいときには,-p(package)オプションを併用します.
# rpm -qilp hoge-1-2.i386.rpm
さらに-v(verbose)オプションも使って
# rpm -qlvp hoge-1-2.i386.rpm
とすると,各ファイルの属性なども表示されます.
インストールされてるファイル/usr/bin/fugaが,どのrpmパッケージに含まれているものなのかを知りたいときには,-f(file)オプションを使って,
# rpm -qf /usr/bin/fuga
とします.
rpmパッケージを -iや-Uでうまくインストールできない場合は,ソース(src.rpm)パッケージからバイナリrpmを作成する必要があります.また,Vine Linux 2.0用に用意されたパッケージ以外(Red HatやVine Linux 1.xのパッケージなど)をインストールする場合は必ずソースパッケージから再構築して下さい.
一般の user 権限で src.rpm を rebuild するために,パッケージを展開し,構築するための場所を用意しておきます.このディレクトリを ~/RPMとすると,以下のディレクトリが必要です.
$ mkdir -p ~/RPM/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,noarch}}
また,~/.rpmmacrosに設定を記述しておく必要があります.以下のようにして下さい.
$ echo "%_topdir $HOME/RPM" > ~/.rpmmacros
準備ができたらソースパッケージから再構築します.ソースパッケージはhoge.src.rpmという名前になっています.
$ rpm --rebuild hoge.src.rpm
こうすると,再構築(rebuild)が行われ,以下のようなメッセージを出して終了すれば成功です.
...
提供ファイル(provides)の調査中...
必須ファイル(requires)の調査中...
書き込み中: /home/user/RPM/RPMS/i386/hoge.i386.rpm
実行中: %clean
...
+ exit 0
新しくできた ~/RPM/i386/hoge.i386.rpmをインストールすればおしまいです.もし,再構築に失敗した場合は,スペックファイル等に修正が必要です.その場合は,ソースコードをインストールし,スペックファイルを確認して下さい.
$ rpm -Uvh hoge.src.rpm
こうすると,~/RPM/SRPMS/にソースコードやパッチファイルが展開され,~/RPM/SPECS/にスペックファイル hoge.specができます.「
一般 user 権限で src.rpm を rebuild する」ページを参照して下さい.
Gnorpmは GNOMEで開発されたRPMパッケージ管理アプリケーションです.GUIで簡単にパッケージをインストールしたりやアップグレードしたりできます.GNOMEからはパネルから起動することができます.また,GNOME以外のウィンドウマネージャやKDEからはコマンドラインから起動することができます.
$ gnorpm
( 図)
起動されたウィンドウの「ヘルプ」ボタンを押すと,日本語のヘルプを読むことができます.
RPMパッケージが置いてあるディレクトリを指定します.
/mnt/cdromにマウントされている場合,/mnt/cdrom/Vine/RPMSのように記述します.設定が終了したら「OK」を押して下さい.
( 図)