Corrigindo um gerenciador de pacotes dpkg e apt quebrado

1

Eu estou trabalhando VM que eu não tenho administrado no passado e está em mau estado (mas eu preciso resgatá-lo). Eu não sou um especialista em Linux, mas nos últimos 5 anos tenho conseguido resolver problemas usando o google. Depois de um dia completo ontem, eu não sei o que mais fazer, em seguida, fazendo perguntas idiotas apenas afirmando o meu problema.

  • O sistema não faz uma inicialização regular (no entanto, posso abrir um shell raiz de resgate no qual posso montar o sistema de arquivos e ativar a rede em algum grau (posso acessar redes externas, mas não consigo abrir a porta 22 ou iniciar um ssh deamon - Eu posso, no entanto, iniciar o apache e abrir a porta 80)
  • Não consigo instalar ou remover software, pois o dpkg sempre reclama de imagens de cabeçalho linux antigas (acho que um antigo administrador excluiu manualmente os cabeçalhos linux da partição de inicialização para criar espaço).
  • Agora cada vez que eu tento fazer o apt-get instalar ou remover ou atualizar ou o que reclama que há muitos erros no dkpg e especialmente onde há erros com algumas imagens antigas do linux (que não estão presentes na minha partição de inicialização) e aborta. Ele também reclama de não encontrar arquivos (relacionados aos cabeçalhos antigos do linux)
  • Eu encontrei uma instrução que sugeriu reinstalar o grub2 que eu segui. Acho que a remoção funcionou, mas a instalação foi interrompida da mesma forma que outros softwares não podem ser instalados. Tenho certeza de que na próxima vez que eu não quiser reiniciar a máquina, não serei capaz de entrar em um sistema de recuperação, porque o grub2 parece estar desinstalado.
  • não consigo fazer algo como apt-get install linux-image-generic

Eu entendo que este post nem sequer apresenta uma pergunta apropriada, mas eu nem sei como formular um. Parece haver tantas coisas quebradas que, obviamente, eu meio que perdi a noção de por onde começar.

editar

saída de dpkg --get-selections : link

saída de apt-get install linux-generic : link

saída de dpgk --configure -a : link

também acho que a saída pode ser interessante (especialmente a partir da linha 484): link

    
por Rene Pickhardt 27.11.2016 / 10:16

1 resposta

2

Poderia ver apenas um kernel antigo de dpkg status, mas não tenho certeza se realmente está no disco.

De qualquer forma:

  1. Faça um backup do arquivo de status do DPKG

    cp /var/lib/dpkg/status /var/lib/dpkg/status.backup0
    
  2. Limpar os kernels removidos manualmente do status do DPKG

    Verifique qual linha é a entrada do pacote

    grep -n linux-image-extra-3.13.0-93-generic /var/lib/dpkg/status
    

    Status aberto para edição (altere xxxxx com o número da linha)

    nano +xxxxx /var/lib/dpkg/status
    

    Altere seu status para deinstall como este exemplo

    Package: linux-image-extra-3.13.0-93-generic
    Status: install ok installed
    

    para

    Package: linux-image-extra-3.13.0-93-generic
    Status: deinstall ok config-files
    

    Ctrl + O para salvar & amp; Ctrl + X para sair

  3. Faça o passo anterior para os seguintes pacotes

    linux-image-3.13.0-93-generic
    linux-image-extra-3.13.0-101-generic
    linux-image-3.13.0-101-generic
    
  4. Modifique o script pós-instalação do DBus para pular erros

    nano /var/lib/dpkg/info/dbus.postinst
    

    e comente set -e#set -e (em torno da linha # 5)

  5. Continue a instalação anterior

    dpkg --configure -a
    
  6. Corrigir dependências

    apt -f install
    
por user.dz 27.11.2016 / 17:59