O problema:
O insserv ajuda a descobrir quais serviços devem ser iniciados em qual ordem.
% bl0ck_qu0te%É um sistema desajeitado, substituído por Upstart (Ubuntu 14.04), e mais tarde por systemd (Ubuntu 16.04). Mas o insserv continua a ajudar os serviços sysvinit muito antigos a se adequarem ao novo mundo.
Todas essas formas de iniciar serviços têm uma coisa em comum - elas odeiam loops. O sistema não pode determinar qual serviço deve ser iniciado primeiro.
% bl0ck_qu0te%O sistema calcula grande parte da ordem de início quando os pacotes são instalados ou desinstalados. Ajustar a ordem de início faz parte da configuração de um pacote recém-instalado.
Um loop causará um erro.
O erro impedirá que o pacote seja configurado.
O pacote não configurado causará um erro no gerenciador de pacotes.
Agora, volte e leia novamente a mensagem de erro inteira. Você pode ver o erro insserv, que faz com que a instalação do pacote falhe, o que faz com que todos os pacotes de dependência falhem.
Há mais um elemento: Apt, o gerenciador de pacotes, lembra que você deseja que este pacote seja instalado. Toda vez que você iniciar o apt, ele irá olhar em volta para ver se deve retomar qualquer instalação incompleta. Então, o apt continuará tentando para instalar esses pacotes toda vez que você executá-lo, e você continuará recebendo os mesmos erros toda vez.
O Apt termina no primeiro erro, portanto, o erro pode (inadvertidamente) bloquear outras ações do pacote, incluindo atualizações normais e patches de segurança.
As soluções:
Existem várias maneiras de lidar com o problema.
1) Leia as mensagens de erro cuidadosamente Você tem QUATRO scripts (dois chamados 'selinux') sem nenhum cabeçalho LSB. Isso é incomum - você tentou instalar o SELinux de várias maneiras? Nesse caso, limpe suas tentativas antigas antes de continuar. Basta editar cada um dos scripts restantes, adicionando os Cabeçalhos do LSB para informar ao sistema quando o script deve ser executado. Mantenha anotações, porque esta é uma solução temporária - uma atualização de pacote pode apagar suas alterações.
Um cabeçalho LSB adequado é parecido com isto:
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
2) Além de perder cabeçalhos e tags LSB, você tem Loops. Lembre-se de que o init realmente odeia loops. Se adicionar cabeçalhos e tags não resolver o problema, edite as tags para que o selinux e outros scripts não dependam de plymouth ... ou altere o plymouth para que ele não dependa de $ all.
AVISO: Mantenha anotações cuidadosas e um LiveUSB acessível com a ordem de inicialização dos serviços essenciais (como o plymouth) pode danificar seu sistema ou torná-lo não inicializável.
3) Como alternativa, se você não usar alguns desses serviços, simplesmente desinstale o (s) serviço (s) não destacado (s). Loop quebrado, apt deve completar a configuração e instalar.
4) Se você estiver usando o 16.04 ou mais recente, envie um relatório de bug a cada projeto upstream. O Insserv é muito antigo e desajeitado, e esses upstreams devem fornecer arquivos de serviço nativo do systemd.