RedHat系Linuxのパッケージ管理ツール「dnf」では、パッケージのインストールやアンインストール以外にも、さまざまな管理用コマンドが用意されています。また、パッケージのダウンロードやインストールをより快適にするためのオプション設定があります。
そこでここでは、RedHat系のAlmaLinuxを例に、dnfで覚えておきたいコマンドやオプション設定を紹介します。
目次
dnfコマンド
インストール・アンインストール
コマンド | 説明 |
---|---|
dnf install パッケージ名(RPMのURL) | パッケージのインストール |
dnf remove パッケージ名 | パッケージのアンインストール |
dnf autoremove | 依存関係でインストールされた不要なパッケージのアンインストール |
dnf group install パッケージグループ名 | パッケージグループのインストール |
dnf group remove パッケージグループ名 | パッケージグループのアンインストール |
よく利用するオプションは、次のとおりです。
オプション | 説明 |
---|---|
--enablerepo リポジトリID | 指定したリポジトリを有効にする |
-y | プロンプトに自動でYesと応答するときに使用 |
-x パッケージ名 | 指定したパッケージを除外 |
更新(アップデート)
コマンド | 説明 |
---|---|
dnf update パッケージ名 | インストール済パッケージの更新(パッケージを指定しない場合は、インストール済みのすべてのパッケージが対象) |
dnf group update パッケージグループ名 | インストール済パッケージグループの更新 |
dnf downgrade パッケージ名 | インストール済パッケージを直前のバージョンにダウングレード |
検索
コマンド | 説明 |
---|---|
dnf list installed | インストール済パッケージの検索 |
dnf list updates | アップデート可能なインストール済パッケージの検索 |
dnf check-update | アップデート可能なインストール済パッケージの検索($?:更新あり100、更新なし0、エラー1) |
dnf search キーワード | 指定したキーワードを含むパッケージの検索 |
dnf group list | インストール済もしくはインストール可能なパッケージグループ一覧 |
dnf repolist | 有効なリポジトリ一覧 |
メンテンナス
コマンド | 説明 |
---|---|
dnf clean all | キャッシュ(ダウンロードしたパッケージやヘッダファイルなど)を削除 |
dnf history | パッケージのインストールやアンインストールの履歴を表示 |
dnf.conf
dnf設定ファイルである「dnf.conf」では、さまざまなオプション設定ができますがそのなかでも便利なオプションを紹介します。
パッケージの除外
カーネルや特定のパッケージを更新対象から除外することができ、dnf.confのmainセクションに「exclude = (除外するパッケージ名をカンマ区切りで記述)」と記述します。
たとえば、カーネル関連のパッケージの更新を除外したいときは、以下のように記述します。
# vi /etc/dnf/dnf.conf
[main]
exclude = kernel*
カーネルの保持数を制限
カーネルや特定のパッケージなどの単一パッケージで同時にインストールできるバージョンの数を指定することができ、dnf.confのmainセクションに「installonly_limit = (保持するバージョン数)」と記述します。(デフォルト値は3で、2以上を推奨)
たとえば、保持できるバージョン数を4にしたいときは、以下のように記述します。
# vi /etc/dnf/dnf.conf
[main]
installonly_limit = 4
並列ダウンロード
dnfでパッケージをダウンロードする際の並列ダウンロード数を指定することができ、dnf.confのmainセクションに「max_parallel_downloads = (並列数)」と記述します。(デフォルト値は3で、最大値は20)
たとえば、並列ダウンロード数を10にしたいときは、以下のように記述します。
# vi /etc/dnf/dnf.conf
[main]
max_parallel_downloads = 10
デフォルト値が小さすぎるので10ぐらいに増やしておけば、たくさんのパッケージを更新する際のダウンロードをより効率化(高速化)できるでしょう。
ダウンロード速度の向上
AlmaLinuxは、デフォルトでdnfでパッケージをダウンロードする際、ミラーリストからパッケージをダウンロードするサーバーが選択されますが、海外のミラーサーバーが選択されてダウンロード速度がとても遅くなることがあります。
そのようなときは、fastestmirrorオプションを有効化しておくことで、自動的に最速のミラーサーバーが選択されるようになります。fastestmirrorオプションを有効化するには、dnf.confのmainセクションに「fastestmirror = True」と記述します。(デフォルト値はFalse)
# vi /etc/dnf/dnf.conf
[main]
fastestmirror = True
パッケージサイズが小さいとそれほど効果を感じませんが、ファームウェアパッケージなど数百メガバイトを超えるようなパッケージをダウンロードする際に、ダウンロード時間に雲泥の差が出るので有効化しておくことをおすすめします。