rpm(LPIC)


rpm

Red Hat Linux や Fedora linux、CentOS などの Red Hat 系のディストリビューションで採用されているパッケージ管理システムです。 rpmコマンドやyumコマンドを利用してrpmパッケージの管理を行います。

オプション

-q, –query

指定したパッケージがインストールされていればバージョンを表示(後述)

-U, –upgrade

パッケージをアップグレードする。 インストール済みのパッケージが存在しない場合、新規にインストールを行う。

-F, –freshen

パッケージをアップデートする。 インストール済みのパッケージが存在しない場合、何も行わない。

-V, –verbose

詳細な情報を表示する

-h, –hash

進行状況を#記号で表示する

-e, –erase

パッケージを削除する

–nodeps

依存関係を無視してパッケージを削除する

–allmatches

パッケージ名に一致するすべてのバージョンのパッケージを削除する

query のオプション

-a, –all

インストール済みのrpmパッケージ情報を一覧で表示

-i, –info

指定したパッケージの詳細情報を表示

-c, –configfiles

指定したパッケージ内の設定ファイルのみを表示

-p, –package

インストールされたrpmパッケージではなく、指定したrpmパッケージファイルの情報を表示

-R, –requires

指定したパッケージが依存しているrpmパッケージ名を表示

ファイル名

パッケージファイルのファイル名に規則がある。

sl-5.02-1.el7.x86_64.rpm

サンプル

インストールされているslコマンドのバージョンを表示

$ rpm -q sl
$ rpm --query sl
sl-5.02-1.el9.x86_64

インストール済みのパッケージ一覧を表示

$ rpm -qa
$ rpm --query --all
...
python3-pytz-2021.1-4.el9.noarch
python3-babel-2.9.1-2.el9.noarch
python3-pyserial-3.4-12.el9.noarch
python3-jsonpointer-2.0-4.el9.noarch
python3-jsonpatch-1.21-16.el9.noarch
python3-distro-1.5.0-7.el9.noarch
...

パッケージが依存するパッケージを表示する

$ rpm -qpR sl-5.02-1.el7.x86_64.rpm
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libncurses.so.5()(64bit)
libtinfo.so.5()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1

設定ファイルを表示する

$ rpm -qc bash
$ rpm --query --configfiles bash
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc

インストールされていない場合は新規にインストールし、旧バージョンが存在する場合は更新する

$ rpm -U sl-5.02-1.el7.x86_64.rpm

インストールされてされていない場合は何もせず、旧バージョンが存在する場合は更新する

$ rpm -F sl-5.02-1.el7.x86_64.rpm