使用 apt 安装时忽略依赖版本

使用 apt 安装时忽略依赖版本

我正在尝试安装一组构建依赖项,但收到以下错误:

The following packages have unmet dependencies:
 libbz2-dev : Depends: libbz2-1.0 (= 1.0.6-9.2~deb10u1) but 1.0.6-9.2 is to be installed
 libcurl4-gnutls-dev : Depends: libcurl3-gnutls (= 7.64.0-4+deb10u1) but 7.65.1-1 is to be installed

我假设在所需的一个小版本之后安装依赖项仍然可以正常工作。有什么方法可以让 apt 忽略这些特定的依赖项,而只使用这些包的最新版本?

编辑 - 额外信息:

$ cat /etc/debian_version 
bullseye/sid

$ apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 https://packages.riot.im/debian buster/main amd64 Packages
     release o=riot.im,a=stable,n=buster,c=main,b=amd64
     origin packages.riot.im
 500 http://ftp.uk.debian.org/debian stable-updates/main i386 Packages
     release o=Debian,a=stable-updates,n=buster-updates,l=Debian,c=main,b=i386
     origin ftp.uk.debian.org
 500 http://ftp.uk.debian.org/debian stable-updates/main amd64 Packages
     release o=Debian,a=stable-updates,n=buster-updates,l=Debian,c=main,b=amd64
     origin ftp.uk.debian.org
 500 http://security.debian.org/debian-security stable/updates/main i386 Packages
     release v=10,o=Debian,a=stable,n=buster,l=Debian-Security,c=main,b=i386
     origin security.debian.org
 500 http://security.debian.org/debian-security stable/updates/main amd64 Packages
     release v=10,o=Debian,a=stable,n=buster,l=Debian-Security,c=main,b=amd64
     origin security.debian.org
 500 http://ftp.uk.debian.org/debian stable/non-free i386 Packages
     release v=10.3,o=Debian,a=stable,n=buster,l=Debian,c=non-free,b=i386
     origin ftp.uk.debian.org
 500 http://ftp.uk.debian.org/debian stable/non-free amd64 Packages
     release v=10.3,o=Debian,a=stable,n=buster,l=Debian,c=non-free,b=amd64
     origin ftp.uk.debian.org
 500 http://ftp.uk.debian.org/debian stable/contrib i386 Packages
     release v=10.3,o=Debian,a=stable,n=buster,l=Debian,c=contrib,b=i386
     origin ftp.uk.debian.org
 500 http://ftp.uk.debian.org/debian stable/contrib amd64 Packages
     release v=10.3,o=Debian,a=stable,n=buster,l=Debian,c=contrib,b=amd64
     origin ftp.uk.debian.org
 500 http://ftp.uk.debian.org/debian stable/main i386 Packages
     release v=10.3,o=Debian,a=stable,n=buster,l=Debian,c=main,b=i386
     origin ftp.uk.debian.org
 500 http://ftp.uk.debian.org/debian stable/main amd64 Packages
     release v=10.3,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
     origin ftp.uk.debian.org
Pinned packages:

答案1

你不仅运行的是 Debian 的不稳定版本 debian/sid,而且还是尚未正式发布的 Bullseye。这些软件包大多是开发版本,然后在发布稳定版本之前发布测试版本。不稳定的版本永远不会发布,并不真正意味着“工作”,可能会经历巨大的变化,并且很有可能会让你陷入依赖地狱。你可以在这里读更多关于它的内容:https://www.debian.org/releases/sid/所有这些都在共同作用,让你陷入现在所经历的境地。

如果您想要一个可用的系统,您能做的最好的事情就是安装稳定版本的 Debian(例如 Buster),并确保您只安装了该特定版本的存储库。

答案2

这个问题是由于我将sources.list切换为测试版本,然后又改回稳定版本,基本上使我的软件包一半为稳定版本,一半为不稳定版本。

为了解决这个问题,我将sources.list 更改为硬编码为当前测试的特定版本名称(bullseye),然后升级了所有包。这解决了这个问题。

由于 debian 不支持降级软件包,我将在测试中停留一段时间。但是,由于我已经对版本名称进行了硬编码,一旦 bullseye 变得稳定,我将再次恢复稳定。然后我可以将我的sources.list更新为“稳定”并保持在那里。

相关内容