RPMとは
RPMとは、いろいろなソフトウェアのインストールや削除を容易にするため のパッケージ管理ソフトです。これにより、Linuxでは簡単にソフトウェア の管理が行えるのです。

もどる

RPMパッケージの命名規則
RPMパッケージには命名規則がある。その規則は、
(パッケージ名)-(バージョン)-(リリース番号).(アーキテクチャ).rpm
となっている。大事なのはパッケージ名とアーキテクチャである。アーキテ クチャが合わないものにパッケージをインストールしても、使えないのであ る。アーキテクチャは
機種依存無しnoarc
インテル系PCi386(i586の場合もあり)
PowerPC(power Macintosh)ppc
alphaコンピュータalpha
SUNのSPARCsparc
と言う命名規則になる。
例) インテル系PCでコンパイルされたbind
bind-8.2.3-1vl1.i386.rpm

RPM便覧(インストール)
○ パッケージをインストールする。(-i)

# rpm -ivh packege-1-1vl1.i386.rpm
packege         ##########################
	

-v(verbose),-h(hash)でインストール状況を示す#が表示される。

○ パッケージをアップグレードする。(-U)

# rpm -Uvh packege-1-1vl1.i386.rpm
packege         ##########################
      

-vhはインストール時と同じ役割。

○ 古いパッケージをインストールする。(--oldpackage)

--oldpackageを使うと、古いpackageがインストールできます。 例えば、古い方のライブラリに依存しているpackageをインストール するとき等に古いライブラリもインストールしたい場合に使えます。

# rpm -ivh packege-1.1-1vl1.i386.rpm
Preparing...                ########################################### [100%]
package package-1.2 (which is newr than package-1.1-1vl1) is  already installed
# rpm -ivh --oldpackage packege-1.1-1vl1.i386.rpm
Preparing...                ########################################### [100%]
   1:package                ########################################### [100%]
      

○ インストール済の他のパッケージのファイルを置き換える。(--replacefiles)

--replacefilesで他のパッケージが使用しているファイルを置き換えることができる。 しかし、置き換えられたパッケージはまともに動かなくなるかも知れない。

○ 再インストールする。。(--replacepkgs)

なんらかの都合で動かなくなったパッケージを再インストールする。

○ 強制的にインストールする。(--force)

上記の3つの--oldpackage --replacefiles --replacepkgsを集約したもの。 強制的にインストールできます。

# rpm -ivh --force packege-1.1-1vl1.i386.rpm
Preparing...                ########################################### [100%]
   1:package                ########################################### [100%]
      

○ パッケージを削除する。(-e)

# rpm -e packege
バージョン番号などは無くてもいいです。(あってもよい)
# rpm -e packege
エラー: これらのパッケージを削除すると依存性を破壊します:
        packege = 5.4.3は otherpack-5.4.3-0vl1 に必要とされています
	

このようなエラーメッセージが出て削除できないことがあります。 これを無視するには--nodepを用います。ただし、必要とされている packageは動かなくなるかも知れません。十分注意して行いましょう。

○ ソースRPMからRPMパッケージを作成。(--rebuild)

# rpm --rebuild moke.src.tar.gz
	

とすると、/usr/src/redhat/RPMS/i386にrpmパッケージが完成しているので それをインストールする。

# cd /usr/src/redhat/RPMS/i386
# rpm -ivh moke.i386.rpm
	

○ tar.gzからrpmパッケージを作る。(-tb)

tar.gzがrpmを作れるようにspecファイルが入っているとtar.gzから rpmパッケージを作ることができる。

# rpm -tb gjiten-1.0.tar.gz
# cd /usr/src/redhat/RPMS/i386
# rpm -ivh gjiten-1.0-1.i386.rpm
	

これでいける。

RPM便覧(検索)
○ パッケージの情報を見る。(-q)
$ rpm -q imap
imap-4.7-8vl1
オプションで-i,-lがある。-iが情報を詳しく表示し、-lがファイル一覧を 表示します。
$ rpm -qil imap
Name        : imap                         Relocations: (not relocateable)
Version     : 4.7                               Vendor: (none)
Release     : 8vl1                          Build Date: 2000年 7月 4日(火) 午後12時58分03秒 JST
Install date: 1996年 4月14日(日) 午前07時23分12秒 JST      Build Host: guin
Group       : System Environment/Daemons    Source RPM: imap-4.7-8vl1.src.rpm
Size        : 1901870                          License: BSD
Summary     : Server daemons for IMAP and POP network mail protocols.
Description :
The imap package provides server daemons for both the IMAP (Internet
Message Access Protocol) and POP (Post Office Protocol) mail access
protocols.  The POP protocol uses a "post office" machine to collect
mail for users and allows users to download their mail to their local
machine for reading. The IMAP protocol allows a user to read mail on a
remote machine without downloading it to their local machine.

Install the imap package if you need a server to support the IMAP or
the POP mail access protocols.
/etc/pam.d/imap
/etc/pam.d/pop
/etc/xinetd.d/imap
/etc/xinetd.d/ipop2
/etc/xinetd.d/ipop3
/usr/doc/imap-4.7
/usr/doc/imap-4.7/README
/usr/man/man8/imapd.8c
/usr/man/man8/ipopd.8c
/usr/sbin/imapd
/usr/sbin/ipop2d
/usr/sbin/ipop3d
	
と言うように表示される。インストールしていないパッケージの情報を-pオ プションで見ることもできる。
$ rpm -qlip imap-2000-2.6.i386.rpm
Name        : imap                         Relocations: (not relocateable)
Version     : 2000                              Vendor: Red Hat, Inc.
Release     : 2.6                           Build Date: 2000年11月 1日(水) 午前05時48分55秒 JST
Install date: (not installed)               Build Host: porky.devel.redhat.com
Group       : System Environment/Daemons    Source RPM: imap-2000-2.6.src.rpm
Size        : 2033651                          License: BSD
Packager    : Red Hat, Inc. 
URL         : http://www.washington.edu/imap/
Summary     : Server daemons for IMAP and POP network mail protocols.
Description :
The imap package provides server daemons for both the IMAP (Internet
Message Access Protocol) and POP (Post Office Protocol) mail access
protocols.  The POP protocol uses a "post office" machine to collect
mail for users and allows users to download their mail to their local
machine for reading. The IMAP protocol allows a user to read mail on a
remote machine without downloading it to their local machine.

Install the imap package if you need a server to support the IMAP or
the POP mail access protocols.
/etc/pam.d/imap
/etc/pam.d/pop
/usr/doc/imap-2000
/usr/doc/imap-2000/CPYRIGHT
/usr/doc/imap-2000/README
/usr/doc/imap-2000/RELNOTES
/usr/doc/imap-2000/naming.txt
/usr/man/man8/imapd.8c.gz
/usr/man/man8/ipopd.8c.gz
/usr/sbin/imapd
/usr/sbin/ipop2d
/usr/sbin/ipop3d
	

○ インストールされている全てのパッケージを表示(-qa)

$ rpm -qa
basesystem-7.0-2
xpaint-2.6.1-1
fetchmail-5.7.4-4
devfsd-2.4.2-2
xgammon-0.98-19
・・・
	

検索コマンド(grep)と併用すると名前が完全に分からなくても パッケージがインストールされているか検索できる。

$ rpm -qa | grep mozilla
nautilus-mozilla-1.0.4-43
mozilla-mail-0.9.7-0
mozilla-psm-0.9.7-0
mozilla-0.9.7-0
	

○ あるファイルがどのパッケージでインストールされているか?(-qf)

$ rpm -qf /usr/bin/which
which-2.12-3
	

○ コマンドがどのパッケージに含まれるか?(--whatprovides)

$ rpm -q --whatprovides which
which-2.12-3
	

上の-qfとの違いは、PATHが通っているなら、探すことができる。 -qfなら/usr/bin/which -q --whatprovidesならwhichでOK。

rpmの探し方

rpmfind.netという 便利なページがある。 ここで、rpmを探すことができる。 結構新しいrpmが溢れているので希望のrpmはここで探そう。 ただし、ディストリビューションが違うとインストール先が違ってくるの で、自分のディストリビューション向けのものを使おう。 RawHideはRedHatのベータ版なので最新版をインストールしたい場合は、 そこからもってくると良い。 また、Vineのrpmは相互にRedHatで使えるようであるので VineのページRedHatのページから探すのもいいかも。

もどる


Kenji Ohmori