18

Whenever I try to install something using apt-get I get the error messages involving insserv. I have tried install many different packages but everything give same error. And apparently, CUPS package is doing/has done something because every error message involves it. The following are the errors displayed when I ran sudo apt-get install wine1.8 winetricks:

After this operation, 716 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Extracting templates from packages: 100%
Preconfiguring packages ...
Setting up util-linux (2.27.1-6ubuntu3.1) ...
insserv: warning: script 'K01cups-browsed' missing LSB tags and overrides
insserv: warning: script 'cups-browsed' missing LSB tags and overrides
insserv: There is a loop at service plymouth if started
insserv: There is a loop between service plymouth and procps if started
insserv:  loop involving service procps at depth 2
insserv:  loop involving service udev at depth 1
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Max recursions depth 99 reached
insserv:  loop involving service speech-dispatcher at depth 1
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: There is a loop between service cups-browsed and hwclock if started
insserv:  loop involving service hwclock at depth 1
insserv: There is a loop at service cups-browsed if started
insserv:  loop involving service networking at depth 4
insserv: There is a loop between service plymouth and urandom if started
insserv:  loop involving service urandom at depth 4
insserv:  loop involving service mountdevsubfs at depth 2
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: There is a loop between service cups-browsed and dns-clean if started
insserv:  loop involving service dns-clean at depth 1
insserv: Starting cups-browsed depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting cups-browsed depends on plymouth 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 util-linux (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 util-linux
E: Sub-process /usr/bin/dpkg returned an error code (1)

The contents of /etc/insserv.conf are as follows:

#
# All local filesystems are mounted (done during boot phase)
#
$local_fs   +umountfs

#
# Low level networking (ethernet card)
#
$network    +networking

#
# Named is operational
#
$named      +named +dnsmasq +lwresd +bind9 +unbound $network

#
# All remote filesystems are mounted (note in some cases /usr may
# be remote. Most applications that care will probably require
# both $local_fs and $remote_fs)
#
$remote_fs  $local_fs +umountnfs +sendsigs

#
# System logger is operational
#
$syslog     +rsyslog +sysklogd +syslog-ng +dsyslog +inetutils-syslogd

#
# The system time has been set correctly
#
$time       +hwclock

#
# Services which need to be interactive
#
<interactive>   glibc udev console-screen keymap keyboard-setup console-setup cryptdisks cryptdisks-early checkfs-loop

output for $ apt-cache policy cups-browsed plymouth dns-clean

cups-browsed:
  Installed: 1.8.3-2ubuntu3
  Candidate: 1.8.3-2ubuntu3
  Version table:
 *** 1.8.3-2ubuntu3 500
        500 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status
plymouth:
  Installed: 0.9.2-3ubuntu13
  Candidate: 0.9.2-3ubuntu13.1
  Version table:
     0.9.2-3ubuntu13.1 500
        500 http://in.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
 *** 0.9.2-3ubuntu13 500
        500 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status
N: Unable to locate package dns-clean

I don't know any other relevant information that might be important for solving this, that's why I haven't posted it. If you want more info, please feel free to ask.

  • Check to make sure you don't have anything goofy in insserv's configuration, particularly /etc/insserv.conf and /etc/insserv.conf.d/*. If you are unsure, add the contents of those files to the question. – a CVn Jun 14 '16 at 13:12
  • @MichaelKjörling I have added the contents of /etc/insserv.conf – Pranjal Jun 14 '16 at 16:33
  • What version of Ubuntu? Have you added any software that's not a package from the "standard" repositories? What about recent editing of system files? – roaima Jun 14 '16 at 16:53
  • 1
    You need to look at files in /etc/insserv.conf.d. Post the content of any file whose name contains dns, plymouth or cups. Or maybe other files, the problem isn't with a single file but with them in combination, they create a loop where A must be started before B must be started before C must be … must be started before A. – Gilles Jun 14 '16 at 21:01
  • 1
    @Gilles There are no files in /etc/insserv.conf.d – Pranjal Jun 15 '16 at 11:52
20

First of all, the problem is that you are stuck at the boot sequencing.


The boot sequencing method is decided during installation or upgrades. If there are no loops in the dependencies declared by the LSB headers of all installed init.d scripts and no obsolete scripts, the system is converted to dependency based boot sequence.


We have to check for

  1. Loop in dependencies: Occurs when >

    • There are missing LSB tags in some scripts or error in LSB tags like missing Required-Start: or Required-Stop: tags
    • Some scripts depend on other scripts which depend on the system facility $all which cannot be true. Because the scripts depending on $all is loaded last at starting. Since it loads last, nothing can depend on it. Hence, messes up the dependency based boot sequence.
  2. Obsolete scripts: Occur when

    • Some packages being upgraded to newer versions which may not use a script in /etc/init.d/ and the maintainer may have missed the code to remove the old script. Not our mistake.

The cause is surely foreign. Goto /etc/init.d and view the file corresponding to cups-browsed and confirm that it have an LSB comment with Provides,Required-Start/Required-Stop (at least empty),Default-Start/Default-Stop in it like below.

### BEGIN INIT INFO
# Provides :          cups-browsed
# Required-Start :
# Required-Stop :
# Default-Start :     2 3 4 5
# Default-Stop  :     0 1 6
# Short-Description : Some info
# Description :       Some more info
### END INIT INFO

If it's not there you have choice to add the LSB comment or completely purge the program and scripts from /etc/init.d/ and /etc/rc? files. Hope this would work.

Feel free to ask if you have any doubts.

  • It has been more than a month after I posted the question. As I didn't get any answer at that time, I purged the program and everything worked. Now I have again installed cups and mysteriously everything is working fine. I am still accepting yours as correct answer because you have mentioned the purge program suggestion in it. – Pranjal Jul 24 '16 at 4:44
  • 1
    I am having the same issue. I checked the /etc/init.d/cups-browsed file and it already has the comments as you mentioned. How do i purge the program and scripts ? – Mohan Nov 24 '16 at 9:02
  • Ok, I understand, but what I don't understand is why? These INIT INFO headers had existed for more than a decade but nobody cared about them. From a human point of view having two digits from 0 to 99 is a very clear way to establish startup order but now I have to trace Required-Start headers? Why? Sometimes less is more. – soger Jul 6 '17 at 14:31
  • 1
    Ubuntu does not like the blank spaces before the colons. – tak3shi Jul 13 '17 at 18:43

protected by Community Aug 17 '17 at 17:05

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.