Corrigindo um sistema de pacotes quebrado (apt-get)

3

Depois de fazer uma atualização do sistema (apt-get upgrade) em uma caixa debian, recebo um erro toda vez que tento usar o apt-get. Exemplo:

# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up initscripts (2.88dsf-41+deb7u1) ...
insserv: Service killprocs has to be enabled to start service single
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
dpkg: error processing initscripts (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initscripts
E: Sub-process /usr/bin/dpkg returned an error code (1)

Eu tentei encontrar uma solução, mas não consigo encontrar nada parecido com isso. Primeiro de tudo eu tenho este pacote que "não está totalmente instalado ou removido". Mas não consigo encontrar o comando para localizá-lo. Tentei:

dpkg -l | grep rc

Mas liste cerca de 20 pacotes, então deve haver uma maneira melhor de encontrar esse pacote.

Para corrigir o sistema de pacotes, tentei procedimentos normais, como:

apt-get clean && sudo apt-get autoremove 
apt-get -f install
dpkg --configure -a

O comando clean é bom, mas o comando install falhará como mostrado acima.

Em uma tentativa desesperada, tentei reinstalar o insserv (não tenho certeza se o pacote está quebrado), mas ele falha da mesma maneira:

# apt-get install --reinstall insserv
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 8 not upgraded.
1 not fully installed or removed.
Need to get 63.8 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://ftp.us.debian.org/debian/ wheezy/main insserv armel 1.14.0-5 [63.8 kB]
Fetched 63.8 kB in 0s (85.5 kB/s)
Setting up initscripts (2.88dsf-41+deb7u1) ...
insserv: Service killprocs has to be enabled to start service single
insserv: exiting now!
update-rc.d: error: insserv rejected the script header
dpkg: error processing initscripts (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initscripts
E: Sub-process /usr/bin/dpkg returned an error code (1)

Espero que alguns de vocês possam me ajudar a corrigir o problema.

    
por user2910256 23.10.2013 / 10:05

2 respostas

3

/etc/rc1.d/S01killprocs -> ../init.d/killprocs está ausente, obviamente, está em initscripts

mas insserv exige isso. chkrequired

Talvez você possa instalá-lo manualmente extraindo o .deb em algum outro diretório e copiando-o para o lugar certo.

dpkg -x /var/cache/apt/archives/initscripts_2.88dsf-41_i386.deb /tmp/somedir

2.88dsf-41_i386 é minha versão, use a sua: -)

editar

se você conseguir trabalhar manualmente, reinstale-o como de costume.

    
por 23.10.2013 / 17:13
0

Consegui corrigir este problema no Ubuntu 16.04, removendo todos os arquivos .deb armazenados em cache do / var / cache / apt / archives e, em seguida, executei este comando:

apt-get clean && sudo apt-get autoremove

Espero que isso corrija problemas para alguém.

    
por 08.09.2016 / 08:25

Tags