はじめに #
Linuxサーバーの管理において、パッケージのインストール状況を把握することは非常に重要です。
本記事では、dnf を使ってインストール済みのパッケージを確認・検索する方法を、初心者向けにわかりやすく解説します。
dnfとは #
dnf は、Red Hat Enterprise Linux(RHEL)やその派生ディストリビューション(AlmaLinux、Rocky Linuxなど)で使用されるパッケージ管理システムです。
従来の yum の後継として、より高速で信頼性の高い依存関係処理が特徴です。
以下のような操作が可能です。
- パッケージのインストール
- アップデート
- 削除
- 検索
パッケージ一覧の表示 #
現在システムにインストールされているすべてのパッケージは、以下のコマンドで確認できます。
dnf list installed
出力されるリストには、パッケージ名・アーキテクチャ・バージョン・リポジトリが表示されます。
特定のパッケージがインストール済みか確認する方法 #
パッケージ名が明確に分かっている場合は、以下のように指定することで、対象パッケージのインストール状況を確認できます。
dnf list installed パッケージ名
一覧から絞り込みを行う方法 #
grepコマンドと組み合わせて絞り込み検索するには、以下のように指定することで確認できます。
パッケージ名が曖昧な場合や、関連パッケージをまとめて確認したい場合に有効な方法となります。
dnf list installed | grep パッケージ名
検索例 #
今回は例として「httpd」パッケージを検索した例をご紹介します。
絞り込みは以下のコマンドを使用します。
dnf list installed |grep "httpd"
実行すると、以下のような出力が表示されます。
内容は環境によりバージョンは異なります。
httpd.x86_64 2.4.37-47.module_el8.3.0+561+97f0b57c @AppStream
httpd-tools.x86_64 2.4.37-47.module_el8.3.0+561+97f0b57c @AppStream
各項目の意味は以下となっております。
| 項目 | 説明 |
|---|---|
httpd.x86_64 |
パッケージ名とアーキテクチャ(この場合は64bit版) |
2.4.37-47... |
インストールされているバージョンとリリース情報 |
@AppStream |
このパッケージがインストールされたリポジトリ名(AppStreamなど) |
rpm -qa との違い #
「rpm -qa でも同じことができるのでは?」と思う方もいるかもしれません。
どちらもインストール済みパッケージを確認するという点では同じ役割を果たしますが、出力内容や使いどころには明確な違いがあります。
| コマンド | 出力形式 | リポジトリ情報 |
|---|---|---|
dnf list installed |
パッケージ名・バージョン・リポジトリ | あり |
rpm -qa |
パッケージ名-バージョン(1列) | なし |
たとえば、トラブル調査等でリポジトリを確認をしたい場面では、dnf が便利となっております。
プログラムなどからインストール状況を判定したい場合は、rpm コマンドの方がシンプルな形式で出力されるため扱いやすくなります。
まとめ #
本記事では、dnf を使ってインストール済みパッケージを確認・検索する方法を解説しました。
サーバーの状態把握やトラブル調査の第一歩として、ぜひ活用してみてください。
関連記事 #
インフラ技術部ではdnfパッケージ管理システムについても解説しています。
是非とも、こちらもあわせてご覧ください。
dnfパッケージ管理システムとは