我尝试将我的发行版从 Ubuntu 19.04 升级到 19.10。结果发现,我有一些软件包需要升级:
libgl1-mesa-dri/bionic-security 19.2.8-0ubuntu0~18.04.2 amd64 [upgradable from: 19.0.8-0ubuntu0~19.04.1]
libgl1-mesa-dri/bionic-security 19.2.8-0ubuntu0~18.04.2 i386 [upgradable from: 19.0.8-0ubuntu0~19.04.1]
dist-upgrade
没有升级它们,所以我尝试手动升级,但发生了以下情况:
The following packages have unmet dependencies:
libgl1-mesa-dri : Depends: libsensors4 (>= 1:3.0.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
尝试手动安装它,但它抛出了这个:
marek@marek-GA-990XA-UD3:~$ sudo apt install libsensors4
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libsensors4 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
libsensors4:i386 libsensors-config
E: Package 'libsensors4' has no installation candidate
更新信息:
grep "bionic" /etc/apt/sources.list /etc/apt/sources.list.d/*
/etc/apt/sources.list:# deb-src [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security main
/etc/apt/sources.list.d/elastic-6.x.list:# deb https://artifacts.elastic.co/packages/6.x/apt stable main # wyłączony podczas aktualizacji do bionic
/etc/apt/sources.list.d/elastic-6.x.list.distUpgrade:# deb https://artifacts.elastic.co/packages/6.x/apt stable main # wyłączony podczas aktualizacji do bionic
/etc/apt/sources.list.d/elastic-6.x.list.save:# deb https://artifacts.elastic.co/packages/6.x/apt stable main # wyłączony podczas aktualizacji do bionic
/etc/apt/sources.list.d/heroku.list:# deb https://cli-assets.heroku.com/apt ./ # wyłączony podczas aktualizacji do bionic
/etc/apt/sources.list.d/heroku.list.distUpgrade:# deb https://cli-assets.heroku.com/apt ./ # wyłączony podczas aktualizacji do bionic
/etc/apt/sources.list.d/heroku.list.save:# deb https://cli-assets.heroku.com/apt ./ # wyłączony podczas aktualizacji do bionic
/etc/apt/sources.list.d/pgdg.list:# deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main # wyłączony podczas aktualizacji do cosmic
/etc/apt/sources.list.d/pgdg.list.distUpgrade:# deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main # wyłączony podczas aktualizacji do cosmic
/etc/apt/sources.list.d/pgdg.list.save:# deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main # wyłączony podczas aktualizacji do cosmic
另外,我找到了这个答案: 由于软件包被扣留,无法将 19.04 升级到 19.10:libsnmp30 并添加了这个 ppa 存储库:
sudo add-apt-repository ppa:oibaf/graphics-drivers
并且它有点起作用了,例如我能够升级所有软件包等等。所以我的问题是现在:在我尝试实际升级我的系统之前我应该清理这个烂摊子吗?
答案1
如果您查看任一软件包的升级通知,您会发现这些软件包是由 Bionic Beaver (18.04) 的存储库提供的。但由于您使用的是 Disco Dingo (19.04),保留其他版本的存储库可能会损害您的系统,有时甚至会严重破坏操作系统。在这种情况下,Bionic 仍然有 libsensors4,但 Disco 和 Eoan Ermine (19.10) 有 libsensors5,这显然会导致依赖性问题。您需要删除其他版本的存储库以避免依赖性问题并升级到较新的版本。为此,首先确定哪个文件有这些条目。为此,您可以使用grep
。
grep "bionic" /etc/apt/sources.list /etc/apt/sources.list.d/*
#
在这些行前面加上一个井号 ( ),表示通过使用 nano 或 vi(无论你喜欢哪种编辑器)编辑文件来注释/禁用这些行。