この記事ではAlmaLinuxでパッケージ管理について解説します。具体的には、パッケージに含まれるファイルを調べる。コマンドが含まれるパッケージを調べる。などの項目について解説しています。
はじめに
Linuxを使っているとパッケージに含まれるファイルを調べたいときがあります。インストールされているパッケージの場合はrpmコマンドが使えます。
例えばhttpdパッケージに含まれるファイルを知りたい時にはrpmコマンドが使えます。
Bash
$ rpm -ql httpd
関連記事
アップデート情報を取得する
Bash
$ dnf check-update
AlmaLinux 9 - AppStream 4.2 MB/s | 7.5 MB 00:01
AlmaLinux 9 - BaseOS 2.8 MB/s | 2.4 MB 00:00
AlmaLinux 9 - Extras 25 kB/s | 17 kB 00:00
firewalld.noarch 1.2.1-1.el9.0.1 baseos
firewalld-filesystem.noarch 1.2.1-1.el9.0.1 baseos
python3-firewall.noarch 1.2.1-1.el9.0.1 baseos
実行結果パッケージをアップデートする
Bash
$ sudo dnf update
ファイル名(コマンド名)からそのファイルを提供するパッケージを調べる
Bash
$ dnf provides <ファイル名orコマンド名>
インストール済みのパッケージを調べる
rpmコマンド
rpmコマンドの場合は -qa オプションを付けます。
Bash
$ rpm -qa | grep ssh
実行結果
libssh-config-0.9.6-3.el9.noarch
openssh-8.7p1-8.el9.x86_64
libssh-0.9.6-3.el9.x86_64
openssh-clients-8.7p1-8.el9.x86_64
openssh-server-8.7p1-8.el9.x86_64
実行結果yumコマンド
yumコマンドの場合はサブコマンドlistにオプション--installedを付けます。
Bash
$ yum list --installed | grep ssh
実行結果
libssh.x86_64 0.9.6-3.el9 @baseos
libssh-config.noarch 0.9.6-3.el9 @baseos
openssh.x86_64 8.7p1-8.el9 @baseos
openssh-clients.x86_64 8.7p1-8.el9 @baseos
openssh-server.x86_64 8.7p1-8.el9 @baseos
実行結果dnfコマンド
dnfコマンドの場合もサブコマンドlistにオプション–installedを付けます。
Bash
$ dnf list installed | grep ssh
実行結果
libssh.x86_64 0.9.6-3.el9 @baseos
libssh-config.noarch 0.9.6-3.el9 @baseos
openssh.x86_64 8.7p1-8.el9 @baseos
openssh-clients.x86_64 8.7p1-8.el9 @baseos
openssh-server.x86_64 8.7p1-8.el9 @baseos
実行結果パッケージに含まれるファイルの一覧を表示する
未インストールでも可能
yum repoquery -list <パッケージ名>
で実行します。
Bash
$ yum repoquery --list nginx
メタデータの期限切れの最終確認: 0:58:10 時間前の 2022年09月01日 23時38分33秒 に実施しました。
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf
/usr/bin/nginx-upgrade
/usr/lib/.build-id
/usr/lib/.build-id/6b
/usr/lib/.build-id/6b/c5bdb91b15cb88254d4552f3cf64c446c1b76e
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx/modules
/usr/sbin/nginx
/usr/share/doc/nginx
/usr/share/doc/nginx/CHANGES
/usr/share/doc/nginx/README
/usr/share/doc/nginx/README.dynamic
/usr/share/licenses/nginx
/usr/share/licenses/nginx/LICENSE
/usr/share/man/man3/nginx.3pm.gz
/usr/share/man/man8/nginx-upgrade.8.gz
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx/html/404.html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/icons
/usr/share/nginx/html/icons/poweredby.png
/usr/share/nginx/html/index.html
/usr/share/nginx/html/nginx-logo.png
/usr/share/nginx/html/poweredby.png
/usr/share/nginx/html/system_noindex_logo.png
/usr/share/nginx/modules
/usr/share/vim/vimfiles/ftdetect/nginx.vim
/usr/share/vim/vimfiles/ftplugin/nginx.vim
/usr/share/vim/vimfiles/indent/nginx.vim
/usr/share/vim/vimfiles/syntax/nginx.vim
/var/lib/nginx
/var/lib/nginx/tmp
/var/log/nginx
実行結果dnf repoquery --list <パッケージ名>
で実行します。
Bash
$ dnf repoquery --list nginx
メタデータの期限切れの最終確認: 0:59:15 時間前の 2022年09月01日 23時38分33秒 に実施しました。
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf
/usr/bin/nginx-upgrade
/usr/lib/.build-id
/usr/lib/.build-id/6b
/usr/lib/.build-id/6b/c5bdb91b15cb88254d4552f3cf64c446c1b76e
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx/modules
/usr/sbin/nginx
/usr/share/doc/nginx
/usr/share/doc/nginx/CHANGES
/usr/share/doc/nginx/README
/usr/share/doc/nginx/README.dynamic
/usr/share/licenses/nginx
/usr/share/licenses/nginx/LICENSE
/usr/share/man/man3/nginx.3pm.gz
/usr/share/man/man8/nginx-upgrade.8.gz
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx/html/404.html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/icons
/usr/share/nginx/html/icons/poweredby.png
/usr/share/nginx/html/index.html
/usr/share/nginx/html/nginx-logo.png
/usr/share/nginx/html/poweredby.png
/usr/share/nginx/html/system_noindex_logo.png
/usr/share/nginx/modules
/usr/share/vim/vimfiles/ftdetect/nginx.vim
/usr/share/vim/vimfiles/ftplugin/nginx.vim
/usr/share/vim/vimfiles/indent/nginx.vim
/usr/share/vim/vimfiles/syntax/nginx.vim
/var/lib/nginx
/var/lib/nginx/tmp
/var/log/nginx
実行結果インストール済みのパッケージのみ可能
rpm -ql <パッケージ名>
で実行します。
Bash
$ rpm -ql openssh-server
実行結果
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/ssh/sshd_config.d
/etc/ssh/sshd_config.d/50-redhat.conf
/etc/sysconfig/sshd
/usr/lib/.build-id
/usr/lib/.build-id/14
/usr/lib/.build-id/14/9bac81c313142120a01984652df41e08c4fd53
/usr/lib/.build-id/9e
/usr/lib/.build-id/9e/fde6871e0486bcf22e478317e0e1e88a1c491a
/usr/lib/systemd/system/sshd-keygen.target
/usr/lib/systemd/system/sshd-keygen@.service
/usr/lib/systemd/system/sshd.service
/usr/lib/systemd/system/sshd.socket
/usr/lib/systemd/system/sshd@.service
/usr/libexec/openssh/sftp-server
/usr/libexec/openssh/sshd-keygen
/usr/sbin/sshd
/usr/share/empty.sshd
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
実行結果rpmの場合、インストールされていないパッケージを指定するとエラーになります。
Bash
$ rpm -ql nginx
実行結果
パッケージ nginx はインストールされていません。
実行結果
コメント