このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

新Linuxコマンド演習45

新Linuxコマンド演習45 概要

 「新Linuxコマンド演習45」では、dnfコマンド を使ってソフトウェアパッケージのインストール、削除、検索、一覧表示、更新といった基本操作を学びます。
 CentOS 7 の EOL(End of Life)により、従来の yumコマンド は一部の環境で使用できなくなりました。
 そのため、現在の RHEL 系ディストリビューション(AlmaLinux、Rocky Linux、Fedora など)では、後継として dnf が標準のパッケージ管理ツールとなっています。

dnf は yum の後継として開発され、依存関係の自動解決・高速化・安定性の向上 が図られています。
また、yum との互換性も保たれているため、旧コマンドからの移行も容易です。

dnfコマンドの主なオプション

オプション意味使用例
installパッケージをインストールする。dnf install httpd
removeパッケージをアンインストールする。dnf remove httpd
searchパッケージ名や説明を検索する。dnf search python
list installedインストール済みのパッケージを一覧表示する。dnf list installed
updateシステム上のすべてのパッケージを最新に更新する。dnf update

表の説明
dnf コマンドは、RHEL 系 OS でのソフトウェア管理の中心的なコマンドです。
 install や remove、search といった主要な操作を組み合わせることで、パッケージのライフサイクル管理(導入から削除まで)を一貫して行うことができます。
依存パッケージも自動的に処理されるため、初心者でも安全に利用できます。

演習問題+模範解答例

演習01:パッケージをインストールする

問題
httpd パッケージ(Apache HTTP Server)をインストールしてください。
依存関係は自動で解決されます。

模範解答例

[suzuki@AlmaLinux ~]$ su -
パスワード:
[root@AlmaLinux ~]# dnf install httpd
メタデータの期限切れの最終確認: 0:05:36 前の 2025年11月24日 10時50分41秒 に実施しました。
依存関係が解決しました。
======================================================================================================================
 パッケージ                          アーキテクチャー     バージョン                    リポジトリー            サイズ
======================================================================================================================
インストール:
 httpd                               x86_64               2.4.62-7.el9                  appstream                44 k
依存関係のインストール:
 almalinux-logos-httpd               noarch               90.6-2.el9                    appstream                18 k
(省略)
トランザクションの概要
======================================================================================================================
インストール  11 パッケージ

ダウンロードサイズの合計: 2.0 M
インストール後のサイズ: 6.1 M
これでよろしいですか? [y/N]: y
(省略)
完了しました!

解説

  • dnf install パッケージ名 で指定したパッケージをインストールします。
  • 依存パッケージも自動で解析・導入されます。
  • httpd は Web サーバー(Apache)のパッケージです。

演習02:パッケージをアンインストールする

問題
httpd パッケージをアンインストールしてください。

模範解答例

[root@AlmaLinux ~]# dnf remove httpd
依存関係が解決しました。
======================================================================================================================
 パッケージ                          アーキテクチャー     バージョン                   リポジトリー             サイズ
======================================================================================================================
削除中:
 httpd                               x86_64               2.4.62-7.el9                 @appstream                59 k
未使用の依存関係の削除:
 almalinux-logos-httpd               noarch               90.6-2.el9                   @appstream                15 k
 apr                                 x86_64               1.7.0-12.el9_3               @appstream               288 k
 apr-util                            x86_64               1.6.1-23.el9                 @appstream               211 k
(省略)
これでよろしいですか? [y/N]: y
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
  準備中           :                                                                                              1/1 
  scriptletの実行中: httpd-2.4.62-7.el9.x86_64                                                                   1/11 
  削除中           : httpd-2.4.62-7.el9.x86_64                                                                   1/11 
  scriptletの実行中: httpd-2.4.62-7.el9.x86_64  
(省略)
完了しました!

解説

  • dnf remove で指定したパッケージを削除します。
  • 関連する依存パッケージも同時に削除される場合があります。
  • 削除確認で y を入力して実行を確定します。

演習03:パッケージを検索する

問題
python というキーワードを含むパッケージを検索してください。

模範解答例

[root@AlmaLinux ~]# dnf search python
メタデータの期限切れの最終確認: 0:28:31 前の 2025年11月24日 10時50分41秒 に実施しました。
============================================== 名前 & 概要 一致: python ==============================================
boost-python3.i686 : Run-time component of boost python library for Python 3
boost-python3.x86_64 : Run-time component of boost python library for Python 3
graphviz-python3.x86_64 : Python 3 extension for graphviz
(省略)

解説

  • dnf search キーワード で、パッケージ名や概要に該当するものを検索します。
  • 検索結果にはパッケージ名、アーキテクチャ、説明が表示されます。
  • 開発や環境構築時に利用可能な関連パッケージを探す際に便利です。

演習04:インストール済みパッケージの一覧を表示する

問題
システムにインストールされているすべてのパッケージを一覧表示してください。

模範解答例

[root@AlmaLinux ~]# dnf list installed
インストール済みパッケージ
ModemManager.x86_64                                        1.20.2-1.el9                               @anaconda 
ModemManager-glib.x86_64                                   1.20.2-1.el9                               @anaconda 
NetworkManager.x86_64                                      1:1.52.0-7.el9_6                           @baseos   
NetworkManager-adsl.x86_64                                 1:1.52.0-7.el9_6                           @baseos   
NetworkManager-bluetooth.x86_64                            1:1.52.0-7.el9_6                           @baseos   
NetworkManager-config-server.noarch                        1:1.52.0-7.el9_6                           @baseos   
NetworkManager-libnm.x86_64                                1:1.52.0-7.el9_6                           @baseos   
NetworkManager-team.x86_64                                 1:1.52.0-7.el9_6                           @baseos   
(省略)

解説

  • dnf list installed でインストール済みパッケージ一覧を表示します。
  • 表示内容には、パッケージ名・アーキテクチャ・バージョン・インストール元リポジトリが含まれます。
  • パッケージ管理やトラブルシューティングに役立ちます。

演習05:システムを最新状態に更新する

問題
インストール済みのすべてのパッケージを最新バージョンに更新してください。

模範解答例

[root@AlmaLinux ~]# dnf update
メタデータの期限切れの最終確認: 0:31:49 前の 2025年11月24日 10時50分41秒 に実施しました。
依存関係が解決しました。
================================================================================================================
 パッケージ                                    Arch       バージョン                        リポジトリー  サイズ
================================================================================================================
インストール:
 kernel                                        x86_64     5.14.0-611.5.1.el9_7              baseos        1.1 M
 kernel-devel                                  x86_64     5.14.0-611.5.1.el9_7              appstream      17 M
アップグレード:
 NetworkManager                                x86_64     1:1.54.0-3.el9_7                  baseos        2.3 M
 NetworkManager-adsl                           x86_64     1:1.54.0-3.el9_7                  baseos         32 k
(省略)
完了しました!

解説

  • dnf update は、インストール済みの全パッケージを最新版へ更新します。
  • セキュリティパッチや機能改善を反映するため、定期的な実行が推奨されます。
  • 更新後は再起動が必要な場合もあります。

まとめ

 「新Linuxコマンド演習45」では、AlmaLinux 9.6 における標準のパッケージ管理ツール dnfコマンド を学びました。

学習ポイント

  • dnfyumの後継ツール であり、依存関係を自動解決できる。
  • 主な操作は install(インストール)、remove(削除)、search(検索)、update(更新)。
  • システムを安全・最新の状態に保つため、定期的なアップデートが推奨される。

これにより、Linux 環境でのパッケージ管理を効率的に行うための基礎を身につけることができます。