I dont know how I got this problem, but I can't install apps, update, upgrade or autorun apps.
$ sudo update-rc.d ums defaults
insserv: warning: script 'S99selinux' missing LSB tags and overrides
insserv: warning: script 'S97DbSecuritySpt' missing LSB tags and overrides
insserv: warning: script 'selinux' missing LSB tags and overrides
insserv: warning: script 'DbSecuritySpt' missing LSB tags and overrides
insserv: There is a loop between service plymouth and networking if started
insserv: loop involving service networking at depth 3
insserv: loop involving service procps at depth 2
insserv: loop involving service iscsid at depth 6
insserv: loop involving service urandom at depth 4
insserv: There is a loop between service plymouth and mountdevsubfs if started
insserv: loop involving service mountdevsubfs at depth 2
insserv: loop involving service udev at depth 1
insserv: Starting selinux depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting DbSecuritySpt depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting selinux depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting DbSecuritySpt depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting selinux depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting DbSecuritySpt depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting selinux depends on plymouth and therefore on system facility `$all' which can not be true!
The Problem:
insserv helps figure out which services should be started in which order.
It's a clumsy system, long replaced by Upstart (Ubuntu 14.04), and later by systemd (Ubuntu 16.04). But insserv remains to help very old sysvinit services fit into the newer world.
All of these ways of starting services have one thing in common - they hate loops. The system cannot determine which service should start first.
The system figures out much of the start order when packages are installed or uninstalled. Adjusting the start order is part of configuring a newly-installed package.
A loop will cause an error.
The error will prevent the package from configuring.
The unconfigured package will cause a package-manager error.
Now go back and re-read the whole error message again. You can see the insserv error, which causes the package install to fail, which causes all the dependency packages to fail.
There's one more element: Apt, the package manager, remembers that you want this package installed. Every time you start apt, it will look around to see if must resume any incomplete installs. So apt willkeep trying to install these packages every time you run it, and you will keep getting the same errors every time.
Apt terminates upon the first error, so the error may (unintentionally) block other package actions, including normal updates and security patches.
The Solutions:
There are several ways to handle the problem.
1) Read the error messages carefully You have FOUR scripts (two called 'selinux') without any LSB Headers. That's unusual - did you try installing SELinux several different ways? If so, clean up your old attempts before proceeding. Simply edit each of the remaining scripts, adding the LSB Headers to tell the system when the script should be run. Keep notes, because this is a temporary solution - a package upgrade may erase your changes.
A proper LSB Header looks something like this:
2) In addition to missing LSB headers and tags, you have Loops. Recall that init really hates loops. If adding headers and tags doesn;t colve the problem, edit the tags so that selinux and other scripts don't rely upon plymouth...or change plymouth so it doesn't rely upon $all.
WARNING: Keep careful notes and a LiveUSB handy - tinkering with the startup order of essential services (like plymouth) can break your system or render it unbootable.
3) Alternately, if you don't use some of those services, simply uninstall the ununsed service(s). Loop broken, apt should complete the configuration and install.
4) If you are using 16.04 or newer, file a bug report with each upstream project. Insserv is very old and kludgy, and those upstreams should be furnishing you proper systemd-native .service files.