次のページ 前のページ 目次へ

1. Using RPM

1.1 はじめに

Vine Linuxでは RPM(RedHat Package Manager)形式のパッケージ管理システムを採用しています.これにより,個々のパッケージのインストールや削除などを容易に行うことができます.本節では,rpmパッケージの管理方法を簡単に説明します.

rpmパッケージの操作方法は大きくわけて,

  1. rpmコマンドでCUI操作
  2. X上でGUI(gnorpm, kpackageなど)を用いる
という2つの方法があります.

本節では1番目のrpmコマンドとgnorpmコマンドを用いたrpmパッケージの操作方法を解説します.man rpmやjman rpm,またはrpm --helpでも,rpmコマンドのいろいろなオプションを知ることができます.

1.2 rpmパッケージ

Vine LinuxのWWWページからアップデートされたソフトウェアや VinePlusをダウンロードすることができます.これらのソフトウェアはrpmパッケージとなっています.rpm パッケージの名前付けの規則は,

<パッケージ名>-<バージョン>-<リリース番号>.<アーキテクチャ>.rpm
となっています.<バージョン>はソフトウェアのバージョンを表し,<リリース番号>はパッケージ作成に関する管理番号です.Vine Linux固有のパッチが入っている場合は,2vl3のように vl<Vine Linuxリリース番号>の形式になっています.<アーキテクチャ>には src, noarch, i386などが入ります.ソースコードのパッケージには srcが付けられます.また機種(CPU)に依存しないパッケージには noarchが付けられます.一方,i386などは機種に依存したパッケージです.通常,コンパイルされたバイナリのパッケージには i386と付いていますが,i586などとなっている場合もあります.

1.3 rpmパッケージのインストール(rpm -i)

次の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
などとすると,インストール中にハッシュマーク(#)が出て,インストールの進む様子がわかります(試してみましょう).

■dependencyの解決

さて,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
とします.ただし,この場合にはインストールしたパッケージが正常に動作しない可能性があります.

1.4 rpmパッケージのアップグレード(rpm -U)

すでに,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
とします.

■conflictの解決

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によって上書きされてしまうので,取扱には要注意です.

1.5 rpmパッケージの削除(rpm -e)

インストールしてある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が動かなくなる可能性がありますので,注意が必要です.

1.6 rpmパッケージに関する情報を得る(rpm -q)

■インストールされているrpmパッケージの情報を得る

hogeというパッケージをインストールしたのだが,バージョンを忘れてしまったので知りたい,というときには,-q (query)オプションを使って,

# rpm -q hoge
とすれば表示されます.また,-i(information)オプションを併用して,
# rpm -qi hoge
とすると,パッケージに関するいろいろな情報を得ることができます.さらに -l(list)オプションを用いて,
# rpm -ql hoge
とすると,パッケージhogeに含まれるファイル一覧が表示されます.

これらのオプションを全て付けることもできます.

# rpm -qil hoge

■持ってきたrpmパッケージに関する情報を得る

インストールされているパッケージでなく,持ってきたパッケージ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
とします.

1.7 ソースパッケージからバイナリrpmを作成する(rpm --rebuild)

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 する」ページを参照して下さい.

1.8 Gnorpm

Gnorpmは GNOMEで開発されたRPMパッケージ管理アプリケーションです.GUIで簡単にパッケージをインストールしたりやアップグレードしたりできます.GNOMEからはパネルから起動することができます.また,GNOME以外のウィンドウマネージャやKDEからはコマンドラインから起動することができます.

$ gnorpm

( )

起動されたウィンドウの「ヘルプ」ボタンを押すと,日本語のヘルプを読むことができます.

■初期設定

RPMパッケージが置いてあるディレクトリを指定します.

  1. 「操作」ボタンを押し,「設定」を選んで下さい.
  2. 新しく表示されたウィンドウの「インストール・ウィンドウ」を選んで下さい.一番下にある「RPMディレクトリ」にPRMパッケージが置いてあるパスを入力します.例えば,パッケージがCD-ROMに入っていて,CD-ROMが /mnt/cdromにマウントされている場合,/mnt/cdrom/Vine/RPMSのように記述します.設定が終了したら「OK」を押して下さい.

■新規パッケージをインストールする

  1. ウィンドウの「インストール」アイコンを押すと,インストール用のウインドウが表示されます.
    • 「全てのパッケージ」 … インストールされているものを含めた全てのパッケージを表示します.
    • 「インストールされているもの以外全て」 … インストールしたパッケージの古いバージョンや新しいバージョンを表示します.一度もインストールされなかった新規のパッケージは表示されません.
    • 「インストールされていないパッケージのみ」 … 一度もインストールされなかったパッケージが表示されます.
    • 「新しいパッケージのみ」 … インストールしたパッケージよりも新しいパッケージのみを表示します.
    • 「インストールされていない,もしくは新しいパッケージ」 … 上記の2つを合わせて表示します.
  2. ツリーの中にチェックボタンが現れたら,インストールするパッケージをチェックします(クリックするとマークが付きます).全て選択したら「インストール」を押すとインストールが始まります.また,「アップグレード」を押すとアップグレードします.このとき,不足するパッケージがあったりすると警告がでますので警告に従って下さい.

■不要なパッケージをアンインストールする

  1. ウィンドウの左側にあるツリーから目的のカテゴリまで選択します.パッケージがあるカテゴリまでくると,右側にインストールされているパッケージの一覧が現れます.
  2. アンインストールするパッケージをクリックして選択します.
  3. 上の「削除」ボタンを押すと,「次のパッケージを削除しますか?」と聞かれるので,「はい」のボタンを押すと削除されます.

( )


次のページ 前のページ 目次へ