GNU/Linux >> Linux の 問題 >  >> Linux

RPMコマンドの使用方法(例付き)

RPMは「RedhatPackageManager」の略で、RHEL/CentOSベースのオペレーティングシステム用のコマンドラインパッケージ管理ツールです。 RPMコマンドを使用して、パッケージのインストール、アンインストール、更新、クエリ、および検証を行うことができます。このツールは、.rpm形式でビルドされたパッケージでのみ機能します。 RPMコマンドは、指定されたパッケージのみをインストールでき、そのパッケージに必要な依存関係をインストールすることはできません。

このチュートリアルでは、RPMパッケージマネージャーの使用方法をいくつかの例とともに示します。新しいRedHatパッケージマネージャーDNFのガイドをお探しの場合は、こちらをご覧ください:コマンドラインでのDNFを使用したCentOS8パッケージ管理

前提条件
  • CentOS、RHEL、またはFedoraを実行しているサーバー。
  • ルートパスワードはサーバーで構成されています。
基本構文

RPMコマンドの基本的な構文を以下に示します。

rpm [OPTION] [PACKAGENAME]

次のコマンドを使用して、RPMコマンドで使用可能なすべてのオプションを一覧表示できます。

rpm --help

次の画面が表示されます。

RPMを使用したパッケージのインストール、更新、および削除

RPMパッケージをインストールする前に、次のコマンドを使用してそのパッケージの依存関係を一覧表示できます。

rpm -qpR epel-release-latest-8.noarch.rpm

出力:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
config(epel-release) = 8-7.el8
redhat-release >= 8
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

次のコマンドを使用して、そのパッケージの情報を取得することもできます。

rpm -qip epel-release-latest-8.noarch.rpm

出力:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Name        : epel-release
Version     : 8
Release     : 7.el8
Architecture: noarch
Install Date: (not installed)
Group       : System Environment/Base
Size        : 30269
License     : GPLv2
Signature   : RSA/SHA256, Thursday 10 October 2019 12:19:30 PM EDT, Key ID 21ea45ab2f86d6a1
Source RPM  : epel-release-8-7.el8.src.rpm
Build Date  : Thursday 10 October 2019 12:16:18 PM EDT
Build Host  : buildvm-04.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://download.fedoraproject.org/pub/epel
Bug URL     : https://bugz.fedoraproject.org/epel-release
Summary     : Extra Packages for Enterprise Linux repository configuration
Description :
This package contains the Extra Packages for Enterprise Linux (EPEL) repository
GPG key as well as configuration for yum.

このパッケージは、次のコマンドを使用してインストールできます。

rpm -ivh epel-release-latest-8.noarch.rpm

出力:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:epel-release-8-7.el8             ################################# [100%]

次のコマンドを使用して、依存関係なしで任意のRPMパッケージをインストールできます。

rpm -ivh --nodeps epel-release-latest-8.noarch.rpm

インストールされているRPMパッケージを更新するには、次のコマンドを実行します。

rpm -Uvh epel-release-latest-8.noarch.rpm

出力:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
	package epel-release-8-7.el8.noarch is already installed

インストールされているRPMパッケージを削除するには、次のコマンドを実行します。

rpm -ev epel-release

出力:

Preparing packages...
epel-release-8-7.el8.noarch

RPMでパッケージ情報を表示

パッケージの詳細情報を表示するには、次のコマンドを実行します。

rpm -ql epel-release

出力:

/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
/etc/yum.repos.d/epel-playground.repo
/etc/yum.repos.d/epel-testing.repo
/etc/yum.repos.d/epel.repo
/usr/lib/systemd/system-preset/90-epel.preset
/usr/share/doc/epel-release
/usr/share/doc/epel-release/GPL
/usr/share/doc/epel-release/README-epel-8-packaging.md

次のコマンドを使用して、任意のパッケージの構成ファイルを見つけることができます。

rpm -qc httpd

出力:

/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.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-optional.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean

次のコマンドを使用して、任意のパッケージに関する詳細情報を表示できます。

rpm -qi httpd

出力:

Name        : httpd
Version     : 2.4.37
Release     : 16.module_el8.1.0+256+ae790463
Architecture: x86_64
Install Date: Thursday 23 January 2020 11:48:36 PM EST
Group       : System Environment/Daemons
Size        : 5611291
License     : ASL 2.0
Signature   : RSA/SHA256, Monday 23 December 2019 05:22:02 PM EST, Key ID 05b555b38483c65d
Source RPM  : httpd-2.4.37-16.module_el8.1.0+256+ae790463.src.rpm
Build Date  : Monday 23 December 2019 03:46:30 PM EST
Build Host  : x86-02.mbox.centos.org
Relocations : (not relocatable)
Packager    : CentOS Buildsys <[email protected]>
Vendor      : CentOS
URL         : https://httpd.apache.org/
Summary     : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.

次のコマンドを使用して、ディレクトリまたはファイルからパッケージを検索するには:

rpm -qf /etc/NetworkManager/

出力:

NetworkManager-1.14.0-14.el8.x86_64
dhcp-client-4.3.6-30.el8.x86_64
RPMでパッケージを確認

次のコマンドを使用して、インストールする前にパッケージを確認するには:

rpm -Vp epel-release-latest-8.noarch.rpm

出力:

warning: epel-release-latest-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY

インストールされているすべてのrpmパッケージを確認するには、次のコマンドを実行します。

rpm -Va

出力:

.......T.  c /etc/kdump.conf
.M.......  g /var/lib/plymouth/boot-duration
.M.......  g /var/cache/dnf/packages.db
.....UG..  g /var/lib/sss/mc/group
.....UG..  g /var/lib/sss/mc/initgroups
.....UG..  g /var/lib/sss/mc/passwd
.M.......  c /etc/rc.d/rc.local
.M.......  c /etc/machine-id

RPMを使用してインストールされたパッケージに関する情報を確認する

次のコマンドを使用して、パッケージがインストールされているかどうかを確認するには:

インストールされているパッケージを確認するには、次のコマンドを実行します。

rpm -q epel-release

指定したパッケージがインストールされている場合は、次の出力が表示されます。

epel-release-8-7.el8.noarch

インストールされていないパッケージを確認するには、次のコマンドを実行します。

rpm -q mysql-server

次の出力が得られるはずです:

package mysql-server is not installed

システムにインストールされているすべてのパッケージを一覧表示するには、次のコマンドを実行します。

rpm -qa

出力:

dos2unix-7.4.0-3.el8.x86_64
platform-python-pip-9.0.3-13.el8.noarch
geolite2-country-20180605-1.el8.noarch
symlinks-1.4-19.el8.x86_64
python3-six-1.11.0-8.el8.noarch
fontpackages-filesystem-1.44-22.el8.noarch
rootfiles-8.1-22.el8.noarch
polkit-0.115-6.el8.x86_64
xkeyboard-config-2.24-3.el8.noarch
iwl6050-firmware-41.28.5.1-92.el8.1.noarch
libmodulemd1-1.8.0-5.el8.x86_64
pkgconf-m4-1.4.2-1.el8.noarch
iwl5000-firmware-8.83.5.1_1-92.el8.1.noarch
samba-common-4.9.1-8.el8.noarch
kbd-misc-2.0.4-8.el8.noarch

インストールされているすべてのパッケージを名前とサイズで一覧表示するには、次のコマンドを実行します。

rpm -qa --queryformat '%{name} %{size}\n'

出力:

dos2unix 682042
platform-python-pip 7746190
geolite2-country 3424334
symlinks 19682
python3-six 100282
fontpackages-filesystem 0
rootfiles 599

RPMを使用した任意のパッケージのマニュアルページを検索

次のコマンドを実行して、ファイルまたはフォルダーを所有するパッケージのドキュメントのリストを確認できます。

rpm -qdf /etc/NetworkManager/

出力:

/usr/share/doc/NetworkManager/AUTHORS
/usr/share/doc/NetworkManager/CONTRIBUTING
/usr/share/doc/NetworkManager/NEWS
/usr/share/doc/NetworkManager/README
/usr/share/doc/NetworkManager/TODO
/usr/share/doc/NetworkManager/examples/server.conf
/usr/share/man/man1/nm-online.1.gz
/usr/share/man/man1/nmcli.1.gz
/usr/share/man/man5/NetworkManager.conf.5.gz
/usr/share/man/man5/nm-settings-ifcfg-rh.5.gz
/usr/share/man/man5/nm-settings-keyfile.5.gz
/usr/share/man/man5/nm-settings.5.gz
/usr/share/man/man5/nm-system-settings.conf.5.gz
/usr/share/man/man7/nmcli-examples.7.gz
/usr/share/man/man8/NetworkManager.8.gz
/usr/share/doc/dhcp-client/README.dhclient.d
/usr/share/doc/dhcp-client/dhclient-enter-hooks
/usr/share/doc/dhcp-client/dhclient.conf.example
/usr/share/doc/dhcp-client/dhclient6.conf.example
/usr/share/man/man5/dhclient.conf.5.gz
/usr/share/man/man5/dhclient.leases.5.gz
/usr/share/man/man8/dhclient-script.8.gz
/usr/share/man/man8/dhclient.8.gz
結論

上記のチュートリアルでは、CentOS8オペレーティングシステムでRPMを使用してパッケージを管理する方法を学びました。これが日常のタスクの実行に役立つことを願っています。


Linux
  1. LinuxTouchコマンドの使用方法+例

  2. 例でethtoolコマンドを使用する方法

  3. 実用的な例でLinuxHexdumpコマンドを使用する方法

  1. 例を使用してLinuxでsuコマンドを使用する方法

  2. LinuxでのSCPコマンド:使用方法と例

  3. 例を使用してLinuxでRmmodコマンドを使用する方法

  1. 例を使用してLinuxでwコマンドを使用する方法

  2. 例を使用してLinuxwatchコマンドを使用する方法

  3. 例を使用してLinuxでlessコマンドを使用する方法