RPM コマンドは、Linux システムでの RPM パッケージのインストール、アンインストール、アップグレード、クエリ、一覧表示、およびチェックに使用されます。 .
RPM は R の略です ed Hat P 荷物 M
root 権限があれば、適切なオプションを指定して rpm コマンドを使用して、RPM ソフトウェア パッケージを管理できます。
この記事では、rpm コマンドの 15 の実際的な例を見てみましょう。
Mysql クライアントの rpm を使用して、すべての例を実行してみましょう。
1. rpm -ivh を使用した RPM パッケージのインストール
RPM ファイル名には、パッケージ名、バージョン、リリース、アーキテクチャ名が含まれます。
たとえば、MySQL-client-3.23.57-1.i386.rpm ファイルでは:
- MySQL クライアント – パッケージ名
- 3.23.57 – バージョン
- 1 – リリース
- i386 – アーキテクチャ
RPMをインストールすると、システムがRPMパッケージに含まれるソフトウェアに適しているかどうかがチェックされ、rpmパッケージ内にあるファイルをインストールする場所が特定され、システムにインストールされ、そのソフトウェアの一部がデータベースに追加されます.インストールされた RPM パッケージ。
次の rpm コマンドは、Mysql クライアント パッケージをインストールします。
# rpm -ivh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%]
rpm コマンドとオプション
- -i :パッケージをインストールします
- -v :詳細
- -h :パッケージ アーカイブが展開されるときにハッシュ マークを出力します。
Debian では dpkg、Solaris では pkgadd、HP-UX では depot を使用してパッケージをインストールすることもできます。
2. rpm -qa を使用してすべての RPM パッケージを照会します
rpm コマンドを使用して、システムにインストールされているすべてのパッケージを照会できます。
# rpm -qa cdrecord-2.01-10.7.el5 bluez-libs-3.7-1.1 setarch-2.0-1.1 . .
- -q クエリ操作
- -a は、インストールされているすべてのパッケージを照会します
特定の rpm パッケージがシステムにインストールされているかどうかを確認するには、以下に示すように rpm と grep コマンドを組み合わせます。次のコマンドは、cdrecord パッケージがシステムにインストールされているかどうかを確認します。
# rpm -qa | grep 'cdrecord'
3. rpm -q を使用して特定の RPM パッケージを照会する
上記の例は、現在インストールされているすべてのパッケージを一覧表示します。パッケージをインストールしてインストールを確認した後、特定のパッケージを照会して、以下に示すように確認できます。
# rpm -q MySQL-client MySQL-client-3.23.57-1 # rpm -q MySQL package MySQL is not installed
注:パッケージを照会するには、正確なパッケージ名を指定する必要があります。パッケージ名が正しくない場合、rpm コマンドはパッケージがインストールされていないと報告します。
4. rpm –queryformat を使用して、さまざまな形式で RPM パッケージを照会します
rpm コマンドには、オプション –queryformat が用意されています。これにより、ヘッダー タグ名を指定して、パッケージを一覧表示できます。ヘッダータグを {} で囲みます。
# rpm -qa --queryformat '%{name}-%{version}-%{release} %{size}\n' cdrecord-2.01-10.7 12324 bluez-libs-3.7-1.1 5634 setarch-2.0-1.1 235563 . . #
5.ファイルはどの RPM パッケージに属していますか? – rpm -qf を使用
ファイルのリストがあり、これらすべてのファイルを所有しているパッケージを知りたいとします。 rpm コマンドには、これを実現するためのオプションがあります。
次の例は、/usr/bin/mysqlaccess ファイルが MySQL-client-3.23.57-1 rpm の一部であることを示しています。
# rpm -qf /usr/bin/mysqlaccess MySQL-client-3.23.57-1
- -f :ファイル名
6. rpm -qdf を使用して、ファイルを所有するパッケージのドキュメントを見つけます
以下を使用して、ファイルを所有するパッケージのドキュメントのリストを確認してください。次のコマンドは、mysql パッケージに関連するすべてのマニュアル ページの場所を示します。
# rpm -qdf /usr/bin/mysqlaccess /usr/share/man/man1/mysql.1.gz /usr/share/man/man1/mysqlaccess.1.gz /usr/share/man/man1/mysqladmin.1.gz /usr/share/man/man1/mysqldump.1.gz /usr/share/man/man1/mysqlshow.1.gz
- -d :ドキュメントを参照します。
7. rpm -qi を使用してインストールされた RPM パッケージに関する情報
rpm コマンドは、以下に示すように rpm -qi を使用して、インストールされたパッケージに関する多くの情報を提供します:
# rpm -qi MySQL-client Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: Mon 06 Feb 2010 03:19:16 AM PST Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
インストールしたい RPM ファイルがあり、インストールする前に詳細情報を知りたい場合は、次の手順を実行できます。
# rpm -qip MySQL-client-3.23.57-1.i386.rpm Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: (not installed) Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
- -i :rpm に関する情報を表示します
- -p :パッケージ名を指定します
8. rpm -qlp を使用してパッケージ内のすべてのファイルを一覧表示
RPM パッケージの内容を一覧表示するには、次のコマンドを使用します。このコマンドは、ローカル ディレクトリ フォルダーに抽出せずにファイルを一覧表示します。
$ rpm -qlp ovpc-2.1.10.rpm /usr/bin/mysqlaccess /usr/bin/mysqldata /usr/bin/mysqlperm . . /usr/bin/mysqladmin
- q :rpm ファイルを照会します
- l :パッケージ内のファイルを一覧表示します
- p :パッケージ名を指定します
前に説明したように、rpm2cpio を使用して RPM パッケージからファイルを抽出することもできます。
9. rpm -qRP を使用して依存関係パッケージを一覧表示します
このパッケージが依存するパッケージのリストを表示するには、
# rpm -qRp MySQL-client-3.23.57-1.i386.rpm /bin/sh /usr/bin/perl
10. rpm -qsp を使用してパッケージ内のファイルの状態を調べる
次のコマンドは、RPM パッケージ内のすべてのファイルの状態 (インストール済み、置換済み、または正常) を見つけるためのものです。
# rpm -qsp MySQL-client-3.23.57-1.i386.rpm normal /usr/bin/msql2mysql normal /usr/bin/mysql normal /usr/bin/mysql_find_rows normal /usr/bin/mysqlaccess normal /usr/bin/mysqladmin normal /usr/bin/mysqlbinlog normal /usr/bin/mysqlcheck normal /usr/bin/mysqldump normal /usr/bin/mysqlimport normal /usr/bin/mysqlshow normal /usr/share/man/man1/mysql.1.gz normal /usr/share/man/man1/mysqlaccess.1.gz normal /usr/share/man/man1/mysqladmin.1.gz normal /usr/share/man/man1/mysqldump.1.gz normal /usr/share/man/man1/mysqlshow.1.gz
11. rpm -Vp を使用して特定の RPM パッケージを検証する
パッケージの検証では、パッケージにインストールされているファイルに関する情報と、rpm データベースに格納されているパッケージ メタデータから取得されたファイルに関する情報を比較します。次のコマンドでは、-V は検証用であり、-p オプションは検証するパッケージ名を指定するために使用されます。
# rpm -Vp MySQL-client-3.23.57-1.i386.rpm S.5....T c /usr/bin/msql2mysql S.5....T c /usr/bin/mysql S.5....T c /usr/bin/mysql_find_rows S.5....T c /usr/bin/mysqlaccess
上記の出力の文字は、次を意味します:
- S ファイル サイズが異なります
- M モードが異なる (権限とファイルの種類を含む)
- 5 MD5 合計が異なります
- D デバイスのメジャー/マイナー番号の不一致
- L readlink(2) パスの不一致
- U ユーザーの所有権が異なります
- G グループの所有権が異なります
- T mTime が異なります
12. rpm -Vf を使用してパッケージ所有ファイルを確認します
次のコマンドは、指定されたファイル名を所有するパッケージを検証します。
# rpm -Vf /usr/bin/mysqlaccess S.5....T c /usr/bin/mysql #
13. rpm -Uvh を使用した RPM パッケージのアップグレード
パッケージのアップグレードはパッケージのインストールと似ていますが、RPM は新しいパッケージをインストールする前に既存のバージョンのパッケージを自動的にアンインストールします。パッケージの古いバージョンが見つからない場合でも、アップグレード オプションはそれをインストールします。
# rpm -Uvh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ###########################################
14. rpm -e を使用した RPM パッケージのアンインストール
以下に示すように、-e を使用してインストール済みの rpm パッケージを削除します。アンインストール後、rpm -qa を使用してクエリを実行し、アンインストールを確認できます。
# rpm -ev MySQL-client
15. rpm -Va を使用してすべての RPM パッケージを確認する
次のコマンドは、インストールされているすべてのパッケージを検証します。
# rpm -Va S.5....T c /etc/issue S.5....T c /etc/issue.net S.5....T c /var/service/imap/ssl/seed S.5....T c /home/httpd/html/horde/ingo/config/backends.php . . S.5....T c /home/httpd/html/horde/ingo/config/prefs.php S.5....T c /etc/printcap