web-dev-qa-db-ja.com

「サービスが関与するループ」:apt-get installがdpkgを破壊する

1つの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] 

今eその後、「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を実行しています

5
Eamonn M.R.

問題は、/etc/init.dにdpkgを壊していた無関係なスクリプトがあったことでした。修正は、問題のスクリプトを削除することでした。一般的な場合は、すべてのinit.dスクリプトをチェックし、aptを実行する前に実際に実行されることを確認します。

4
Eamonn M.R.