君は心理学者なのか?

大学時代に心理学を専攻しなぜかプログラマになった、サイコ(心理学)プログラマかろてんの雑記。

rpmコマンドの使い方を整理してみる(LPIC対策)〜yumとの違いも比較してみた〜

rpmとは

パッケージ管理システム。

パッケージとは、すごくざっくりいうとwindowsでいう「ソフトウェア」にあたる。

rpmはそれを管理するシステムなので、

linuxに何かパッケージをinstallしたり、

uninstallしたりするときに使用する。

rpmを使用してみる

-q [パッケージ名] installされていればバージョンを表示

$ rpm -q nginx
nginx-1.12.2-1.el6.ngx.x86_64

パッケージに関する情報を調査し表示するには、

-qオプションを使用する。

それと他のオプションを組み合わせて使用する。

-i 詳細情報を表示

$ rpm -iq nginx
Name        : nginx                        Relocations: (not relocatable)
Version     : 1.12.2                            Vendor: Nginx, Inc.
Release     : 1.el6.ngx                     Build Date: 2017年10月17日 22時25分44秒
Install Date: 2017年11月09日 00時13分32秒      Build Host: centos6-amd64-builder-builder.gnt.nginx.com
Group       : System Environment/Daemons    Source RPM: nginx-1.12.2-1.el6.ngx.src.rpm
Size        : 2594410                          License: 2-clause BSD-like license
Signature   : RSA/SHA1, 2017年10月17日 22時47分16秒, Key ID abf5bd827bd9bf62
URL         : http://nginx.org/
Summary     : High performance web server
Description :
nginx [engine x] is an HTTP and reverse proxy server, as well as
a mail proxy server.

-l パッケージに含まれるすべてのファイルを表示

$ rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/modules
...省略

-c パッケージに含まれる設定ファイルを表示

$ rpm -qc nginx
/etc/logrotate.d/nginx
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/nginx.conf
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/win-utf
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug

[参考] yumについて

1つのパッケージはそのパッケージだけでは動かないことがある

1つのパッケージはいくつかのパッケージを組み合わせて動いていることが多い。

(パッケージが別のパッケージに「依存している」という)

なので、rpmで1つのパッケージをインストールするだけでは動かないこともある。

どうやったら動くのか

1つのパッケージをインストールする時、

使用している他のパッケージも一緒にインストールする必要がある。

ただし、rpmで1つ1つライブラリをinstallしていくのはとても面倒である。

そこでyum

yumrpmと違って、

1つのパッケージをinstallするとき、

使用している他のパッケージも勝手にインストールしてくれる。

(「依存性の解決」という)

基本yumを使う

基本的には、

rpmだと面倒な「依存性の解決」をしてくれるyumを使おう。