Fedoraで、「特定パッケージをアップデート対象外にする」方法を、例をあげて分かりやすく解説します。
dnfコマンドのオプションに指定する方法
dnfコマンドを実行する時、以下のように「–exclude パッケージ名」を指定して実行することで、アップデート対象外にすることができます。
sudo dnf update --exclude=パッケージ名
以下は、「microcode_ctl」を対象外としてアップデートを実行する例です。
sudo dnf update --exclude=microcode_ctl
「*」や「?」などのワイルドカードを用いたグロブパターンでパッケージ名を指定することもできます。以下は、「kernel*」にマッチするパッケージを対象外としてアップデートを実行する例です。
sudo dnf update --exclude='kernel*'
/etc/dnf/dnf.confに記述する方法
常に対象外としたいパッケージがあるなら、「/etc/dnf/dnf.conf」の「[main]」セクションに以下の行を記述することで設定できます。
excludepkgs=パッケージ名 [...]
パッケージ名は、スペースで区切って複数指定できます。また、コマンドオプションで指定する場合と同様、「*」や「?」などのワイルドカードを用いたグロブパターンでパッケージ名を指定することもできます。
以下は、「microcode_ctl」と「kernel*」にマッチするパッケージを対象外とする例です。
excludepkgs=microcode_ctl kernel*
これで、コマンドオプションを指定しなくても任意のパッケージをアップデート対象外とすることができます。
# /etc/dnf/dnf.confで「excludepkgs」に設定したパッケージを対象外にしてアップデート
sudo dnf update
/etc/dnf/dnf.confのexclude設定を無視する場合は、以下のように「–disableexcludes=all」を指定して実行します。
# /etc/dnf/dnf.confの「excludepkgs」設定を無視してアップデート
sudo dnf update --disableexcludes=all
「all」ではなく、「main」などのリポジトリIDを指定することもできます。その場合、指定したリポジトリについてのみ、exclude設定が無視されます。
関連記事
コメント