把CUDA官方源加入到apt中后,每次apt upgrade
的时候都会尝试安装最新的cuda工具链(cuda-toolkit,cuda-*,libcu*
等等),但是很多项目的CUDA环境还停留在上一个版本,而且也不需要最新的CUDA版本,需要一种方法禁止CUDA相关工具链自动更新。
sudo apt-mark hold
通配符匹配一系列cuda包禁止升级的方法不太好用,通配符很难做的很好,不如使用下面的APT Pinning
方法。
首先查询现有CUDA源的优先级,发现是600
$ apt-cache policy | grep nv
600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Packages
release o=NVIDIA,l=NVIDIA CUDA,c=
origin developer.download.nvidia.com
在/etc/apt/preferences.d
目录下创建新的或者修改APT配置文件
sudo vim /etc/apt/preferences.d/cuda-repository-pin-600
修改为:
Package: *
Pin: release l=NVIDIA CUDA
# Pin-Priority: 600
Pin-Priority: -1
此时再查询CUDA源优先级可见为-1,永不更新
本文采用知识共享署名4.0国际许可协议(CC BY 4.0)进行许可