“Bucle que involucra servicio”: apt-get install breaks dpkg

Una instalación apt-get salió mal, ahora todos los comandos apt fallan.

Volcado obligatorio desde 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] 

Ahora e Entonces, cuando respondo ‘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) 

La máquina está ejecutando Ubuntu 15.10

Resulta que el problema era que había un script no relacionado en /etc/init.d que estaba rompiendo dpkg. La solución fue eliminar el script ofensivo. El caso general sería verificar todos los scripts init.d y asegurarse de que realmente se ejecutan antes de intentar ejecutar apt.