apt upgrade
でパッケージを更新するとき,更新対象を特定のパッケージ以外にしたい場合がある.
apt list --upgradable
の出力に対してawkやgrepなどを使って対象を絞り込み,その結果を渡すことで実現は可能.
ただ毎回そのようなコマンドを実行するのは面倒.
そこで便利なのがapt-mark hold
.
これを使うと,特定のパッケージに対して,更新・削除等が行われないよう,保留対象としてマークできる.
hold
hold は、パッケージを保留としてマークします。パッケージを自動的なインストール、アップグレード、削除から防ぎます。
例えば,terraformを保留対象としたいときは以下のコマンドで可能.
> sudo apt-mark hold terraform
保留対象から除外するには以下のコマンドを実行.
> sudo apt-mark unhold terraform
保留対象の一覧を取得するには以下のコマンドを実行
> apt-mark showhold
※何かしらのパッケージの依存関係にあるパッケージを保留対象にすると面倒なことになるかもなので,そこは注意したほうが良さそう.