昨晚我尝试使用以下命令从 Ubuntu 18.04.5 升级到 20.04
sudo do-release-upgrade.
当它提示我开始下载新软件包,并警告我一旦下载就无法停止时,我点击了详细信息以检查将被删除的软件包。进入详细信息屏幕后,我不知道如何退出以确认下载,所以我按了ctrl+c退出,然后sudo do-release-upgrade
再次输入。但它给了我一个错误,说我必须在进行发布升级之前更新所有当前软件包。我运行
sudo apt update
sudo apt upgrade
它显示了数千个需要升级的软件包。假设这就是升级到 20.04 所需的操作,我确认了升级,然后它开始下载和升级软件包。
升级到一半时,出现了错误,并且停止了升级。
我重试
sudo apt upgrade
但会出现同样的错误。
几分钟后,当我尝试打开软件和更新时,我自动退出,并且无法重新登录,因为它会将我踢回登录屏幕。
现在我开始用谷歌搜索这个问题,并本指南. 当做
sudo dpkg --configure -a
显示如下:
包装:依赖问题阻止了 libgles-dev:amd64 的配置: libgles-dev:amd64 依赖于 libgl-dev;然而: 软件包 libgl-dev:amd64 未安装。 软件包:处理包 libgles-dev:amd64 (--configure) 时出错: 依赖问题 - 未配置 软件包:依赖问题阻止了 libglvnd-dev:amd64 的配置: libglvnd-dev:amd64 依赖于 libgl-dev (>= 1.3.0-1);然而: 软件包 libgl-dev:amd64 未安装。 libglvnd-dev:amd64 依赖于 libgles-dev (>= 1.3.0-1);然而: 软件包 libgles-dev:amd64 尚未配置。 libglvnd-dev:amd64 依赖于 libglx-dev (>= 1.3.0-1);然而: 软件包 libglx-dev:amd64 未安装。 软件包:处理包 libglvnd-dev:amd64 (--configure) 时出错: 依赖问题 - 未配置 软件包:依赖问题阻止 libgl1-mesa-dev:amd64 的配置: libgl1-mesa-dev:amd64 依赖于 libgl-dev;但是: 软件包 libgl-dev:amd64 未安装。 libgl1-mesa-dev:amd64 依赖于 libglvnd-dev;但是: 软件包 libglvnd-dev:amd64 尚未配置。 软件包:处理包 libgl1-mesa-dev:amd64 (--configure) 时出错: 依赖问题 - 未配置 软件包:依赖问题阻碍了 libegl-dev:amd64 的配置: libegl-dev:amd64 依赖于 libgl-dev;但是: 软件包 libgl-dev:amd64 未安装。 软件包:处理软件包 libegl-dev:amd64 (--configure) 时出错: 依赖问题 - 未配置 软件包:依赖问题阻止了 libglvnd-core-dev:amd64 的配置: libglvnd-core-dev:amd64 依赖于 libglvnd-dev;但是: 软件包 libglvnd-dev:amd64 尚未配置。 软件包:处理包 libglvnd-core-dev:amd64 (--configure) 时出错: 依赖问题 - 未配置 软件包:依赖问题阻止了 libglu1-mesa-dev:amd64 的配置: libglu1-mesa-dev:amd64 依赖于 libgl1-mesa-dev | libgl-dev;然而: 软件包 libgl1-mesa-dev:amd64 尚未配置。 软件包 libgl-dev:amd64 未安装。 软件包:处理包 libglu1-mesa-dev:amd64 (--configure) 时出错: 依赖问题 - 未配置 处理时遇到错误: libgles-dev:amd64 libglvnd-dev:amd64 libgl1-mesa-dev:amd64 libegl-dev:amd64 libglvnd-核心-dev:amd64 libglu1-mesa-dev:amd64
但它修复了登录问题,所以我现在可以再次使用电脑了。但现在我仍然有无法升级到 20.04 的问题。而且似乎我的依赖项被破坏了。
当尝试
> sudo apt install -f
我明白了
正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 纠正依赖关系...完成 以下软件包已自动安装并且不再需要: libcbor0.6 libdrm-dev libffi7:i386 libfido2-1 libglvnd-core-dev libpcre3:i386 libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxdamage-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev mesa-common-dev x11proto-damage-dev x11proto-fixes-dev x11proto-xext-dev x11proto-xf86vidmode-dev 使用“sudo apt autoremove”来删除它们。 将会安装以下附加软件包: libgl-dev libglx-dev 将会安装以下新软件包: libgl-dev libglx-dev 升级了 0 个,新安装了 2 个,删除了 0 个,并且未升级 1689 个。 6 未完全安装或删除。 需要获取 0 B/112 kB 的档案。 此操作后将使用1.480 kB的额外磁盘空间。 您想继续吗?[Y/n] y (正在读取数据库...当前安装了 246661 个文件和目录。) 准备解压 .../libglx-dev_1.3.1-1_amd64.deb ... 正在解压 libglx-dev:amd64 (1.3.1-1) ... 软件包:处理档案 /var/cache/apt/archives/libglx-dev_1.3.1-1_amd64.deb (--unpack) 时出错: 尝试覆盖“/usr/include/GL/glx.h”,它也在包 mesa-common-dev:amd64 20.0 中。 8-0ubuntu1~18.04.1 准备解压 .../libgl-dev_1.3.1-1_amd64.deb ... 正在解压 libgl-dev:amd64 (1.3.1-1) ... 软件包:处理档案 /var/cache/apt/archives/libgl-dev_1.3.1-1_amd64.deb (--unpack) 时出错: 尝试覆盖 '/usr/include/GL/gl.h',它也位于包 mesa-common-dev:amd64 20.0.8 中 -0ubuntu1~18.04.1 dpkg-deb: 错误:粘贴子进程被信号杀死(管道断裂) 处理时遇到错误: /var/cache/apt/archives/libglx-dev_1.3.1-1_amd64.deb /var/cache/apt/archives/libgl-dev_1.3.1-1_amd64.deb E: 子进程 /usr/bin/dpkg 返回错误代码 (1)
我觉得值得一提的是,包裹清单似乎是焦点,而不是仿生海狸。参见sudo apt update
:
点击数:1 http://us.archive.ubuntu.com/ubuntu focal InRelease 点击数:2 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease 点击数:3 http://security.ubuntu.com/ubuntu xenial-security InRelease 点击数:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease 点击数:5 http://it.archive.ubuntu.com/ubuntu xenial-updates InRelease 点击数:6 http://us.archive.ubuntu.com/ubuntu focal-security InRelease 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 1689 个软件包可以升级。运行“apt list --upgradable”即可查看。
我将非常感激任何帮助我解决此问题的帮助。我正在考虑将软件包列表恢复为仿生海狸列表,但我不知道该怎么做。
先感谢您。
答案1
好的,我通过恢复 Bionic 源列表解决了依赖性问题。为此,我运行了:
sudo sed -i 's/focal/bionic/' /etc/apt/sources.list /etc/apt/sources.list.d/*list
然后我做了:
sudo apt update
sudo apt --fix-broken install
sudo apt full-upgrade
这修复了依赖性问题。现在我可以重试了sudo do-release-upgrade
。
更新:升级顺利。20.04 已成功安装。