我正在尝试安装 amdgpu-lib ,它有许多来自测试的依赖项,并且可能不稳定。不想让整个系统变得不稳定,我创建了 /etc/apt/preferences,如下所示:
Package: *
Pin: release a=stable
Pin-Priority: 700
Package: *
Pin: release a=testing
Pin-Priority: 650
Package: *
Pin: release a=unstable
Pin-Priority: 600
/etc/apt/preferences 中的固定更喜欢稳定而不是测试而不是不稳定,后者也是可用的。正在查看 libc6...
apt-cache policy libc6
输出
libc6:
Installed: 2.31-13+deb11u6
Candidate: 2.31-13+deb11u6
Version table:
2.36-9 650
650 http://deb.debian.org/debian testing/main amd64 Packages
600 http://deb.debian.org/debian unstable/main amd64 Packages
*** 2.31-13+deb11u6 700
700 http://deb.debian.org/debian stable/main amd64 Packages
100 /var/lib/dpkg/status
2.31-13+deb11u5 500
500 http://deb.debian.org/debian stable-updates/main amd64 Package
其中指出 libc6 版本 2.36-9 可以通过测试获得,即使不是首选版本。
apt-get install amdgpu-lib
揭示了许多依赖错误:
...
The following packages have unmet dependencies:
libdrm2-amdgpu : Depends: libc6 (>= 2.33) but 2.31-13+deb11u6 is to be installed
...
满足这个要求需要安装来自testing的libc6。这可能会释放测试中的升级树,但解决方案应该存在,并且结果将是包含尽可能少的测试和/或不稳定的操作系统。
像这样的依赖错误还有很多。 apt 可以自动处理这个问题吗?
答案1
apt
可以处理这种情况,但有一些注意事项 - 特别是,如果您在任何地方设置了默认版本,则优先。
您可以apt
通过覆盖默认版本来提供帮助:
sudo apt install -t amdgpu-lib
您最终会得到 Debian 11 和 12 之间的设置,这通常不是一个好主意。此时,您可能想要批量升级到 Debian 12,它将在不到两周的时间内发布,并且为此做好准备而被冻结。
另一种选择是联系 AMD 支持...另请注意,在许多情况下,内置 AMD 驱动程序提供的性能比 AMD 网站上提供的驱动程序更好。