Linux の RPM コマンドの 20 の実践例
RPM (Red Hat Package Manager) は、デフォルトのオープンソースであり、(RHEL などの)Red Hat ベースのシステム用の最も一般的なパッケージ管理ユーティリティです。 、CentOS、Fedora)。このツールを使用すると、システム管理者とユーザーはインストール、更新、アンインストール、クエリ、確認を行うことができます。 とUnix/Linux オペレーティング システムのシステム ソフトウェア パッケージを管理します。以前は .rpm ファイルとして知られていた RPM。これには、パッケージに必要なコンパイルされたソフトウェア プログラムとライブラリが含まれます。このユーティリティは、.rpm 形式で構築されたパッケージでのみ機能します。
この記事では、 役に立つ20 RPM コマンドの例をいくつか紹介します。これらの rpm コマンドを使用すると、Linux システムでパッケージのインストール、更新、削除を管理できます。
RPM (RedHat Package Manager) に関するいくつかの事実
- RPM は無料で、GPL (一般公衆利用許諾) に基づいてリリースされています。
- RPM は、インストールされているすべてのパッケージの情報を /var/lib/rpm データベースに保存します。
- Linux システムにパッケージをインストールする唯一の方法は RPM です。ソース コードを使用してパッケージをインストールした場合、rpm はそれを管理できません。
- RPM は、.rpm ファイルを処理します。このファイルには、それが何であるか、どこから来たのか、などのパッケージに関する実際の情報が含まれています。 > 依存関係情報、バージョン情報など。
RPM コマンドには 5 つの基本モードがあります
- インストール : RPM パッケージをインストールするために使用されます。
- 削除 : RPM パッケージを消去、削除、またはアンインストールするために使用されます。
- アップグレード : 既存の RPM パッケージを更新するために使用されます。
- 検証 : RPM パッケージを検証するために使用されます。
- クエリ : RPM パッケージのクエリに使用されます。
RPM パッケージの場所
以下は、すべてのRPM パッケージを検索してダウンロードできる rpm サイトのリストです。
- http://rpmfind.net
- http://www.redhat.com
- http://freshrpms.net/
- http://rpm.pbone.net/
こちらもお読みください:
- Linux での 20 の YUM コマンド例
- Linux での 10 の Wget コマンドの例
- システム管理者にとって最も役立つ 30 の Linux コマンド
Linux にパッケージをインストールするときはルートユーザーである必要があることに注意してください。ルート権限があれば、適切なオプションを使用して rpm コマンドを管理できます。
1. RPM 署名パッケージを確認する方法
Linux システムにパッケージをインストールする前に必ずパッケージの PGP 署名をチェックし、その整合性と生成元がOKであることを確認してください。 –checksig (署名の確認) オプションを指定して次のコマンドを使用して、pidgin というパッケージの署名を確認します。
[root@tecmint]# rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm
pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK
2. RPM パッケージのインストール方法
rpm ソフトウェア パッケージをインストールするには、-i オプションを指定して次のコマンドを使用します。たとえば、pidgin-2.7.9-5.el6.2.i686.rpm という rpm パッケージをインストールします。
[root@tecmint]# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm
Preparing... ########################################### [100%]
1:pidgin ########################################### [100%]
RPMコマンドとオプション
- -i : パッケージをインストールします
- -v : 表示を見やすくするために冗長化します。
- -h: パッケージ アーカイブが解凍されるときにハッシュ マークを出力します。
3. インストール前にRPMパッケージの依存関係を確認する方法
パッケージをインストールまたはアップグレードする前に依存関係チェックを実行したいとします。たとえば、BitTorrent-5.2.2-1-Python2.4.noarch.rpm パッケージの依存関係を確認するには、次のコマンドを使用します。パッケージの依存関係のリストが表示されます。
[root@tecmint]# rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm
/usr/bin/python2.4
python >= 2.3
python(abi) = 2.4
python-crypto >= 2.0
python-psyco
python-twisted >= 2.0
python-zopeinterface
rpmlib(CompressedFileNames) = 2.6
RPMコマンドとオプション
- -q : パッケージをクエリします
- -p : このパッケージが提供する機能をリストします。
- -R: このパッケージが依存する機能をリストします。
4. 依存関係なしで RPM パッケージをインストールする方法
必要なパッケージがすべてすでにインストールされており、RPM が愚かであることがわかっている場合は、 をインストールする前にオプション –nodeps (依存関係チェックなし) を使用してそれらの依存関係を無視できます。パッケージ。
[root@tecmint]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
Preparing... ########################################### [100%]
1:BitTorrent ########################################### [100%]
上記のコマンドは依存関係エラーを無視して rpm パッケージを強制的にインストールしますが、依存関係ファイルが欠落している場合、それらをインストールするまでプログラムはまったく機能しません。
5. インストールされている RPM パッケージを確認する方法
パッケージ名とともに -q オプションを使用すると、rpm がインストールされているかどうかが表示されます。
[root@tecmint]# rpm -q BitTorrent
BitTorrent-5.2.2-1.noarch
6. インストールされている RPM パッケージのすべてのファイルを一覧表示する方法
インストールされている rpm パッケージのすべてのファイルを表示するには、rpm コマンドで -ql (クエリ リスト) を使用します。
[root@tecmint]# rpm -ql BitTorrent
/usr/bin/bittorrent
/usr/bin/bittorrent-console
/usr/bin/bittorrent-curses
/usr/bin/bittorrent-tracker
/usr/bin/changetracker-console
/usr/bin/launchmany-console
/usr/bin/launchmany-curses
/usr/bin/maketorrent
/usr/bin/maketorrent-console
/usr/bin/torrentinfo-console
7. 最近インストールされた RPM パッケージを一覧表示する方法
次の rpm コマンドを -qa (すべてクエリ) オプションとともに使用すると、最近インストールされたすべての rpm パッケージが一覧表示されます。
[root@tecmint]# rpm -qa --last
BitTorrent-5.2.2-1.noarch Tue 04 Dec 2012 05:14:06 PM BDT
pidgin-2.7.9-5.el6.2.i686 Tue 04 Dec 2012 05:13:51 PM BDT
cyrus-sasl-devel-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:06 PM BDT
cyrus-sasl-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:05 PM BDT
cyrus-sasl-md5-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:04 PM BDT
cyrus-sasl-plain-2.1.23-13.el6_3.1.i686 Tue 04 Dec 2012 04:43:03 PM BDT
8. インストールされているすべての RPM パッケージを一覧表示する方法
次のコマンドを入力して、Linux システムにインストールされているパッケージのすべての名前を出力します。
[root@tecmint]# rpm -qa
initscripts-9.03.31-2.el6.centos.i686
polkit-desktop-policy-0.96-2.el6_0.1.noarch
thunderbird-17.0-1.el6.remi.i686
9. RPM パッケージをアップグレードする方法
RPM パッケージをアップグレードする場合は、「–U」 (アップグレード) オプションが使用されます。このオプションを使用する主な利点の 1 つは、パッケージの最新バージョンをアップグレードするだけでなく、新しいアップグレードされたパッケージが以前にインストールしたパッケージを実行できない場合に備えて、古いパッケージのバックアップも維持されることです。再び使用できます。
[root@tecmint]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
Preparing... ########################################### [100%]
1:nx ########################################### [100%]
10. RPM パッケージを削除する方法
たとえば、RPM パッケージをアンインストールするには、元のパッケージ名 nx-3.5.0-2.el6.centos.i686.rpm ではなく、パッケージ名 nx を使用します。 >。 -e (消去) オプションは、パッケージを削除するために使用されます。
[root@tecmint]# rpm -evv nx
11. 依存関係のない RPM パッケージを削除する方法
–nodeps (依存関係をチェックしない) オプションは、システムから rpm パッケージを強制的に削除します。ただし、特定のパッケージを削除すると、動作している他のアプリケーションが破損する可能性があることに注意してください。
[root@tecmint]# rpm -ev --nodeps vsftpd
12. どの RPM パッケージに属するファイルをクエリする方法
ファイルのリストがあり、どのパッケージがこれらのファイルに属しているかを調べたいとします。たとえば、次のコマンドに -qf (クエリ ファイル) オプションを指定すると、ファイル /usr/bin/htpasswd がパッケージごとに所有されていることが表示されます。 httpd-tools-2.2.15-15.el6.centos.1.i686。
[root@tecmint]# rpm -qf /usr/bin/htpasswd
httpd-tools-2.2.15-15.el6.centos.1.i686
13. インストールされている RPM パッケージの情報を照会する方法
rpm パッケージをインストールしており、そのパッケージに関する情報を知りたいとします。次の -qi (クエリ情報) オプションは、インストールされているパッケージの利用可能な情報を出力します。
[root@tecmint]# rpm -qi vsftpd
Name : vsftpd Relocations: (not relocatable)
Version : 2.2.2 Vendor: CentOS
Release : 11.el6 Build Date: Fri 22 Jun 2012 01:54:24 PM BDT
Install Date: Mon 17 Sep 2012 07:55:28 PM BDT Build Host: c6b8.bsys.dev.centos.org
Group : System Environment/Daemons Source RPM: vsftpd-2.2.2-11.el6.src.rpm
Size : 351932 License: GPLv2 with exceptions
Signature : RSA/SHA1, Mon 25 Jun 2012 04:07:34 AM BDT, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://vsftpd.beasts.org/
Summary : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
14. インストール前にRPMパッケージの情報を取得する
インターネットからパッケージをダウンロードしましたが、インストールする前にパッケージの情報を知りたいと考えています。たとえば、次のオプション -qip (クエリ情報パッケージ) は、パッケージ sqlbuddy の情報を出力します。
[root@tecmint]# rpm -qip sqlbuddy-1.3.3-1.noarch.rpm
Name : sqlbuddy Relocations: (not relocatable)
Version : 1.3.3 Vendor: (none)
Release : 1 Build Date: Wed 02 Nov 2011 11:01:21 PM BDT
Install Date: (not installed) Build Host: rpm.bar.baz
Group : Applications/Internet Source RPM: sqlbuddy-1.3.3-1.src.rpm
Size : 1155804 License: MIT
Signature : (none)
Packager : Erik M Jacobs
URL : http://www.sqlbuddy.com/
Summary : SQL Buddy â Web based MySQL administration
Description :
SQLBuddy is a PHP script that allows for web-based MySQL administration.
15. インストールされた RPM パッケージのドキュメントを照会する方法
インストールされているパッケージの利用可能なドキュメントのリストを取得するには、オプション -qdf (クエリ ドキュメント ファイル) を指定して次のコマンドを使用すると、vmstat パッケージに関連するマニュアル ページが表示されます。
[root@tecmint]# rpm -qdf /usr/bin/vmstat
/usr/share/doc/procps-3.2.8/BUGS
/usr/share/doc/procps-3.2.8/COPYING
/usr/share/doc/procps-3.2.8/COPYING.LIB
/usr/share/doc/procps-3.2.8/FAQ
/usr/share/doc/procps-3.2.8/NEWS
/usr/share/doc/procps-3.2.8/TODO
16. RPM パッケージを検証する方法
パッケージを検証すると、パッケージのインストールされたファイルの情報が rpm データベースと比較されます。 -Vp (パッケージの検証) は、パッケージを検証するために使用されます。
[root@tecmint downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. すべての RPM パッケージを確認する方法
次のコマンドを入力して、インストールされているすべての rpm パッケージを確認します。
[root@tecmint]# rpm -Va
S.5....T. c /etc/rc.d/rc.local
.......T. c /etc/dnsmasq.conf
.......T. /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
S.5....T. c /etc/yum.conf
S.5....T. c /etc/yum.repos.d/epel.repo
18. RPM GPG キーをインポートする方法
RHEL/CentOS/Fedora パッケージを検証するには、GPG キーをインポートする必要があります。これを行うには、次のコマンドを実行します。 CentOS 6 GPG キーをインポートします。
[root@tecmint]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
19. インポートされたすべての RPM GPG キーを一覧表示する方法
システムにインポートされたすべてのGPG キーを印刷するには、次のコマンドを使用します。
[root@tecmint]# rpm -qa gpg-pubkey*
gpg-pubkey-0608b895-4bd22942
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-0f2672c8-4cd950ee
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-00f97f56-467e318a
gpg-pubkey-6b8d79e6-3f49313d
gpg-pubkey-849c449f-4cb9df30
20. 破損したRPMデータベースを再構築する方法
場合によっては、rpm データベースが破損し、システム上の rpm およびその他のアプリケーションのすべての機能が停止します。したがって、現時点では、次のコマンドを使用して rpm データベースを再構築し、復元する必要があります。
[root@tecmint]# cd /var/lib
[root@tecmint]# rm __db*
[root@tecmint]# rpm --rebuilddb
[root@tecmint]# rpmdb_verify Packages