我正在编辑control
一个 deb 包的文件,其中包含
Depends: nvidia-340 (>=340.29), nvidia-340-uvm (>=340.29), nvidia-340-dev (>=340.29),
nvidia-modprobe (>=340.29), nvidia-settings (>=340.29), libcuda1-340 (>=340.29),
nvidia-libopencl1-340 (>=340.29), nvidia-opencl-icd-340 (>=340.29)
我想将依赖关系更改为所有条目,并强制在“所有包”或“所有包”nvidia-(...)-343-(...)
之间进行选择。nvidia-(...)-340-(...)
nvidia-(...)-343-(...)
讲座结束后Debian 软件包关系手册我只知道我可以指定nvidia-340 (>= 340.29)|nvidia-343 (>=343.0), nvidia-340-uvm (>=340.29)|nvidia-343-uvm (>=343.0), ...
哪些允许nvidia-340
与哪些一起安装,nvidia-343-uvm
但这不是我想要的。
如何强制安装一个版本组的所有软件包?我正在寻找与具体软件包无关的通用解决方案(NVIDIA cuda 工具包来自http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64)。安装apt-get
完成后应该就可以正常工作了。
答案1
您可以通过创建两个元包(仅包含依赖项)来实现您的目标,这两个元包提供一个虚拟包(用于声明其他包可以提供的某些功能)。所以:
Package: nvidia-dependencies-340
Provides: nvidia-dependencies
Depends: nvidia-340 (>=340.29), nvidia-340-uvm (>=340.29), nvidia-340-dev (>=340.29), etc...
Package: nvidia-dependencies-343
Provides: nvidia-dependencies
Depends: nvidia-343 (>=343.0), nvidia-343-uvm (>=343.0), nvidia-343-dev (>=343.0), etc...
Package: my-application
Depends: nvidia-dependencies