どーも!marusukeです!
RPMパッケージを追加、削除、更新するためのコマンドrpm
について説明します!
rpmコマンドとは
Red Hat社が開発したRPMパッケージ管理システムのコマンドです
Red Hat Enterprise LinuxやFedoraやCentOS、Rocky LinuxなどのRed Hat系のディストリビューションのパッケージをインストールしたり、アンインストールしたり、アップデートしたりするコマンドです
rpmコマンドの書式
# rpm [オプション] [パッケージファイル]
rpm
コマンドは、RPM パッケージファイルのインストール、アップグレード、削除、検証、クエリなどを行うことができます
※コマンド実行時はroot権限が必要になります
rpmコマンドの使用例
# rpm -qa | grep nginx
nginx-1.18.0-1.el8.ngx.x86_64
この例では、システムにインストールされている nginx
パッケージを検索しています
rpmコマンドのオプション
オプションはインストールモード(アップグレードモード)、アンインストールモード、照会モードの3つがあります。また、それぞれのモードで併用できるオプションがあります
インストールモード・アップグレードモードのオプション
オプション | 説明 |
---|---|
-i , --install | 指定したパッケージをインストールする |
-U , --upgrade | 指定したパッケージをアップグレードする。なければインストールする |
-F --freshin | 指定したパッケージをインストールする |
以下は併用できるコマンドです
オプション | 説明 |
---|---|
-v | 詳細情報を表示する |
-h , --hash | ハッシュマーク# で進捗を表示する |
インストールする際のコマンド使用例(詳細情報部分は表示イメージです)
rpm -ivh sample-package-1.0-1.el8.x86_64.rpm
準備中... ################################# [100%]
インストール中: sample-package ################################# [100%]
アップグレードする際のコマンド使用例(詳細情報部分は表示イメージです)
rpm -Uvh sample-package-2.0-1.el8.x86_64.rpm
準備中... ################################# [100%]
アップグレード/インストール中... ################################# [100%]
アップグレードする際のコマンド使用例(詳細情報部分は表示イメージです)
rpm -Fvh sample-package-2.1-1.el8.x86_64.rpm
準備中... ################################# [100%]
アップグレード中: updated-package ################################# [100%]
アンインストールモードのオプション
オプション | 説明 |
---|---|
-e , --erase | パッケージを削除する (アンインストールモード) |
以下は併用できるコマンドです
オプション | 説明 |
---|---|
--nodeps | 依存関係を無視してパッケージを削除する |
依存関係を無視してパッケージを削除する場合
rpm -e --nodeps sample-package
削除中: sample-package ################################# [100%]
※依存関係を無視して削除する場合は、他のパッケージに悪影響が出る可能性があります
照会モードのオプション
オプション | 説明 |
---|---|
-q , --query | パッケージを照会する (照会モード) |
--checksig | 電子署名を確認する |
以下は併用できるオプションです
オプション | 説明 |
---|---|
-a , --all | すべてのインストールされたパッケージを表示する |
-f | 指定されたファイルを所有するパッケージを表示する |
-p | パッケージ名でなく、RPMパッケージファイルを指定する |
-i , --info | 指定したパッケージの詳細情報を表示する |
-R | 指定したパッケージの依存関係のコンポーネントを表示する |
-l , --list | 指定したパッケージに含まれるファイルを表示する |
-c , --configfiles | 指定したパッケージの設定ファイルのみを表示する |
-d , --docfiles | 指定したパッケージのドキュメントファイルのみを表示する |
--changelog | 指定したパッケージの変更履歴を表示する |
以下はOSにインストールされている全てのパッケージを一覧表示する場合です
rpm -qa
audit-libs-3.0-0.17.20191104git1c2f876.el8.x86_64
bash-4.4.19-12.el8.x86_64
coreutils-8.30-8.el8.x86_64
...
以下はファイルパスのパッケージに属しているかを調べる場合です
rpm -qf /bin/bash
bash-4.4.19-12.el8.x86_64
以下は指定したパッケージの詳細を示す場合です
rpm -qpi package-file-1.0-1.el8.x86_64.rpm
Name : package-file
Version : 1.0
Release : 1.el8
Architecture: x86_64
Install Date: (not installed)
Group : Applications/System
Size : 274162
License : GPL
Signature : RSA/SHA256, Sun 26 Jan 2020 07:09:42 AM UTC, Key ID e73b3dbf4f2f9b08
Source RPM : package-file-1.0-1.el8.src.rpm
Build Date : Fri 24 Jan 2020 01:20:43 PM UTC
Build Host : builder-host
Relocations : (not relocatable)
Packager : Example Packager
Vendor : Example Vendor
URL : http://example.com/
Summary : An example package for demonstration
Description :
This is an example RPM package used to demonstrate the rpm -qp command.
以下は指定したパッケージに含まれるファイルをリストで表示する場合です
rpm -qlp example-package-1.0-1.el8.x86_64.rpm
/etc/example
/usr/bin/example
/usr/share/doc/example
/usr/share/doc/example/README
以下は、指定したパッケージの依存関係を調べる場合です
rpm -qR nginx
libc.so.6(GLIBC_2.14)(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
systemd
...
以下は、指定したパッケージの設定ファイルのパスを表示する場合です
rpm -qc httpd
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/ssl.conf
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
以下は、指定したパッケージのドキュメントファイルの一覧を表示する場合です
rpm -qd httpd
/usr/share/doc/httpd-2.4.6/README
/usr/share/doc/httpd-2.4.6/CHANGES
/usr/share/doc/httpd-2.4.6/LICENSE
/usr/share/doc/httpd-2.4.6/NEWS
以下は、指定したパッケージの変更履歴を表示する場合です
rpm -q --changelog httpd
* Tue Mar 24 2020 Joe Developer <joe@example.com> - 2.4.43-1
- Updated to 2.4.43 upstream
- Added patches for enhanced security features
* Fri Jan 10 2020 Amy Tester <amy@example.com> - 2.4.41-1
- Fixed bug related to mod_proxy
- Improved performance of mod_rewrite
...
以下は、パッケージの署名を確認する場合です
rpm --checksig package-1.0-1.el8.x86_64.rpm
package-1.0-1.el8.x86_64.rpm: sha1 md5 OK
以上です!
ここまで読んでいただきありがとうございました!
コメント