nep*_*eph 7 upgrade apt dpkg hard-drive recovery-mode
严重搞砸了从 14.10->15.04->15.10 的升级。我一直在恢复模式下乱搞,并且确信我设法删除并重新安装了所有损坏的包/依赖项,但现在我遇到了这个奇怪的问题。Aptitude 不会运行,它说我需要用 dpkg 做一些事情。dpkg 会做一些事情,但总是挂断电话
Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)
Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)
[ OK ] Started Braille Device Support.
Run Code Online (Sandbox Code Playgroud)
这个盲文悬挂一直困扰着我一段时间,但我终于陷入了僵局。带有错误的第一部分似乎是一个与硬盘驱动器有关的模糊错误,经过一些日志挖掘后,我似乎可以指向此 HD 上的 Windows 分区,这很好。这似乎是一个死胡同,我在网上找不到任何其他内容。
我真的不想备份、重新格式化和重新安装。有人有线索吗?
小智 9
我刚刚遇到了类似的情况,升级失败,随后在恢复模式下搞砸了,其中某个包的子集(即 apport)挂起dpkg --configure -a
相同的Started Braille Device Support.
消息。让我度过难关的黑客是:
apt-get
命令,请按Ctrl+C停止。如果这不起作用(就像对我一样),请按Ctrl+ Z,然后运行kill -9 %1
几次以将其永久关闭。然后运行rm /var/lib/dpkg/lock
,因为你谋杀了通常这样做的进程。screen
(为了得到多个提示)。dpkg --configure -a
并等待进程挂起。killall systemctl
dpkg --configure -a
命令。dpkg
已移至下一个包并以相同方式挂起,或已完成。dpkg
再次挂起,请转到步骤 5。dpkg --configure -a
最终完成,则继续围绕碴在恢复模式下,可能会运行apt-get upgrade
,直到系统似乎在rebootable状态。至于为什么这样做(至少对我而言),我的调试过程如下:
apt-get upgrade
挂了。运行Ctrl+Z和kill -9 %1
上面的东西以返回提示。dpkg --configure -a
,并观察它挂起并显示与 相同的Started Braille Device Support.
消息apt-get upgrade
。但是,这次Ctrl+C可以返回提示。brltty
.apt-get remove brltty
,也许它会让问题消失。dpkg --configure -a
并注意到它仍然挂起,但这次,没有关于Started Braille Device Support
. 好的。strace dpkg --configure -a
,并观察该进程卡在wait4(...)
对子进程的调用上。/var/lib/dpkg/info/apport.postinst
(或类似的东西,IIRC)。less
上面的文件,并看到它正在尝试重新启动引导服务。假设因为我们处于恢复模式并且 init 系统还没有运行完成,那会很尴尬。pstree
,看到dpkg --reconfigure -a
确实 fork 到一个bash
东西,然后 fork 到perl
,最后systemctl
,它确实重新启动了引导服务,可能会感到困惑。postinst
脚本中没有set -e
,所以也许我们可以终止其中的挂起命令,这样 shell 脚本完成并dpkg
继续。killall systemctl
,切换回来,并看到dpkg
确实继续前进。伟大的。不过,它再次卡在同一个地方,在不同的包装上。killall systemctl
再次运行直到dpkg
退出。apt-get dist-upgrade
再次运行,看到它说一切都是最新的。奇迹般地,系统恢复了,到目前为止没有任何问题。
所以,这不是完全减少(为什么 systemctl 在恢复模式下挂起?),也不太可能普遍适用,但是这个 hack 和发现它的过程可能会帮助像我一样通过网络搜索到达此页面的人。
归档时间: |
|
查看次数: |
14281 次 |
最近记录: |