Dpkg 在执行任何操作时都会挂起

Dpkg 在执行任何操作时都会挂起

与所选操作无关,dpkg挂在我的 Raspberry Pi 2 上。它会冻结整个机器,但例如,如果htop已在另一个窗口中打开,它会继续工作。

我尝试了大多数命令,例如dpkg --configure -a,我不想重置整个系统。该strace日志对于 Pastebin 来说太长了,但它以两行结束了数千次。

pselect6(16, [0 13 15], NULL, NULL, {tv_sec=0, tv_nsec=50000000}, {[], 8}) = 0 (Timeout)
wait4(3278, 0x7ea6c884, WNOHANG, NULL)  = 0

有人可以帮忙吗?

答案1

您的 dpkg 正在等待子进程。从它可以看出它是在 wait4() 系统调用中。不是他挂起,而是一个子进程挂起,可能是配置脚本挂起。

检查发生了什么

pstree -pa

并追踪这个。作为一名优秀的 Linux 用户,我认为您也可以巧妙地使用 lsof 命令。 Strace 还有一个 -f 标志,用它你也可以跟踪子进程。

手动修复配置脚本也很有用,以便可以清除坏包。

您尝试使用的大多数 dpkg/apt 命令可能会尝试配置系统上当前未配置的软件包,这就是为什么您总是遇到这个错误或有错误的配置脚本。

你的 syslogd 正在运行吗?有时,配置脚本调用的工具无法接受它不可用的事实。

配置脚本位于 /var/lib/dpkg/info 中。我只是默默地说,如果你发现一个特别蹩脚的,直接删除作为修补程序会更容易,但我真的很沉默。

相关内容