dnf コマンドとは?
「 yum 」の後継となる「 RPMパッケージ 」を扱うためのパッケージ管理ソフトです。
「 yum 」と同じサブコマンド、オプションが使えます。
Rocky Linux 9 では、「 yum 」も使えますが今後使えなくなる可能性もあるため、「 dnf 」コマンドを使ったほうがいいと思われます。
従来の「 yum 」コマンドから廃止されたものは、「 Changes in DNF CLI compared to dnf 」のサイトで確認できます。
「 yum 」の後継となる「 RPMパッケージ 」を扱うためのパッケージ管理ソフトです。
「 yum 」と同じサブコマンド、オプションが使えます。
Rocky Linux 9 では、「 yum 」も使えますが今後使えなくなる可能性もあるため、「 dnf 」コマンドを使ったほうがいいと思われます。
従来の「 yum 」コマンドから廃止されたものは、「 Changes in DNF CLI compared to dnf 」のサイトで確認できます。
リポジトリとは、パッケージを集めて保管している場所です。「 dnf repolist 」コマンドで確認できます。
OS にバンドルされているリポジトリの他に、サードパーティのリポジトリを追加できます。
RedHat がエンタープライズ向けなので、提供されるパッケージは古めのバージョンが多いです。その為、最新のパッケージが欲しい場合、サードパーティのリポジトリに頼ることが多いです。
複数のサードパーティリポジトリからパッケージを入れると、依存関係がわからなくなったりするため、基本的には複数のサードパーティリポジトリは使用しません。
EPEL(Extra Packages for Enterprise Linux) とは、サードパーティ製のリポジトリです。CentOS などの公式パッケージに含まれていない有用なソフトウェアを提供しています。
sudo dnf install epel-release
EPEL の設定ファイルは、「 /etc/yum.repos.d/epel.repo 」です。
Alma Linux にインストールした場合、初期設定では、自動で使用しない設定(enabled=0)になっています。
EPEL からパッケージを探したい場合は、以下のようにします。
sudo dnf --enablerepo=epel install [パッケージ名]
RPM は、単体のパッケージ管理ツールで Linux システムにおいて、パッケージ管理や依存関係の解決などに使用されます。
インストール済みのパッケージで更新可能なアップデートを確認するには、次のようにコマンドを実行します。
sudo dnf check-update
パッケージを更新するには次のようにコマンドを実行します。
更新するパッケージの依存関係またはパッケージに利用可能な更新がある場合は、合わせて更新されます。
パッケージ名を指定しなければすべてのパッケージが更新されます。
dnf upgrade パッケージ名
dnf install パッケージ名
dnf erase パッケージ名
dnf search キーワード
dnf search all キーワード
sudo dnf list
dnf list --all
dnf list --installed | grep httpd
dnf list --available
dnf info パッケージ名
sudo dnf remove パッケージ名
sudo dnf check-update
「 grep 」コマンドを使い、アップデート可能なパッケージを調べることができます。
sudo dnf check-update | grep python
指定されたパッケージをアップデートします。パッケージ名を指定しない場合は、すべてのパッケージがアップデートされます。
# パッケージ名を指定してアップデート
sudo dnf update パッケージ名
# すべてのパッケージをアップデート
sudo dnf update
# 複数のパッケージをまとめて指定(python と openssl を指定)
sudo dnf update python openssl
sudo dnf clean all
sudo dnf install dnf-cron
有効な各リポジトリでのパッケージを一覧表示するには、次のようにコマンドを実行します。
dnf repolist
リポジトリーの詳細情報を一覧表示するには次のようにします。
dnf repolist -v
有効、無効にかかわらず、リポジトリを一覧表示するには、次のようにコマンドを実行します。
dnf repolist all