2009年7月21日火曜日

パッケージ管理 【 rpm 】編

CentOS などの Linuxでは、RPMパッケージという形式でソフトの管理を行っている。(.rpm ファイル)

RPMパッケージには

 ・バイナリパッケージ (Windowsでゆう .exeファイルを集めたもの)
 ・ソースパッケージ (コンパイル前のソースファイル .cとかかな)

という2種類があるらしい (通常はバイナリパッケージを使う)
で、そのパッケージを操作するコマンドが rpmコマンドというものらしい。

1. ) インストールされているすべてのパッケージを確認

$ rpm -qa

audit-libs-1.7.7-6.el5_3.3
cyrus-sasl-lib-2.1.22-4
libjpeg-6b-37
elfutils-libs-0.137-3.el5
slang-2.0.6-4.el5
info-4.8-14.el5
sqlite-3.3.6-2
m4-1.4.5-3.el5.1

ずらずらといろんなものが出てきます。
とあるパッケージがインストールされているか調べたいときには

$ rpm -qa | grep "とあるパッケージ名"

でいいらしい


2. ) パッケージに関する情報を表示する

$ rpm -qi "とあるパッケージ名"

HTTPサーバーである Apacheに関する情報を表示させたい場合

$ rpm -qi httpd

となり

Name : httpd Relocations: (not relocatable)
Version : 2.2.3 Vendor: CentOS
Release : 22.el5.centos.1 Build Date: 2009年05月29日 01時52分47秒
Install Date: 2009年06月10日 12時23分10秒 Build Host: builder10.centos.org
Group : System Environment/Daemons Source RPM: httpd-2.2.3-22.el5.centos.1.src.rpm
Size : 3430008 License: Apache Software License
Signature : (none)
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.

などと表示される


3. ) どのようなものがインストールされるのかを表示する

パッケージをインストールしたとき
どのようなファイルがインストールされるのか調べたいときには

$ rpm -ql "とあるパッケージ名"

前述の "httpd"の場合

/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/proxy_ajp.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/httpd/logs
/etc/httpd/modules
/etc/httpd/run
/etc/logrotate.d/httpd
/etc/rc.d/init.d/httpd
/etc/sysconfig/httpd

などと表示される

4. ) パッケージのインストール

$ rpm -ivh "とあるパッケージ名" ←■ 新規でインストールする場合
$ rpm -Uvh "とあるパッケージ名" ←■ アップデートする場合


となる
まずは、んな感じでいいでしょ

拾ってきたパッケージやネット上にある .rpmファイル(インストールしていない .rpmファイル)に関する情報を調べたいときには "-p"オプションを指定すればよい。
1. ) パッケージに関する情報を表示する
# rpm -qip "ファイル名"

2. ) パッケージに含まれるファイルを表示する
# rpm -qlp "ファイル名"

0 件のコメント:

コメントを投稿