RPMパッケージpackage-1-2vl3.i386.rpmをインストールするには,オプション
-i
(Install;インストール)を使います.
# rpm -ivh package-1-2vl3.i386.rpm
オプション-v
(verbose)と-h
(hash)を用いると
インストール中にハッシュマーク(#)が出て,インストールの進む様子がわか
ります.
RPMパッケージをインストールしようとしたときに,
libdepend.so.1 is needed by package-1-2vl3
sometool is needed by package-1-2vl3
もしくは,
libdepend.so.1 が package-1-2vl3 に必要です
sometool が package-1-2vl3 に必要です
などというエラーが出ることがあります. これは「RPMパッケージ
package-1-2vl3の中に,libdepend.so.1というライブラリやsometoolという
RPMパッケージを必要とするファイルがあるにもかかわらず,libdepend.so.1
やsometoolがシステムにインストールされていない」ことによるエラーです.
このときには, ライブラリlibdepend.so.1を含むパッケージや、パッケージsometoolを探
してきてインストールしてください。
もし,このような依存性を無視してインストールしたいときには,オプション
--nodeps
を用いてインストールします.
# rpm -i --nodeps package-1-2vl3.i386.rpm
とします.ただし,この場合にはインストールしたパッケージが正常に動作しない可能性があります.
package-1-2vl3.i386.rpmのインストール時に,
/usr/bin/cmd conflicts with file from another-3-4vl5
もしくは,
/usr/bin/cmd は another-3-4vl5 のファイルと競合します
というエラーが出た場合には,package-1-2vl3のファイル/usr/bin/cmdが, すで
にインストール済みのパッケージ another-3-4vl5のファイル/usr/bin/cmdと競
合するために,インストールできないことを示します.もし,無理矢理インストー
ルしたいときには,オプション--force
を用います.
# rpm -ivh --force package-1-2vl3.i386.rpm
しかし,この場合には,元からあったanother-3-4vl5のファイル/usr/bin/cmdは,
package-1-2vl3によって上書きされてしまうので,取扱には要注意です.
すでに,package-1-1vl1.i386.rpmがインストールされていて,新しい
package-1-2vl3.i386.rpmにバージョンアップしたいときには,オプション
-U
(Update;更新)を用います.
# rpm -Uvh package-1-2vl3.i386.rpm
ここで,オプション-vh
の役割はインストールの時と同じです.また,
古いバージョンpackage-1-1vl1.i386.rpmに戻したいときには,オプション
--oldpackage
を用います.
# rpm -Uvh --oldpackage package-1-1vl1.i386.rpm
インストールしたpackageを削除(アンインストール)したくなったら,オプショ
ン-e
(erase;削除)を用います.
# rpm -e package
ここで,バージョン番号やリリース番号は要りませんが,明示して
# rpm -e package-1-2vl3
とすることもできます.ただし, パッケージpackageに含まれるファイル
somefileが他のパッケージで利用されている場合には,
removing these packages would break dependencies:
somefile is needed by another_pkg
もしくは,
これらのパッケージを必要としているパッケージがあります:
somefile が another_pkg に必要です
などというエラーメッセージが出て削除できません.
無視して削除したいときには, オプション--nodep
を用います.
# rpm -e --nodeps package
しかし,この場合は パッケージanother_pkgが動かなくなる可能性があります
ので注意が必要です.
パッケージをインストールしたけれでも,バージョンを忘れてしまったので知り
たいと言うときには,オプション-q
(query)を用います.例えば,
パッケージ ktermについて知りたい場合を示します.
$ rpm -q kterm (ktermのバージョンを知りたいとき)
kterm-6.2.0-14vl4
また,オプション -i
(information;情報)を併用して,
$ rpm -qi kterm
Name : kterm Relocations: (not relocateable)
Version : 6.2.0 Vendor: Project Vine
Release : 14vl4 Build Date: 2000年 7月21日(金) 午前01時21分58秒 JST
Install date: 2000年10月 8日(日) 午前02時35分09秒 JST Build Host: venus.athome
Group : User Interface/Desktops Source RPM: kterm-6.2.0-14vl4.src.rpm
Size : 386868 License: X, distributable
Packager : Jun Nishii <jun@vinelinux.org>
Summary : 日本語の表示が可能な X 上のターミナルソフトです.
Description :
日本語の表示が可能な X 上のターミナルソフトです. X の標準ターミナルソ
フト xterm に日本語を取り扱う機能が付加されています. xterm の上位互換
となっており, オプションの設定や操作方法は xterm とほとんど同じです.
このパッケージには xterm セキュリティーパッチと16 色パッチが当たってい
ます.
ドキュメントは man kterm および man xterm を参考にしてください.
このように,パッケージに関するいろいろな情報を得ることができます.さらに
オプション-l
(list;一覧)を用いると,パッケージに含まれるファイ
ル一覧が表示されます.
$ rpm -ql kterm
/etc/X11/wmconfig/kterm
/usr/X11R6/bin/kterm
/usr/X11R6/lib/X11/app-defaults/KTerm
/usr/X11R6/lib/X11/ja/app-defaults/KTerm
/usr/X11R6/man/ja/man1/kterm.1x.gz
/usr/X11R6/man/man1/kterm.1x.gz
/usr/doc/kterm-6.2.0
/usr/doc/kterm-6.2.0/DEMO.kt.uu
/usr/doc/kterm-6.2.0/DEMO.xbm
/usr/doc/kterm-6.2.0/README.kt
/usr/doc/kterm-6.2.0/kterm.termcap
/usr/doc/kterm-6.2.0/kterm.terminfo
これらのオプションを全て付けることもできます.表示が多い場合はページャ lessを用いると便利です.
# rpm -qil package | less
また,grepコマンドを用いれば,探したいパターンpatternを検索することがで
きます.
$ rpm -qil package | grep pattern
インストールされているパッケージでなく,持ってきたパッケージ
package-1.0-2vl3.i386.rpmの情報やファイル一覧を知りたいときには,オプショ
ン -p
(package)を併用します.この場合は〜i386.rpmまでを含むファ
イル名全体を指定します.
$ rpm -qilp package-1.0-2vl3.i386.rpm
さらにオプション-v
(verbose)も使って
$ rpm -qilvp package-1.0-2vl3.i386.rpm
とすると,各ファイルの属性なども表示されます.
インストールされてるファイル/usr/X11R6/bin/ktermが,どのRPMパッケージに含ま
れているものなのかを知りたいときには,オプション-f
(file;ファイ
ル)を用いるとパッケージ名が表示されます.
$ rpm -qf /usr/X11R6/bin/kterm
kterm-6.2.0-14vl4
rpmパッケージを -i
や-U
でうまくインストールできない場合
は,ソース(src.rpm)パッケージからバイナリパッケージを作成する必要があり
ます.また,Vine Linux 2.1用に用意されたパッケージ以外(Red HatやVine
Linux 1.xのパッケージなど)をインストールする場合は必ずソースパッケージか
ら再構築して下さい.
ソースパッケージからパッケージを再構築するときは,rootではなく一般ユーザ で行います.これはパッケージを構築する際に,ファイルの操作を必要とするた め,誤操作などで既存のシステムを壊さないようにするためです.新しいバイナ リのパッケージができたらrootになってインストールやアップデートして下さい.
一般のユーザ権限で src.rpm を rebuild するために,パッケージを展開し,構
築するための場所が用意されています.このディレクトリは
/rpm
となっています.もし,ホームディレクトリにこのディレ
クトリがなければ以下のようにして作成して下さい.
$ cd
$ mkrpmdir .
mkrpmdirコマンドを実行すると,必要なディレクトリと
/.rpmmacros
を作成してくれます.
手動で作成するには,以下のようにします.
$ mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,i586,i686,noarch}}
また,/.rpmmacros
に設定を記述しておく必要があります.以
下のようにして下さい.
$ echo "%_topdir $HOME/rpm" > ~/.rpmmacros
準備ができたらソースパッケージから再構築します.ソースパッケージは
package-1-2vl3.src.rpm
という名前になっています.一般ユーザで以
下のようにすればバイナリパッケージを作成できます.
$ rpm --rebuild package-1-2vl3.src.rpm
実行すると再構築(rebuild)が行われ,以下のようなメッセージを出して終了す
れば成功です.
...
提供ファイル(provides)の調査中...
必須ファイル(requires)の調査中...
書き込み中: /home/user/rpm/RPMS/i386/package-1-2vl3.i386.rpm
実行中: %clean
...
+ exit 0
新しくできた /rpm/i386/package-1-2vl3.i386.rpm
をrootユー
ザになってインストールすればおしまいです.もし,再構築に失敗した場合は,
スペックファイル等に修正が必要です.その場合は,一般ユーザで次ぎのように
してソースコードをインストールし,スペックファイルを確認して下さい.
$ rpm -Uvh package-1-2vl3.src.rpm
こうすると,/rpm/SRPMS/
にソースコードやパッチファイルが
展開され,/rpm/SPECS/
にスペックファイル package.specがで
きます.
rpm パッケージの作成方法の詳細については
/usr/doc/HTML/MakingRPM/index.html
を参照してください.