ウェブサイト検索

Linux の RPM コマンドの 20 の実践例


RPM (Red Hat Package Manager) は、デフォルトのオープンソースであり、(RHEL などの)Red Hat ベースのシステム用の最も一般的なパッケージ管理ユーティリティです。 CentOSFedora)。このツールを使用すると、システム管理者とユーザーはインストール更新アンインストールクエリ確認を行うことができます。 とUnix/Linux オペレーティング システムのシステム ソフトウェア パッケージを管理します。以前は .rpm ファイルとして知られていた RPM。これには、パッケージに必要なコンパイルされたソフトウェア プログラムとライブラリが含まれます。このユーティリティは、.rpm 形式で構築されたパッケージでのみ機能します。

この記事では、 役に立つ20 RPM コマンドの例をいくつか紹介します。これらの rpm コマンドを使用すると、Linux システムでパッケージのインストール、更新、削除を管理できます。

RPM (RedHat Package Manager) に関するいくつかの事実

  1. RPM は無料で、GPL (一般公衆利用許諾) に基づいてリリースされています。
  2. RPM は、インストールされているすべてのパッケージの情報を /var/lib/rpm データベースに保存します。
  3. Linux システムにパッケージをインストールする唯一の方法は RPM です。ソース コードを使用してパッケージをインストールした場合、rpm はそれを管理できません。
  4. RPM は、.rpm ファイルを処理します。このファイルには、それが何であるかどこから来たのかなどのパッケージに関する実際の情報が含まれています。 > 依存関係情報バージョン情報など。

RPM コマンドには 5 つの基本モードがあります

  1. インストール : RPM パッケージをインストールするために使用されます。
  2. 削除 : RPM パッケージを消去、削除、またはアンインストールするために使用されます。
  3. アップグレード : 既存の RPM パッケージを更新するために使用されます。
  4. 検証 : RPM パッケージを検証するために使用されます。
  5. クエリ : RPM パッケージのクエリに使用されます。

RPM パッケージの場所

以下は、すべてのRPM パッケージを検索してダウンロードできる rpm サイトのリストです。

  1. http://rpmfind.net
  2. http://www.redhat.com
  3. http://freshrpms.net/
  4. http://rpm.pbone.net/

こちらもお読みください:

  1. Linux での 20 の YUM コマンド例
  2. Linux での 10 の Wget コマンドの例
  3. システム管理者にとって最も役立つ 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コマンドとオプション
  1. -i : パッケージをインストールします
  2. -v : 表示を見やすくするために冗長化します。
  3. -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コマンドとオプション
  1. -q : パッケージをクエリします
  2. -p : このパッケージが提供する機能をリストします。
  3. -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