Linux kernel “half configured”

1

Eu uso o Debian Wheezy há mais de um ano sem problemas até uma semana atrás. Por nenhuma razão óbvia, o sistema decidiu de repente que o kernel Linux é apenas parcialmente configurado, e nenhuma das correções encontradas on-line funcionou. Como resultado, apt tenta remediá-lo sempre que as atualizações são realizadas e falha.

Detalhes

Sintoma

A qualquer momento que as atualizações forem executadas, apt , em algum momento, tentará corrigir o kernel, falhará e o processo de atualização será encerrado com um aviso de erro e, em seguida, uma mensagem informando que o sistema está atualizado.

Qualquer atividade de atualização por apt termina com o seguinte:

Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-4-amd64 /boot/vmlinuz-3.2.0-4-amd64
E: /usr/sbin/update-initramfs.orig.initramfs-tools - command not found
E: On Debian based systems, update-initramfs from initramfs-tools
E: can be installed with:
E:   apt-get install initramfs-tools
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.2.0-4-amd64.postinst line 696.
dpkg: error processing linux-image-3.2.0-4-amd64 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 linux-image-3.2.0-4-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

O Kernel

Praticamente o mesmo problema foi descrito em uma pergunta no Ask Ubuntu . A resposta aceita apontou para um problema com o arquivo de status dpkg . A entrada de status de linux-image-3.2.0-4-amd64 dizia que ela estava parcialmente configurada.

Como primeiro passo, tentei isso:

administrator@Kwheezy:~$ sudo dpkg-reconfigure linux-image-3.2.0-4-amd64
/usr/sbin/dpkg-reconfigure: linux-image-3.2.0-4-amd64 is broken or not fully installed

A reinstalação não ajudou, de modo que aponta para quebrado.

A solução Ask Ubuntu foi para excluir a entrada do arquivo de status dpkg e, em seguida, reinstalar. No meu caso, isso também não funcionou. Quando o processo foi concluído, o arquivo de status dpkg substituiu a entrada por outra que ainda dizia que estava parcialmente configurada e o comportamento do sistema era o mesmo.

Saída do Apt

Focando nas mensagens de erro na saída apt . Os erros sempre começam com:

/usr/sbin/update-initramfs.orig.initramfs-tools - command not found

Com certeza, esse arquivo não existe. A mensagem útil informa que ela pode ser instalada instalando initramfs-tools . Isso já estava instalado, mas eu reinstalei. Acontece que apt já estava fazendo isso sozinho. Todas as mensagens de erro que seguem a orientação para instalar o initramfs-tools são geradas por essa tentativa de instalação, o que nunca resulta na instalação do /usr/sbin/update-initramfs.orig.initramfs-tools .

Resumo

  • Eu tenho o kernel Linux mais recente disponível no repositório Wheezy. É uma boa cópia, todas as dependências são atendidas e não há relatos de outros usuários tendo problemas com ela.
  • O sistema informa que não está totalmente configurado. Não encontrei nenhuma maneira de configurá-lo ou fazer com que o sistema pare de pensar que não é.
por fixer1234 11.06.2016 / 03:47

1 resposta

2

Resolução

sudo apt-get remove live-tools
sudo apt-get install --reinstall initramfs-tools
sudo apt-get install -f

Explicação

Depois de obter uma imagem melhor do sistema do fixer1234 no bate-papo , determinei que o arquivo instalado pacote live-tools estava em conflito com initramfs-tools .

Quando live-tools é instalado, ele substitui /usr/sbin/update-initramfs por seu próprio script e coloca o original em /usr/sbin/update-initramfs.orig.initramfs-tools .

live-tools tem algumas verificações de integridade que detectam se está em um sistema ativo. Se não estiver em um sistema ativo e estiver em um sistema instalado, ele tentará executar /usr/sbin/update-initramfs.orig.initramfs-tools , que é o script correto para atualizar o initramfs.

No sistema do fixer1234, /usr/sbin/update-initramfs.orig.initramfs-tools foi excluído.

Como o sistema é um sistema instalado, live-tools é provavelmente desnecessário, e é por isso que recomendei sua remoção.

Veja como cada etapa proposta na seção "Resolução" acima funciona:

sudo apt-get remove live-tools

Remover live-tools tentará restaurar /usr/sbin/update-initramfs.orig.initramfs-tools de volta para /usr/sbin/update-initramfs , mas como /usr/sbin/update-initramfs.orig.initramfs-tools não existe, haverá um erro.

live-tools ainda será removido e é isso que importa.

Ainda estamos com falta de /usr/sbin/update-initramfs .

sudo apt-get install --reinstall initramfs-tools

Para restaurar /usr/sbin/update-initramfs , reinstalamos o pacote que fornece esse arquivo. Ou seja, initramfs-tools .

sudo apt-get install -f

Sua instalação do kernel estava incompleta devido ao acidente com live-tools e initramfs-tools , então para completar a instalação e resolver todos os problemas do pacote, esta última etapa é necessária.

Agora, você deve ter um sistema Debian em pleno funcionamento.

(A propósito, estas etapas teoricamente funcionam no Debian 8, Ubuntu 12.04, Ubuntu 14.04, Ubuntu 15.10, Ubuntu 16.04 e Ubuntu 16.10.)

    
por 11.06.2016 / 04:02