“涉及服务的循环”:apt-get install 破坏了 dpkg

“涉及服务的循环”:apt-get install 破坏了 dpkg

一个 apt-get 安装出错,现在每个 apt 命令都失败。

强制转储sudo apt-get install apache2

Reading package lists... Done
Building dependency tree       
Reading state information... Done
**apache2 is already the newest version.**
0 upgraded, 0 newly installed, 0 to remove and 17 not upgraded.
**1 not fully installed or removed.**
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 

现在,当我回答“Y”时:

Setting up apache2 (2.4.12-2ubuntu2) ...
insserv: warning: script 'S99logd_pub_sub' missing LSB tags and overrides
insserv: warning: script 'logd_pub_sub' missing LSB tags and overrides
insserv: There is a loop between service rc.local and procps if started
insserv:  loop involving service procps at depth 2
insserv:  loop involving service udev at depth 1
insserv: Starting logd_pub_sub depends on rc.local and therefore on system facility `$all' which can not be true!
~snip 99 iterations~
insserv: Max recursions depth 99 reached
insserv: Starting logd_pub_sub depends on rc.local and therefore on system facility `$all' which can not be true!
insserv: There is a loop at service rc.local if started
insserv: Starting logd_pub_sub depends on rc.local and therefore on system facility `$all' which can not be true!
~snip 10 or so iterations~
insserv:  loop involving service networking at depth 4
insserv: There is a loop between service rc.local and urandom if started
insserv:  loop involving service urandom at depth 4
insserv:  loop involving service hwclock at depth 3
insserv: There is a loop between service logd_pub_sub and mountkernfs if started
insserv:  loop involving service mountkernfs at depth 1
insserv: Starting logd_pub_sub depends on rc.local and therefore on system facility `$all' which can not be true!
~snip~
insserv: Starting logd_pub_sub depends on rc.local and therefore on system facility `$all' which can not be true!
insserv: There is a loop between service logd_pub_sub and dns-clean if started
insserv:  loop involving service dns-clean at depth 1
insserv: Starting logd_pub_sub depends on rc.local and therefore on system facility `$all' which can not be true!
insserv: Starting logd_pub_sub depends on rc.local and therefore on system facility `$all' which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing package apache2 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 apache2
E: Sub-process /usr/bin/dpkg returned an error code (1)

该机器运行的是 Ubuntu 15.10

答案1

事实证明,问题出在有一个不相关的脚本/etc/init.d破坏了 dpkg。解决方法是删除有问题的脚本。一般情况下,在尝试运行 apt 之前,请检查所有 init.d 脚本并确保它们确实运行。

相关内容