我在 Ubuntu 12.04 lts 上,我有一个坏主意,将一个 saucy 存储库(saucy main universe)添加到并/etc/apt/sources.list
运行sudo apt-get update && sudo apt-get upgrade
。在某个时候,它停止了,因为 xserver-common 出现错误。现在我重新启动了电脑,登录时只能看到我的背景图像。
我打开了 tty1,将存储库行放在 sources.list 的注释中,并尝试了几个命令:
lsb_release -a
给我版本 13.10 并且uname -a
精确。
sudo apt-get install -f
,sudo dpkg --configure -a
并且sudo dpkg-reconfigure -phigh -a
运行没有任何问题,但它没有解决任何问题。
我也尝试过sudo apt-get dist-upgrade
,sudo do-release-upgrade
但是没有任何可升级的内容或没有发现新版本。
我怎样才能使用 precise 恢复稳定系统或完全升级到 trusty?非常感谢。
请求的日志:
Xorg/Linux 软件包的当前状态:
答案1
在尝试了许多不同的命令来安装缺失的软件包或强制升级后,我意识到我的系统很混乱并且太不稳定,处于精确和不稳定的状态。
因此,如果您遇到同样的问题,我建议您按照我的做法去做:不要为此烦恼,只需通过升级到可信系统来重新安装您的系统:
- 将您想要的发行版的 iso 刻录到 CD(我选择了 Ubuntu 14.04 LTS 桌面)。
- 不要忘记备份您的数据和已安装的软件包,以防
sudo dpkg --get-selections > packages_list
出现问题。 - 从您的 LiveCD 启动并选择
Upgrade from precise to saucy
(它将尝试保留您的所有数据、包等) - 升级后,检查您以前安装的软件包列表并手动安装您想要的软件包。
- 在 trusty 中您没有 32 位库并且
ia32-libs
已被弃用,因此如果您想运行 32 位可执行文件,您可能会在这里找到解决方案: http://www.ubuntuask.com/q/answers-64bit-ubuntu-14-04-running-32bit-binaries-454253.html
答案2
在第一个升级命令中,标记为要替换的包的数量是:
$ cat history.log | awk 'NR==3 { gsub("Upgrade: ",""); gsub("), ", ")\n"); print }' | wc -l 1171
(第 3 行包含所有升级包的列表)
已准备好和已拆开的包裹数量:
$ grep "Preparing to replace " term.txt | wc -l 1177 $ grep "Unpacking replacement " term.txt | wc -l 1177
1171 升级 + 5 次失败尝试(xserver-common)+ 1 次重新安装(xserver-common-lts-raring),因此所有软件包都通过了此步骤
(与之比较
history.log
)包裹数量传递设置步骤:
grep "Setting up " term.txt | wc -l 1173
1171 升级 + 1 安装 (python-pbkdf2) + 1 重新安装 (xserver-common-lts-raring)
仅有 6 次错误:1 次升级 + 5 次失败的尝试。
$ grep "Errors were encountered while processing:" term.txt | wc -l 6 $ grep -i "Error " term.txt dpkg: error processing /var/cache/apt/archives/xserver-common_2%3a1.14.3-3ubuntu2_all.deb (--unpack): dpkg: error processing /var/cache/apt/archives/xserver-common_2%3a1.14.3-3ubuntu2_all.deb (--unpack): dpkg: error processing /var/cache/apt/archives/xserver-common_2%3a1.14.3-3ubuntu2_all.deb (--unpack): dpkg: error processing /var/cache/apt/archives/xserver-common_2%3a1.14.3-3ubuntu2_all.deb (--unpack): dpkg: error processing /var/cache/apt/archives/xserver-common_2%3a1.14.3-3ubuntu2_all.deb (--unpack): dpkg: error processing /var/cache/apt/archives/xserver-common_2%3a1.14.3-3ubuntu2_all.deb (--unpack):
这意味着升级操作几乎完成,唯一剩下的包是
xserver-common
xserver-common-lts-raring
描述:
xserver-common 的过渡包
用于升级。
我建议如下,但我不确定最终的升级结果(:) 从未尝试过类似的事情):
sudo apt-get remove xserver-common-lts-raring
sudo apt-get install xserver-common
这是相同的包,但xserver-common
版本更高。