从部分升级中恢复 precise 至 saucy

从部分升级中恢复 precise 至 saucy

我在 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 -fsudo dpkg --configure -a并且sudo dpkg-reconfigure -phigh -a运行没有任何问题,但它没有解决任何问题。

我也尝试过sudo apt-get dist-upgradesudo 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版本更高。

相关内容