如果 dpkg 已经是最新版本,如何升级? // apt-get 升级被 dpkg 破坏;由 LetsEncrypt Certbot 向后移植引起

如果 dpkg 已经是最新版本,如何升级? // apt-get 升级被 dpkg 破坏;由 LetsEncrypt Certbot 向后移植引起

在 Debian 9.4 Stretch 上

不小心updated && upgraded改到了jessie-backports,后来改成了sources.list正确的stretch-backports

这会毁了我的 apt 吗?

如果不:

sudo apt-get update && sudo apt-get upgrade

给出

The following packages have been kept back:
[...] 116 not upgraded.    

原因似乎是dpkg

sudo apt-get install -f util-linux
[Going down the dependency breaks]
sudo apt-get install -f perl-base
perl-base : PreDepends: dpkg (>= 1.17.17) but 1.16.17 is to be installed
            Breaks: texinfo (< 6.1.0.dfsg.1-8) but 4.13a.dfsg.1-10 is to be installed

sudo apt-get install -f dpkg
dpkg is already the newest version.

要安装Certbot,stretch-backports我们需要解决util-linuxdpkg引起的依赖问题,对吗?

这可能吗?

答案1

cat /etc/issue

给我Debian GNU/Linux 9 \n \l

所以我wheezy在sources.list中替换了旧的包配置;将它们更改为stretch

deb http://deb.debian.org/debian stretch main contrib non-free
deb-src http://deb.debian.org/debian stretch main contrib non-free

deb http://deb.debian.org/debian stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian stretch-updates main contrib non-free

deb http://security.debian.org/debian-security/ stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security/ stretch/updates main contrib non-free

不幸的是,这些软件包似乎一直处于喘息状态,现在通过 jessie 升级为拉伸。

相关内容