NVIDIAのLinuxドライバーが勝手に更新されないように制限する

前回までのあらすじ

過去記事「debian12環境でpytorchを利用する生成AI系のWhisperとLlama3(ollama)とStable-Diffusionが突然動かなくなったので復旧手順を共有する」

debian12環境でpytorchを利用する生成AI系のWhisperとLlama3(ollama)とStable-Diffusionが突然動かなくなったので復旧手順を共有する
不具合の発生状況と環境OSはdebian12環境で、GeforceRTX3060を使用してWhisperとLlama(ollama)とStable Diffusionを定期稼働させていたのだが。ある日、Whisperが動作していなことに気づ...

過去記事のように、apt等でパッケージをアップデートした時にNVIDIAのドライバーが更新されると動かなくなる症状があり、その復旧方法を纏めたのだが、この手順にあるパッケージアップデートを抑制する方法「unattended-upgrades」が効かなくなっていた。
今回は別の方法(apt-pinning)でNVIDIAのパッケージ更新を抑制する手順を解説する。

前提条件

  • debian12 で確認
  • ubuntu22.04でも同じように設定できる事は確認済み(※動作は未確認)
  • RTX3060のドライバーで確認
  • RTX50x0系のドライバーは構造が異なるので注意が必要(※自己責任でお願いします)

apt-pinning(aptのピン止め)でパッケージ更新を抑制

sudo vim /etc/apt/preferences.d/nvidia-pin

nvidia-pinの内容

Package: nvidia-*
Pin: release *
Pin-Priority: -1

Package: libnvidia-*
Pin: release *
Pin-Priority: -1

Package: cuda-*
Pin: release *
Pin-Priority: -1

Package: libcuda*
Pin: release *
Pin-Priority: -1

Package: libxnvctrl0*
Pin: release *
Pin-Priority: -1

Package: libgl1-nvidia-*
Pin: release *
Pin-Priority: -1

Package: libxnv*
Pin: release *
Pin-Priority: -1

Package: libnvcuvid1*
Pin: release *
Pin-Priority: -1

Package: firmware-nvidia-*
Pin: release *
Pin-Priority: -1

Package: libegl-nvidia*
Pin: release *
Pin-Priority: -1

Package: libgl1-nvidia*
Pin: release *
Pin-Priority: -1

Package: libglx-nvidia*
Pin: release *
Pin-Priority: -1

Package: xserver-xorg-video-nvidia*
Pin: release *
Pin-Priority: -1

Package: libnvidia-cfg1*
Pin: release *
Pin-Priority: -1

Package: libnvidia-ml1*
Pin: release *
Pin-Priority: -1

結果

aptでのパッケージ更新で、対象のパッケージが表示されなくなった事を確認した。

sudo apt update
sudo apt upgrade