我在这次升级中遇到了一些问题,我运行了“do-release-upgrade”,我想我没有注意,系统从 ubuntu 14.04 升级到了 15.10,而不是从 14.04 升级到了 16.04。升级 dconf 时出现了问题,但我通过创建一个安装程序因某种原因无法创建的文件夹解决了这个问题。但是,当我尝试再次运行 16.04 的升级时,它失败了,并显示错误“无法计算升级”。一些谷歌搜索指向查看日志“/var/log/dist-upgrade/.../apt.log”。由于文件中的信息量太大,我无法确定是什么导致了这个问题。
我使用 grep 和 cut 用下面的命令过滤 apt.log 并且输出是......
“grep Broken /var/log/dist-upgrade/20160501-2239/apt.log |cut -d”:“-f1|cut -d” “-f2 > /home/sam/Desktop/broken\ packages.txt”
perl 库 perl 库 查找工具 libgtk-3-0 libgnutls30 libgnutls30 libgnome-桌面-3-12 libkf5akonadicore-bin libkf5akonadicore-bin libkf5libkdepim5 libmono-corlib2.0-cil libkf5libkleo5 unity-control-center-faces libmono-system2.0-cil libmono-i18n-west2.0-cil libmono-security2.0-cil python3-aptdaemon.pkcompat libmono-posix2.0-cil libpimcommon5 libtext-字符宽度-perl libtext-wrapi18n-perl libtext-iconv-perl libmwaw-0.3-3 libodfgen-0.1-1 libkf5messageviewer5 常用字典 libsocket6-perl 缩略图服务 缩略图服务 hunspell-en-us libmailcommon5 buteo-同步-插件-联系人-谷歌 阿斯佩尔 unity-lens-music libmono-系统数据2.0-cil libmetacity-private3a 甚高频 python3-click-package libqca2 libmono-系统-web2.0-cil libclass-c3-xs-perl libnet-libidn-perl libmono-系统-运行时2.0-cil libmono-wcf3.0a-cil libmono-数据-tds2.0-cil libvoikko1 libpython3.4-stdlib libmono-系统-数据-linq2.0-cil libmono-sqlite2.0-cil 地址簿更新程序 libidl-2-0 libkf5messagelist5 libkf5ksieveui5 libmono2.0-cil libparams-util-perl libopenobex2 libcalendarsupport5 qml-模块-ubuntuone libapt-kubernetes-pkg-perl - 库 libtemplateparser5 libfcgi-perl libcdr-0.1-1 libmessagecomposer5 libcheese7 libeventviews5 libmono-系统消息传递2.0-cil libmono-accessibility2.0-cil libmono-sharpzip2.84-cil tzdata-java libincidenceeditorsng5 libmono-messaging2.0-cil libmailimporter5 libtext-soundex-perl libmono-webbrowser2.0-cil libwpd-0.10-10v5 icedtea-7-插件 xserver-xorg-输入鼠标 libperl5.20 libnoteshared5 libcheese-gtk23 libgnutls28 libmono-winforms2.0-cil 单基因 libhunspell-1.3-0v5 复选框 ng-服务 查找工具 debconf-i18n debconf-i18n debconf-i18n aspell-en aspell-en libtext-字符宽度-perl libtext-wrapi18n-perl libtext-iconv-perl 常用字典 libio-socket-inet6-perl libsocket6-perl 林田 阿斯佩尔 libcgi-快速-perl 地址簿服务 openjdk-7-jre-headless libdata-optlist-perl libpython3.4-stdlib libparams-util-perl libapt-kubernetes-pkg-perl - 库 libfcgi-perl tzdata-java 查找工具 debconf-i18n debconf-i18n debconf-i18n aspell-en aspell-en libtext-字符宽度-perl libtext-wrapi18n-perl libtext-iconv-perl 常用字典 libio-socket-inet6-perl libsocket6-perl 林田 阿斯佩尔 阿斯佩尔 libcgi-快速-perl qtcontact5-galera openjdk-7-jre-headless libdata-optlist-perl libpython3.4-stdlib libparams-util-perl libapt-kubernetes-pkg-perl - 库 libfcgi-perl python3.4 python3.4-最小 tzdata-java libpython3.4 debconf-i18n aspell-en libio-socket-inet6-perl 林田 Ubuntu 最小版本 libcgi-快速-perl openjdk-7-jre-headless libdata-optlist-perl libnet-dns-perl libemail-valid-perl openjdk-7-jre openjdk-7-jdk libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a hunspell-en-us libsub-导出器-perl libgetopt-long-descriptive-perl libdata-section-perl libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a libwebkit2gtk-4.0-37-gtk2 共情 mcp-帐户管理器-uoa 附魔 libwebkitgtk-3.0-0 账户插件 账户插件-jabber 编辑 gir1.2-webkit-3.0 libsoftware-license-perl libpod-readme-perl libgtkspell3-3-0 libwebkit2gtk-4.0-37 libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a gnome 软件 libhunspell-1.3-0v5 libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a libenchant1c2a ubuntu 软件 libwebkit2gtk-4.0-37 喊叫 统一控制中心 gnome 用户指南 libyelp0 librhythmbox-core9 unity-control-center 登录 节奏盒 禅意 libgoa-后端-1.0-1 gir1.2-rb-3.0 rhythmbox-插件 gnome 在线账户 rhythmbox-插件-zeitgeist gir1.2-webkit2-4.0 元城市 apturl 肖特韦尔 ubuntu-文档 软件中心 nautilus 分享 Ubuntu 桌面 rhythmbox-插件-magnatune rhythmbox-插件-cd录音机 webaccounts-扩展-通用 webaccounts-扩展-通用 xul-ext-webaccounts gnome 控制中心 ubuntu-发布-升级程序-gtk ubuntu-发布-升级程序-gtk 更新管理器 gnome 会话闪回 gnome-session-fallback
“dist-upgrade”日志文件夹中的另一个文件是main.log,但我发现唯一感兴趣的行是一行“ERROR”,内容是...
2016-05-01 22:44:45,086 错误 Dist-upgrade 失败:“E:Error,pkgProblemResolver::Resolve 生成中断,这可能是由保留的软件包引起的。”
我不明白为什么包裹可能会损坏或被扣留,因为输出如下......
sam@sam-laptop:/var/log/dist-upgrade$ !349 sudo apt-get 自动清理 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 sam@sam-laptop:/var/log/dist-upgrade$ !350 sudo apt-get clean sam@sam-laptop:/var/log/dist-upgrade$ !351 sudo apt-get 自动删除 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 升级了 0 个,新安装了 0 个,要删除 0 个,并且未升级 0 个。 sam@sam-laptop:/var/log/dist-upgrade$ !531 dpkg --get-selections | grep hold sam@sam-laptop:/var/log/dist-upgrade$
更多故障排除:
我还尝试了以下操作,没有错误地完成。
sudo apt-get update--fix-missing sudo dpkg--configure-a sudo apt-get 安装 -f
我接下来想到的是禁用所有不必要的存储库,因此我在 sources.list 中禁用了 multiverse 和 universe 存储库
日志和来源的完整内容.列表粘贴箱
/var/log/dist-upgrade/20160501-2239/main.log
/var/log/dist-upgrade/20160501-2239/apt.log
/etc/apt/sources.list
我的最后一个想法是启动单用户模式并强制删除所有标记为损坏的软件包,然后再次尝试升级。我很想用 16.04 覆盖我当前的安装,因为 /home 位于单独的分区上,但我真的不想在这台机器上重新安装所有软件。这也是一种简单的解决方法。有人能帮我分析一下发生了什么吗?
答案1
这更像是一种重定向,但是当我在 launchpad 上发布我的损坏软件包问题时(同样尝试从 15.10 升级到 16.04),我得到了出色的支持。就我而言,我的问题是我使用外部源(ppa)安装了一些较新的图形包,特别是libgl1-mesa-dri, libegl1-mesa,
和libgbm1
。我不得不将这些包降级为 Ubuntu 源版本,然后我才能继续升级。所以我对处理损坏的软件包问题的建议是按照 OP 中的步骤进行操作,例如
sudo apt-get update --fix-missing
sudo dpkg --configure -a
sudo apt-get install -f
如果失败,请考虑是否有任何 ppa 可能会引入会干扰 Ubuntu 原有软件包的软件包版本。此外,如果您感到非常沮丧(就像我一样),请在 Launchpad 上获取支持。
答案2
我讨厌这样做,但因为我需要一个可以正常工作的系统,所以我只能清除并重新安装。幸运的是,我的主文件夹位于单独的分区上,所以我需要做的就是格式化并重新安装。感谢所有提供帮助的人,希望这个问题可以成为宝贵的故障排除材料。
我忘记检查的另一个文件是......
sudo vi /etc/update-manager/release-upgrades
我忘了我一直在改变的
Prompt=lts
值Prompt=normal