RPM
RPM:記事リスト
RPMのカテゴリーには以下の記事がリストされています。
64bit環境に32bitのRPMをyumでインストールするには
64bit環境に32bitのRPMをyumインストールするには、
パッケージ名.i686を指定します。
例えば、nss-softokn-freeblの32bit RPMをインストールするには、
# yum -y install nss-softokn-freebl.i686
となります。
下記例は、nss-softokn-freeblの64bit、32bit、glibc関連のRPMを
yumでインストールした内容となります。
# yum -y install glibc-common glibc nss-softokn-freebl nss-softokn-freebl nss-softokn-freebl.i686
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.0x.sg
* extras: mirror.0x.sg
* updates: mirror.0x.sg
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ glibc.x86_64 0:2.17-78.el7 を 更新
--> 依存性の処理をしています: glibc = 2.17-78.el7 のパッケージ: glibc-headers-2.17-78.el7.x86_64
--> 依存性の処理をしています: glibc = 2.17-78.el7 のパッケージ: glibc-devel-2.17-78.el7.x86_64
---> パッケージ glibc.x86_64 0:2.17-157.el7_3.1 を アップデート
---> パッケージ glibc-common.x86_64 0:2.17-78.el7 を 更新
---> パッケージ glibc-common.x86_64 0:2.17-157.el7_3.1 を アップデート
---> パッケージ nss-softokn-freebl.x86_64 0:3.16.2.3-9.el7 を 更新
---> パッケージ nss-softokn-freebl.i686 0:3.16.2.3-14.4.el7 を インストール
--> 依存性の処理をしています: libdl.so.2(GLIBC_2.1) のパッケージ: nss-softokn-freebl-3.16.2.3-14.4.el7.i686
--> 依存性の処理をしています: libdl.so.2(GLIBC_2.0) のパッケージ: nss-softokn-freebl-3.16.2.3-14.4.el7.i686
--> 依存性の処理をしています: libdl.so.2 のパッケージ: nss-softokn-freebl-3.16.2.3-14.4.el7.i686
--> 依存性の処理をしています: libc.so.6(GLIBC_2.4) のパッケージ: nss-softokn-freebl-3.16.2.3-14.4.el7.i686
---> パッケージ nss-softokn-freebl.x86_64 0:3.16.2.3-14.4.el7 を アップデート
--> トランザクションの確認を実行しています。
---> パッケージ glibc.i686 0:2.17-157.el7_3.1 を インストール
---> パッケージ glibc-devel.x86_64 0:2.17-78.el7 を 更新
---> パッケージ glibc-devel.x86_64 0:2.17-157.el7_3.1 を アップデート
---> パッケージ glibc-headers.x86_64 0:2.17-78.el7 を 更新
---> パッケージ glibc-headers.x86_64 0:2.17-157.el7_3.1 を アップデート
--> 依存性解決を終了しました。
依存性を解決しました
=====================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=====================================================================
インストール中:
nss-softokn-freebl i686 3.16.2.3-14.4.el7 base 188 k
更新します:
glibc x86_64 2.17-157.el7_3.1 updates 3.6 M
glibc-common x86_64 2.17-157.el7_3.1 updates 11 M
nss-softokn-freebl x86_64 3.16.2.3-14.4.el7 base 204 k
依存性関連でのインストールをします:
glibc i686 2.17-157.el7_3.1 updates 4.2 M
依存性関連での更新をします:
glibc-devel x86_64 2.17-157.el7_3.1 updates 1.1 M
glibc-headers x86_64 2.17-157.el7_3.1 updates 668 k
トランザクションの要約
=====================================================================
インストール 1 パッケージ (+1 個の依存関係のパッケージ)
更新 3 パッケージ (+2 個の依存関係のパッケージ)
合計容量: 21 M
総ダウンロード容量: 4.4 M
Downloading packages:
(1/2): nss-softokn-freebl-3.16.2.3-14.4.el7.i686.rpm | 188 kB 00:00:00
(2/2): glibc-2.17-157.el7_3.1.i686.rpm | 4.2 MB 00:00:04
----------------------------------------------------------------------
合計 998 kB/s | 4.4 MB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
更新します : nss-softokn-freebl-3.16.2.3-14.4.el7.x86_64 1/12
更新します : glibc-2.17-157.el7_3.1.x86_64 2/12
warning: /etc/nsswitch.conf created as /etc/nsswitch.conf.rpmnew
更新します : glibc-common-2.17-157.el7_3.1.x86_64 3/12
更新します : glibc-headers-2.17-157.el7_3.1.x86_64 4/12
インストール中 : nss-softokn-freebl-3.16.2.3-14.4.el7.i686 5/12
インストール中 : glibc-2.17-157.el7_3.1.i686 6/12
更新します : glibc-devel-2.17-157.el7_3.1.x86_64 7/12
整理中 : glibc-devel-2.17-78.el7.x86_64 8/12
整理中 : glibc-headers-2.17-78.el7.x86_64 9/12
整理中 : glibc-common-2.17-78.el7.x86_64 10/12
整理中 : nss-softokn-freebl-3.16.2.3-9.el7.x86_64 11/12
整理中 : glibc-2.17-78.el7.x86_64 12/12
検証中 : glibc-headers-2.17-157.el7_3.1.x86_64 1/12
検証中 : glibc-common-2.17-157.el7_3.1.x86_64 2/12
検証中 : glibc-2.17-157.el7_3.1.x86_64 3/12
検証中 : nss-softokn-freebl-3.16.2.3-14.4.el7.i686 4/12
検証中 : nss-softokn-freebl-3.16.2.3-14.4.el7.x86_64 5/12
検証中 : glibc-2.17-157.el7_3.1.i686 6/12
検証中 : glibc-devel-2.17-157.el7_3.1.x86_64 7/12
検証中 : glibc-devel-2.17-78.el7.x86_64 8/12
検証中 : glibc-2.17-78.el7.x86_64 9/12
検証中 : nss-softokn-freebl-3.16.2.3-9.el7.x86_64 10/12
検証中 : glibc-common-2.17-78.el7.x86_64 11/12
検証中 : glibc-headers-2.17-78.el7.x86_64 12/12
インストール:
nss-softokn-freebl.i686 0:3.16.2.3-14.4.el7
依存性関連をインストールしました:
glibc.i686 0:2.17-157.el7_3.1
更新:
glibc.x86_64 0:2.17-157.el7_3.1 glibc-common.x86_64 0:2.17-157.el7_3.1
nss-softokn-freebl.x86_64 0:3.16.2.3-14.4.el7
依存性を更新しました:
glibc-devel.x86_64 0:2.17-157.el7_3.1 glibc-headers.x86_64 0:2.17-157.el7_3.1
完了しました!
yumに関するログ(ログファイル)を把握する
yumの設定ファイルは、「/etc/yum.conf」になり、このファイルでyumのログファイル管理が行えます。
下記の例でいうと、ログファイルは、「logfile=」項目に設定される「/var/log/yum.log」になります。
[root@Tiger ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log ←yumログファイルの指定
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
yumが実行されると、その実行ログが/var/log/yum.logに出力されます。
下記の例ではnmapコマンドをインストールし、その後削除しています。
[root@Tiger ~]# ls -l /var/log/yum.log
-rw------- 1 root root 50 10月 24 13:45 2013 /var/log/yum.log
[root@Tiger ~]# tail /var/log/yum.log
Oct 24 13:45:42 Installed: 2:nmap-5.51-2.el6.i686
Oct 24 13:54:16 Erased: nmap
yumでダウンロードしたrpmを残す
yumでダウンロードしたrpmを残すには、
/etc/yum.confファイルの「keepcache」の設定を
「1」にしてyumを実行します。
実行後、下記ディレクトリにyumインストールしようした
ファイルが削除されず保存されています。
■yumダウンロードしたファイルの保存ディレクトリ
※下記ディレクトリは環境によって異なります。
/var/cache/yum/i386/6/base/packages/
/var/cache/yum/i386/6/epel/packages/
/var/cache/yum/i386/6/rpmforge/packages/
[root@Tiger ~]# vi /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
#keepcache=0
keepcache=1 ←「keepcache」の設定を「1」にします。
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
RPMパッケージの更新情報を表示する
RPMパッケージは、インストールやアップグレード、削除などを行うと、
RPMパッケージデータベースに操作日時を記録します。
その操作日時、つまり更新情報を表示するには、
rpmコマンドにオプション「-qa」をつけ、さらに「--last」を併用して実行します。
更新されたパッケージ情報が、新しい順に表示されます。
[pakira@Tiger ~]$ rpm -qa --last ←RPMパッケージの更新情報を表示します。
ftp-0.17-51.1.el6.i686 2012年08月24日 14時11分23秒
ImageMagick-perl-6.5.4.7-6.el6_2.i686 2012年08月24日 00時35分40秒
ImageMagick-6.5.4.7-6.el6_2.i686 2012年08月24日 00時34分27秒
librsvg2-2.26.0-5.el6_1.1.0.1.centos.i686 2012年08月24日 00時33分10秒
libgsf-1.14.15-5.el6.i686 2012年08月24日 00時32分02秒
libtool-ltdl-2.2.6-15.5.el6.i686 2012年08月24日 00時31分44秒
ghostscript-8.70-14.el6.i686 2012年08月24日 00時31分13秒
ghostscript-fonts-5.50-23.1.el6.noarch 2012年08月24日 00時31分09秒
libXt-1.0.7-1.el6.i686 2012年08月24日 00時28分07秒
xorg-x11-font-utils-7.2-11.el6.i686 2012年08月24日 00時27分50秒
libXfont-1.4.1-2.el6_1.i686 2012年08月24日 00時27分39秒
libfontenc-1.0.5-2.el6.i686 2012年08月24日 00時26分25秒
GConf2-2.28.0-6.el6.i686 2012年08月24日 00時26分09秒
sgml-common-0.6.3-32.el6.noarch 2012年08月24日 00時25分52秒
ORBit2-2.14.17-3.1.el6.i686 2012年08月24日 00時25分34秒
libIDL-0.8.13-2.1.el6.i686 2012年08月24日 00時25分10秒
perl-Archive-Zip-1.30-2.el6.noarch 2012年08月24日 00時24分59秒
libcroco-0.6.2-5.el6.i686 2012年08月23日 20時45分16秒
lcms-1.19-1.el6.i686 2012年08月23日 20時45分02秒
lcms-libs-1.19-1.el6.i686 2012年08月23日 20時44分42秒
libwmf-0.2.8.4-22.el6.centos.i686 2012年08月23日 20時44分25秒
urw-fonts-2.4-10.el6.noarch 2012年08月23日 20時44分07秒
libwmf-lite-0.2.8.4-22.el6.centos.i686 2012年08月23日 20時43分48秒
perl-GD-2.44-3.el6.i686 2012年08月23日 20時43分28秒
gd-2.0.35-10.el6.i686 2012年08月23日 20時43分11秒
libXpm-3.5.8-2.el6.i686 2012年08月23日 20時42分54秒
perl-DBD-MySQL-4.013-3.el6.i686 2012年08月23日 17時10分21秒
zlib-devel-1.2.3-27.el6.i686 2012年08月23日 16時55分15秒
readline-devel-6.0-4.el6.i686 2012年08月23日 16時55分04秒
ncurses-devel-5.7-3.20090208.el6.i686 2012年08月23日 16時54分55秒
ctags-5.8-2.el6.i686 2012年08月18日 18時33分27秒
diffstat-1.51-2.el6.i686 2012年08月18日 18時33分26秒
compat-libstdc++-296-2.96-144.el6.i686 2012年08月18日 18時33分26秒
RPMパッケージデータベースを新たに作成する
RPMパッケージデータベースを新たに作成するには、rpmコマンドに
「--initdb」オプションを付けて実行します。
このコマンドを実行するには、root権限が必要になります。
[pakira@Tiger ~]$ su - ←root権限になります。
パスワード:
[root@Tiger ~]# rpm --initdb ←RPMパッケージデータベースを新たに作成します。
関連記事
RPMデータベースを再構築する
RPMデータベースを再構築する
RPMパッケージに関する情報は、RPMデータベースに保存されています。
パッケージの情報を検索する時は、このRPMデータベースが重要な役割を果たすのですが、
たまに壊れてしまう場合があります。
そのような場合には、rpmコマンドに「--rebuilddb」オプションを付けて実行することで
RPMデータベースを再構築できます。
このコマンドを実行するにはroot権限が必要で、インストールされているパッケージ数、
コンピューターのスペックによっては終了するまでかなり時間が掛かる場合があります。
[pakira@Tiger ~]$ su - ←rootになります。
パスワード:
[root@Tiger ~]# rpm --rebuilddb ←RPMデータベースを再構築します。
[root@Tiger ~]#
RPMパッケージの状態を表示する
インストールされているRPMパッケージが現在どのような状態にあるのかを
確認するには、rpmコマンドにオプション「-q」と「-s」を付け、
状態を確認したいRPMパッケージ名を指定して実行します。
コマンドを実行し、「normal」または、「通常」と表示されれば、正常な状態です。
この他に、
・インストールされていない(not installed)
・置き換えられている(replaced)
があります。
このコマンドを実行すると、多くの情報が表示されるため、lessコマンドや
moreコマンドでパイプするのが良いでしょう。
[pakira@Tiger ~]$ rpm -qs ghostscript | less ←RPMパッケージの状態を表示します。
通常 /etc/ghostscript
通常 /etc/ghostscript/8.70
通常 /etc/ghostscript/8.70/CIDFnmap.local
通常 /etc/ghostscript/8.70/Fontmap.local
通常 /etc/ghostscript/8.70/cidfmap.local
通常 /usr/bin/bdftops
通常 /usr/bin/dumphint
通常 /usr/bin/dvipdf
通常 /usr/bin/eps2eps
通常 /usr/bin/font2c
通常 /usr/bin/ghostscript
通常 /usr/bin/gs
通常 /usr/bin/gsbj
通常 /usr/bin/gsdj
通常 /usr/bin/gsdj500
通常 /usr/bin/gslj
通常 /usr/bin/gslp
通常 /usr/bin/gsnd
通常 /usr/bin/lprsetup.sh
公開鍵をインポートするには
rpmコマンドでパッケージをインストールする際、
下記のような警告メッセージが表示される場合があります。
警告: ncurses-devel-5.7-3.20090208.el6.i686.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
これは、公開鍵がないというメッセージになり、
このメッセージを表示させないようにするには公開鍵をインポートします。
公開鍵は、/etc/pki/rpm-gpg/ディレクトリにありますので、
rpmコマンドに「--import」オプションを付けて下記の様に実行します。
[root@Tiger ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
上記コマンドを実行することで、警告メッセージが表示されなくなります。
YUM(Yellow dog Updater Modified)
CentOSや、Fedoraには、RPMパッケージの依存関係を自動的に解消してインストールする
YUM(Yellow dog Updater Modified)があります。
※YUMは、Debian GNU/LinuxおよびVine Linuxで採用されている
パッケージ管理システム(APTツール)に相当します。
もともとはYellow Dog Linuxのパッケージ管理システムとして
開発されたものでYUMの設定ファイルは、下記から構成されています。
/etc/yum.conf
/etc/yum.repos.d
■/etc/yum.confのファイル例
----------------------------------------------------------
$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum ←パッケージのキャッシュディレクトリ
keepcache=0
debuglevel=2
logfile=/var/log/yum.log ←ログファイル
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
# Note: yum-RHN-plugin doesn\'t honor this.
metadata_expire=1h
# Default.
# installonly_limit = 3
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
----------------------------------------------------------
/etc/yum.repos.dディレクトリ以下には、
リポジトリ情報の設定ファイルが保存されています。
パッケージの入手先を増やしたい場合は、リポジトリ情報の設定ファイルを追加します。
$ ls -l /etc/yum.repos.d
合計 16
-rw-r--r-- 1 root root 2245 4月 26 2010 CentOS-Base.repo
-rw-r--r-- 1 root root 626 4月 26 2010 CentOS-Media.repo
YUMを使用して管理を行うにはyumコマンドを使用します。
■yumコマンドの主なサブコマンド
------------------------------------------------------------------------
check-update アップデート対象のパッケージリストを表示する
update パッケージ名 指定したパッケージをアップデートする
install パッケージ名 指定したパッケージをインストールする
list installed パッケージ名 指定したパッケージがインストール済みか確認する
remove パッケージ名 指定したパッケージをアンインストールする
info パッケージ名 指定したパッケージの情報を表示する
list 全パッケージ情報をリスト表示する
search キーワード パッケージ情報をキーワード検索する
grouplist パッケージグループをリスト表示する
groupinstall グループ 指定したグループのパッケージをインストールする
------------------------------------------------------------------------
インストール済みのRPMパッケージを検証する
既にインストールしてあるRPMパッケージに対して、検査を行い問題がある場合には
問題点を表示する事が出来ます。
インストール済みのRPMパッケージを検証するには、rpmコマンドに「-V」オプションを
指定して実行します。
検査する項目は8種類になり、正の情報をオリジナルパッケージから抽出し、
RPMデータベースとの比較を行います。
検証結果は「.」(ドット)または記号8文字で表示され、ドットが表示された
項目については、検証結果に問題がないことを意味し、記号が表示された
箇所については問題があることを意味します。
[root@Tiger src]# rpm -V dovecot-1.2.3-1vl5.i386 ←RPMパッケージを検証する
S.5....T c /etc/dovecot.conf
■検証項目
記号
5:MD5和
S:ファイルサイズ
L:シンボリックリンク
T:改変時間
D:デバイス
U:ユーザ
G:グループ
M:モード(パーミッションやファイルの種類など)
RPMパッケージをインストールする
rpmパッケージをインストールするには、rpmコマンドにオプション「-i」を
付けてコマンドを実行します。また一般的に「-i」オプションと同時に使用される
サブオプションにはパッケージ名を表示する「-v」オプション、インストールの
進行状況を50個のハッシュ(#)で表示する「-h」オプションがあります。
このrpmは必ずしもroot権限を必要としませんが、インストールの過程で
root権限を必要とする処理がある場合、エラーが表示されるので注意が
必要です。
[root@Tiger src]# rpm -ivh krb5-devel-1.6.1-36.el5.i386.rpm ←rpmパッケージをインストールします。
警告: krb5-devel-1.6.1-36.el5.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID e8562897
準備中... ########################################### [100%]
1:krb5-devel ########################################### [100%]
※上記のRPM実行例で表示されている「警告(warning)」について
rpmコマンドを実行した際、上記の実行例のように「警告」、
またはwarningが表示される場合があります。
これはrpm4.1以降採用されたGPG署名のチェックが
行われていない事を意味します。
このメッセージが表示されても、インストールやアップグレードに
影響することはありませんが、警告メッセージを表示させないように
するには「RPM-GPG-KEY」ファイルを下記実行例のように
インポートする必要があります。
# rpm --import RPM-GPG-KEY
○CentOS5.5の場合
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
■ 関連記事
rpmコマンドの詳細はこちら
RPMパッケージの情報を表示する
インストール済みのRPMパッケージを確認する
特定のプログラムがどのRPMパッケージに含まれているかを確認する
RPMパッケージがインストールされたディレクトリを表示する
依存パッケージを表示する
RPMパッケージのインストールテストを行う
依存パッケージを表示する
RPMパッケージのインストール、アップグレード、削除などパッケージを
操作する場合には依存関係や競合が問題になることが多いです。
そこでこれらトラブルを避けるために、事前に依存関係のチェックを行う事が
重要になります。
特定のパッケージがどのようなパッケージに依存しているかを確認するには、
問い合わせを行う「-q」オプションに依存パッケージ名を表示する「-R」オプションを
併用してrpmコマンドを実行します。
[root@Tiger src]# rpm -qR dovecot ←依存パッケージを表示します。
initscripts
/usr/sbin/useradd
/sbin/chkconfig
/usr/sbin/useradd
/usr/sbin/userdel
/usr/sbin/groupdel
/sbin/chkconfig
/sbin/service
/sbin/service
/bin/sh
/bin/sh
/bin/sh
/bin/sh
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
/bin/bash
/bin/sh
libbz2.so.1
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.2)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.2)
libc.so.6(GLIBC_2.3.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libc.so.6(GLIBC_2.7)
libcap.so.2
libcrypt.so.1
libcrypt.so.1(GLIBC_2.0)
libcrypto.so.6
libdl.so.2
libdl.so.2(GLIBC_2.0)
libdl.so.2(GLIBC_2.1)
libpam.so.0
librt.so.1
librt.so.1(GLIBC_2.2)
libssl.so.6
libz.so.1
■ 関連記事
rpmコマンドの詳細はこちら
RPMパッケージの情報を表示する
インストール済みのRPMパッケージを確認する
特定のプログラムがどのRPMパッケージに含まれているかを確認する
RPMパッケージがインストールされたディレクトリを表示する
依存パッケージを表示する
RPMパッケージのインストールテストを行う
RPMパッケージのインストールテストを行う
rpmパッケージはその管理がとても容易で便利なものですが、
全くトラブルがないかと言えばそうでもありません。
依存関係や競合などの問題によりインストールコマンドを実行しても
エラーが表示されインストールできないこともあります。
しかし、インストール前にこうした問題が発生することがないかを
テストする事が出来ます。
テストを行うには、rpmコマンドに「--test」オプションを付けてインストールを
実行します。
このrpmは必ずしもroot権限を必要としませんが、インストールの過程で
root権限を必要とする処理がある場合、エラーが表示されるので注意が
必要です。
[root@Tiger src]# rpm -ivh --test zlib-devel-1.2.3-4vl5.i386.rpm ←rpmパッケージのインストールテストを行います。
※RPMの依存と競合
RPMパッケージはその管理がとても容易で便利なものですが、
全くトラブルがないかと言えばそうでもありません。
そのエラーの多くは、依存パッケージの不足と競合になります。
依存とは、インストールしようとしているパッケージを使用する上で、
必要となるパッケージがインストールされていないことでライブラリ不足が
発生しエラーになるケースです。依存エラーの場合、依存パッケージを先に
インストールする事で多くの場合エラー回避できます。
また、競合は同様の機能を提供するパッケージが
既にインストールされていることにより衝突が発生して
エラーになるケースです。
競合は、衝突しているパッケージを削除する事で
多く場合エラーを回避できます。
■ 関連記事
rpmコマンドの詳細はこちら
RPMパッケージの情報を表示する
インストール済みのRPMパッケージを確認する
特定のプログラムがどのRPMパッケージに含まれているかを確認する
RPMパッケージがインストールされたディレクトリを表示する
依存パッケージを表示する
RPMパッケージのインストールテストを行う
特定のプログラムがどのRPMパッケージに含まれているかを確認する
特定のプログラムからそのプログラムがどのRPMパッケージに
含まれているのかを確認するには、rpmコマンドに「-qf」オプションを付け、
引数にプログラム(実行ファイル)を指定します。
なお、下記の例にあるように、実行ファイルへのパスが環境変数$PATH、
またはシェル変数で定義されていないディレクトリに保存されている場合は
フルパス(絶対パス)で指定します。
[root@Tiger ~]# rpm -qf /usr/sbin/postmap ←実行ファイル/usr/sbin/postmapを含んでいるRPMパッケージを表示します。
postfix-2.3.3-2.1.el5_2
■ 関連記事
rpmコマンドの詳細はこちら
RPMパッケージの情報を表示する
インストール済みのRPMパッケージを確認する
特定のプログラムがどのRPMパッケージに含まれているかを確認する
RPMパッケージがインストールされたディレクトリを表示する
依存パッケージを表示する
RPMパッケージのインストールテストを行う
RPMパッケージがインストールされたディレクトリを表示する
特定のパッケージをインストールした際、関連ファイルがどこにあるのかを
確認するには、rpmコマンドに「-ql」オプションを付けて実行します。
引数としてはパッケージ名を指定します。
[root@Tiger ~]# rpm -ql postfix ←「postfix」の関連ファイル保存場所を表示
/etc/pam.d/smtp.postfix
/etc/postfix
/etc/postfix/LICENSE
/etc/postfix/TLS_LICENSE
/etc/postfix/access
/etc/postfix/bounce.cf.default
/etc/postfix/canonical
/etc/postfix/generic
/etc/postfix/header_checks
/etc/postfix/main.cf
/etc/postfix/main.cf.default
/etc/postfix/makedefs.out
/etc/postfix/master.cf
/etc/postfix/post-install
/etc/postfix/postfix-files
/etc/postfix/postfix-script
/etc/postfix/relocated
/etc/postfix/transport
/etc/postfix/virtual
(省略)
/var/spool/postfix/pid
/var/spool/postfix/private
/var/spool/postfix/public
/var/spool/postfix/saved
/var/spool/postfix/trace
■ 関連記事
rpmコマンドの詳細はこちら
RPMパッケージの情報を表示する
インストール済みのRPMパッケージを確認する
特定のプログラムがどのRPMパッケージに含まれているかを確認する
RPMパッケージがインストールされたディレクトリを表示する
依存パッケージを表示する
RPMパッケージのインストールテストを行う
RPMパッケージの情報を表示する
特定のパッケージがどのような機能を提供するものなのかを
調べるためには、問い合わせを行う-qオプションを使用し、
-iサブオプションを併用することにより、その情報を表示します。
引数として情報を表示したいパッケージのパッケージ名を指定します。
[root@Tiger ~]# rpm -qi nmap-4.11-1.1 ←rpmコマンドに「-qi」を付けて実行します。
Name : nmap Relocations: (not relocatable)
Version : 4.11 Vendor: CentOS
Release : 1.1 Build Date: 2007年01月06日 15時03分49秒
Install Date: 2010年01月08日 11時13分42秒 Build Host: builder1.centos.org
Group : Applications/System Source RPM: nmap-4.11-1.1.src.rpm
Size : 2365314 License: GPL
Signature : DSA/SHA1, 2007年04月04日 09時25分16秒, Key ID a8a447dce8562897
URL : http://www.insecure.org/nmap/
Summary : ネットワーク調査ツールおよびセキュリティスキャナ
Description :
Nmap is a utility for network exploration or security auditing. It supports
ping scanning (determine which hosts are up), many port scanning techniques
(determine what services the hosts are offering), and TCP/IP fingerprinting
(remote host operating system identification). Nmap also offers flexible target
and port specification, decoy scanning, determination of TCP sequence
predictability characteristics, reverse-identd scanning, and more.
■ 関連記事
rpmコマンドの詳細はこちら
RPMパッケージの情報を表示する
インストール済みのRPMパッケージを確認する
特定のプログラムがどのRPMパッケージに含まれているかを確認する
RPMパッケージがインストールされたディレクトリを表示する
依存パッケージを表示する
RPMパッケージのインストールテストを行う
RPMパッケージの確認コマンドまとめ(一覧・バージョン・逆引きなど)
「このサーバーにApacheは入ってる?バージョンは?」
「このファイルどのパッケージのもの?」など
サーバー管理や障害対応の現場では、こうした確認が日常的に発生します。
この記事では
rpmコマンドを使ったパッケージ確認の全手順を、コマンド例とともに体系的に解説します。一覧表示から絞り込み、バージョン確認、ファイル逆引きまで、今日から使える内容です。そもそもなぜ「rpm」コマンドで確認するのか
RHEL・AlmaLinux・Rocky Linux・Oracle Linuxなど、Red Hat系Linuxのパッケージ管理には RPM(Redhat Package Manager) が使われています。普段のインストールや削除には依存関係を自動解決してくれる
dnf(旧yum)コマンドを使うのが一般的です。しかし、「今システムに何が入っているかを確認する」用途ではrpmコマンドが今でも現場で重宝されます。rpmコマンドが活躍する具体的なシーン
・障害対応で「このパッケージのバージョンは?」と素早く確認したいとき・セキュリティパッチの適用前後に、バージョンが正しく変わったか確認するとき
・新サーバーのセットアップ後に、必要なパッケージがすべて入っているかチェックするとき
・「このコマンドはどのパッケージに含まれているの?」と逆引きしたいとき
