RPM(Red Hat Package Manager)は、CentOS、Fedora、Rocky、およびAlma LinuxなどのRed Hatベースのシステム向けのデフォルトのオープンソースで広く使用されているパッケージ管理ユーティリティです。
rpmパッケージ管理ツールを使用すると、システム管理者やユーザーはUnix/Linuxオペレーティングシステム上でソフトウェアパッケージのインストール、更新、アンインストール、クエリ、検証、および管理を行うことができます。かつて.rpm
ファイルとして知られていましたが、これにはパッケージに必要なコンパイルされたソフトウェアプログラムとライブラリが含まれています。
この記事では、あなたの役に立つかもしれないRPMコマンドの20の有用な例を提供します。これらのRPMコマンドの助けを借りて、Linuxシステム上のパッケージのインストール、更新、および削除を管理できます。
RPMの事実
ここにRPM(Red Hat Package Manager)に関するいくつかの事実があります:
- RPMは無料で利用可能であり、一般公開ライセンス(GPL)の下でリリースされています。
- RPMは、すべてのインストールされたパッケージのデータベースを維持し、この情報を
/var/lib/rpm
ディレクトリに保存します。 - RPMは、Linuxシステム上でパッケージをインストールするための主要な方法として機能します。ソースコードを使用してパッケージをインストールした場合、RPMはそれらを管理しません。
- RPMは
.rpm
ファイルで動作し、その中には識別子、ソース、依存関係、バージョンの詳細など、重要なパッケージ情報が含まれています。
RPMコマンドの基本モード
RPMコマンドの主要なモードは次のとおりです:
- インストール –
rpm -i
コマンドはシステムに新しいパッケージをインストールします。 - アップグレード –
rpm -U
コマンドは既存のパッケージを新しいバージョンにアップグレードします。 - 削除 –
rpm -e
コマンドはシステムからパッケージをアンインストールまたは削除します。 - クエリ –
rpm -q
コマンドはインストールされたパッケージに関する情報をRPMデータベースにクエリします。 - 検証 –
rpm -V
コマンドはインストールされたパッケージファイルの整合性を検証します。 - フレッシュアップ –
rpm -F
コマンドは既にインストールされている場合にのみパッケージをアップグレードまたはインストールします。 - データベースの再構築 –
rpm --rebuilddb
コマンドはRPMデータベースを再構築し、データベースの破損問題を解決します。 - GPGキーのインポート –
rpm --import
コマンドはパッケージ署名の検証に使用されるGPGキーをインポートします。 - すべてのクエリ –
rpm -qa
コマンドはシステムにインストールされたすべてのパッケージをリストします。 - ファイルのクエリ –
rpm -ql
コマンドは特定のパッケージによってインストールされたすべてのファイルをリストします。 - ドキュメントのクエリ –
rpm -qd
コマンドはパッケージによって提供されるドキュメントファイルをリストします。 - 依存関係のクエリ –
rpm -qR
コマンドはパッケージのランタイム依存関係をリストします。 - クエリ提供 –
rpm -q --provides
コマンドはパッケージが提供する機能をリストします。 - クエリ要件 –
rpm -q --requires
コマンドはパッケージに必要な依存関係をリストします。
RPMパッケージの見つけ方
Linuxディストリビューションによって異なりますが、RPMパッケージを見つけてダウンロードできるいくつかの場所があります。ここに、すべてのRPMパッケージを見つけることができる一般的な場所を示します。
必ずしもrootユーザーでLinuxでパッケージをインストールする必要があります。root特権を持つと、rpmコマンドを適切なオプションで管理できます。
1. RPMパッケージの署名を確認する方法
Linuxシステムにインストールする前に、常にPGP署名を確認し、それらの完全性と由来がOKであることを確認してください。
次のコマンドを--checksig
(署名の確認)オプションで使用して、hardinfoというパッケージの署名を確認します。
rpm --checksig hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm: digests OK
2. RPMパッケージをインストールする方法
RPMソフトウェアパッケージをインストールするには、-ivh
オプションを使用して次のコマンドを実行し、Linuxシステムにhardinfo-2.0.11-FedoraLinux-39.x86_64.rpmというrpmパッケージをインストールします。
rpm -ivh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:hardinfo-2.0.11-1 ################################# [100%]
上記のコマンドの構成要素を分解しましょう:
-i
: パッケージをインストールする-v
: より良い表示のための詳細情報-h
: インストールの進行状況を示すためにハッシュマーク(#)を表示します。
3. RPMパッケージの依存関係をインストール前に確認する方法
インストールまたはアップグレードする前にパッケージの依存関係を確認したいとします。例えば、次のコマンドを使用してhardinfo-2.0.11-FedoraLinux-39.x86_64.rpmパッケージの依存関係を確認します。
このコマンドは、「hardinfo」パッケージに必要なランタイム依存関係を照会して表示し、パッケージをインストールする前にすべての必要な依存関係が満たされていることを確認するのに役立ちます。
rpm -qpR hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm libX11.so.6()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.38)(64bit) libc.so.6(GLIBC_2.7)(64bit) libcairo-gobject.so.2()(64bit) libcairo.so.2()(64bit) ...
上記のコマンドの構成要素を分解しましょう:
-q
: パッケージを照会します。-p
: このパッケージが提供する機能をリストします。-R
: このパッケージが依存する機能をリストします。
4. 依存関係なしでRPMパッケージをインストールする方法
依存関係をチェックまたは解決せずにrpmパッケージをインストールするには、--nodeps
オプションを使用できます。これにより、依存関係をチェックせずにRPMパッケージを強制的にインストールします。
rpm -ivh --nodeps hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
上記のコマンドは、依存関係エラーを無視してrpmパッケージを強制的にインストールしますが、それらの依存関係ファイルが存在しない場合、プログラムはすべての依存関係ファイルがインストールされるまで完全には動作しません。
5. インストールされたRPMパッケージを確認する方法
インストールされたrpmパッケージを確認するには、-q
オプションを使用できます。これにより、インストールされたパッケージのバージョンに関する情報を照会して表示します。
rpm -q hardinfo hardinfo-2.0.11-1.x86_64
6. RPMファイルがインストールされている場所を見つける方法
インストールされたrpmパッケージのすべてのファイルを表示するには、rpmコマンドで-ql
(クエリリスト)を使用します。
rpm -ql hardinfo /usr/bin/hardinfo2 /usr/lib/.build-id /usr/lib/.build-id/3a /usr/lib/.build-id/53 /usr/lib/.build-id/7c /usr/lib/.build-id/ba /usr/lib/.build-id/e0 /usr/lib64/hardinfo2 /usr/lib64/hardinfo2/modules /usr/lib64/hardinfo2/modules/benchmark.so /usr/lib64/hardinfo2/modules/computer.so /usr/lib64/hardinfo2/modules/devices.so /usr/lib64/hardinfo2/modules/network.so ...
7. 最近インストールされたRPMパッケージのリスト
次のrpmコマンドを-qa
(クエリオール)オプションで使用すると、最近インストールされたすべてのrpmパッケージがリストされます。
rpm -qa --last hardinfo-2.0.11-1.x86_64 Mon 04 Mar 2024 01:32:14 PM IST pipewire-pulseaudio-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST pipewire-jack-audio-connection-kit-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST pipewire-alsa-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST libsoup-devel-2.74.3-3.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST json-glib-devel-1.8.0-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST gtk3-devel-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST xdg-desktop-portal-gtk-1.15.1-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST xdg-desktop-portal-1.18.2-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST libcanberra-gtk3-0.30-32.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST gtk3-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST ...
8. すべてのインストールされたRPMパッケージのリスト
次のコマンドを入力して、Linuxシステム上のインストールされたパッケージの名前をすべて印刷します。
rpm -qa fonts-filesystem-2.0.5-12.fc39.noarch libreport-filesystem-2.17.11-3.fc39.noarch hunspell-filesystem-1.7.2-5.fc39.x86_64 abattis-cantarell-vf-fonts-0.301-10.fc39.noarch fedora-gpg-keys-39-1.noarch fedora-repos-39-1.noarch setup-2.14.4-1.fc39.noarch filesystem-3.18-6.fc39.x86_64 basesystem-11-18.fc39.noarch default-fonts-core-sans-4.0-9.fc39.noarch langpacks-fonts-en-4.0-9.fc39.noarch ...
9. RPMパッケージのアップグレード方法
RPMパッケージをアップグレードする場合は、“–U
”(アップグレード)オプションを使用します。このオプションを使用する主な利点の1つは、パッケージの最新バージョンをアップグレードするだけでなく、古いパッケージのバックアップも維持することです。そのため、もし新しくアップグレードされたパッケージが実行されない場合は、以前にインストールされたパッケージを再び使用できます。
rpm -Uvh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
10. RPMパッケージの削除方法
RPMパッケージをアンインストールするには、例えば、パッケージ名hardinfoを使用しますが、元のパッケージ名hardinfo-2.0.11-FedoraLinux-39.x86_64.rpmではありません。-e (erase)
オプションを使用してパッケージを削除します。
rpm -evv hardinfo
11. 依存関係なしでRPMパッケージを削除する方法
--nodeps
(依存関係をチェックしない)オプションを使用して、rpmパッケージをシステムから強制的に削除できます。ただし、特定のパッケージを削除すると、他の動作中のアプリケーションが破損する可能性があることに注意してください。
rpm -ev --nodeps hardinfo
12. 特定のファイルのRPMパッケージを見つける方法
ファイルのリストがあり、これらのファイルがどのパッケージに属しているかを知りたいとします。たとえば、次のコマンドは-qf
(ファイルのクエリ)オプションとともに、/usr/bin/htpasswdというファイルがhttpd-tools-2.4.58-1.fc39.x86_64というパッケージによって所有されていることを示します。
rpm -qf /usr/bin/htpasswd httpd-tools-2.4.58-1.fc39.x86_64
13. インストールされたRPMパッケージの情報をクエリする方法
あるRPMパッケージをインストールし、そのパッケージの情報を知りたい場合は、次の-qi
(クエリ情報) オプションが、インストールされたパッケージの利用可能な情報を表示します。
rpm -qi hardinfo Name : hardinfo Version : 2.0.11 Release : 1 Architecture: x86_64 Install Date: Mon 04 Mar 2024 01:32:14 PM IST Group : unknown Size : 5174404 License : GPL2+ Signature : (none) Source RPM : hardinfo-2.0.11-1.src.rpm Build Date : Sat 02 Mar 2024 06:37:42 AM IST Build Host : fedora.bigbear.dk Relocations : /usr Vendor : Humanity URL : https://www.hardinfo2.org Summary : hardinfo2 built using CMake Description : Hardinfo2 is a small application that displays information about your hardware and operating system. It has online benchmarking to check your machine performance against other machines.
14. インストール前のRPMパッケージの情報を取得する
インターネットからパッケージをダウンロードし、インストールする前にパッケージの情報を知りたい場合は、次のオプション-qip
(パッケージ情報のクエリ) が、パッケージsqlbuddyの情報を表示します。
rpm -qip sqlbuddy 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パッケージに関連するマニュアルページを表示します。
rpm -qdf /usr/bin/vmstat /usr/share/doc/procps-ng/AUTHORS /usr/share/doc/procps-ng/FAQ /usr/share/doc/procps-ng/NEWS /usr/share/doc/procps-ng/README.md /usr/share/doc/procps-ng/bugs.md /usr/share/man/man1/free.1.gz /usr/share/man/man1/pgrep.1.gz ...
16. RPMパッケージの検証方法
パッケージの検証は、パッケージのインストールされたファイルの情報をrpmデータベースと比較します。 -Vp
(パッケージの検証)は、パッケージを検証するために使用されます。
rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. すべてのRPMパッケージを確認する方法
次のコマンドを入力して、インストールされているすべてのrpmパッケージを検証します。
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 8のGPGキーがインポートされます。
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
19. インポートされたすべてのRPM GPGキーをリストする方法
システムにインポートされたすべてのGPGキーを印刷するには、次のコマンドを使用します。
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データベースを再構築し、復元します。
cd /var/lib rm __db* rpm --rebuilddb rpmdb_verify Packages
まとめると、提示されたrpmコマンドは、RHELベースのLinuxディストリビューションでソフトウェアパッケージを効率的に管理するための包括的なガイドを提供します。
Source:
https://www.tecmint.com/20-practical-examples-of-rpm-commands-in-linux/