Como você se recupera de uma atualização com falha ('apt-get -f install' e 'dpkg --configure -a' falham)?

14

Durante uma atualização do lucid (10.04) para a precisa (12.04), a sessão X congelou e eu tenho tentado recuperar a atualização para obter um sistema estável. Eu executei as seguintes etapas:

  1. Utilizado ssh para efetuar login no sistema paralisado pela rede.
  2. Verificou o conteúdo do /var/log/dist-upgradediretório. Não havia atividade em main.log, apt.logou term.log.
  3. top mostrei que o processo 'preciso' estava usando cerca de 3% da CPU, mas não pude encontrar nenhuma evidência de que o processo de atualização ainda estivesse fazendo alguma coisa.
  4. 'dpkg' não apareceu no topo, mas veio com pgrep dpkg | xargs ps
  5. Matou os processos 'dpkg' e 'preciso'
  6. Tentou recuperar a atualização executando sudo fuser -vki /var/lib/dpkg/lock;sudo dpkg --configure -a. Isso foi parcialmente bem-sucedido (alguns pacotes foram configurados), mas falhou com a mensagem Processing was halted because there were too many errors. Eu executei o mesmo comando algumas vezes e sempre que alguns pacotes foram configurados, mas outros falharam.
  7. Tentei correr sudo apt-get -f install. Falha com erros semelhantes ao dpkg.

A situação atual é essa dpkg --configure -ae sudo apt-get -f installfalha com dois tipos de erro:

  1. Problemas de dependência, por exemplo:

    dpkg: dependency problems prevent configuration of cifs-utils:
    cifs-utils depends on samba-common; however:
    Package samba-common is not configured yet.
    dpkg: error processing cifs-utils (--configure):
    dependency problems - leaving unconfigured
    
  2. Conflito de recursos, por exemplo:

    debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
    

Além disso, parece que há referência a possíveis problemas de inicialização, por isso não desejo reiniciar sem corrigir a instalação primeiro:

    dpkg: too many errors, stopping
    Processing triggers for initramfs-tools ...
    update-initramfs: Generating /boot/initrd.img-3.2.0-25-generic
    cryptsetup: WARNING: failed to detect canonical device of /dev/sda1
    cryptsetup: WARNING: could not determine root device from /etc/fstab

Então, minha pergunta é: como obter uma instalação funcional quando dpkg --configure -afalha?

rudivonstaden
fonte
Siga as etapas em help.ubuntu.com/community/…, mas ainda tem dependências não resolvidas. Baixando ISO e fará uma instalação limpa.
Rudivonstaden

Respostas:

6

Consegui resgatar a atualização, embora não tenha 100% de certeza do que funcionou. Outros ainda podem se beneficiar:

  1. Consegui recuperar minha sessão X alternando para um terminal de linha de comando (Ctl + Alt + F2) e, em seguida, de volta ao terminal X (Ctl + Alt + F7), que então me pediu para entrar novamente. O sistema estava instável, mas funcionou. Pude fechar alguns prompts relacionados à atualização.

  2. Parece que o gerenciador de atualizações não desativou os PPAs, então eu limpei /etc/apt/sources.list.d/(excluí todas as entradas). Foi sugerido no IRC (#ubuntu) que eu deveria usar o ppa-purge para limpar os PPAs, mas no final simplesmente os excluí.

  3. Depois disso, sudo apt-get updatee sudo apt-get -f installesclareceu a maioria dos problemas restantes, mas ainda havia problemas de dependência samba.

  4. Eu consegui corrigir o samba removendo-o ( sudo apt-get remove samba) e reinstalando-o ( sudo apt-get install samba).

Depois disso, o sistema ficou mais ou menos estável. Eu também tive que remover e reinstalar a unidade após uma reinicialização, mas, caso contrário, está funcionando bem.

rudivonstaden
fonte
1

Hoje tive esse problema tentando atualizar para o 14.04. Notei mensagens semelhantes como:

debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable

Eu costumava sudo fuser /var/cache/debconf/config.datdescobrir qual processo estava parado. Observe que você precisa encontrar o arquivo exato que está 'preso'. Aparentemente, alguma coisa do front end que não apareceu corretamente, mas bloqueou o progresso da atualização. Depois de encerrar esse processo, fui capaz de retomar o patch do sistema com os comandos regulares.

jippie
fonte
0

Eu tive um problema semelhante: 1. O Synaptics não seria iniciado ==> Mensagem de erro: "execute sudo dpkg --configure -a"

  1. "sudo dpkg --configure -a" falha e reinicia meu PC (várias vezes)

  2. Todas as intenções "sudo apt-get ..." falhariam com a mesma mensagem de erro: $ sudo apt-get autoclean E: se interceptar a ejeção do dpkg, debe ejecutar manualmente «sudo dpkg - configure -a» para corrigir o problema.

TRABALHOU PARA MIM: 1. Executado várias vezes "sudo apt-get update" ATÉ que não seja mais necessário baixar o pacote.

PASS N: Ignite http://es.archive.ubuntu.com confiável / universo Translation-es_ES Descargados 4.294 kB en 31seg. (137 kB / s) E: se houver interceptação da ejeção do dpkg, debe ejecutar manualmente «sudo dpkg - configure -a» para corrigir o problema $

PASS N + 1: Ignite http://es.archive.ubuntu.com confiável / universo Translation-es_ES E: se houver interceptação da ejeção do dpkg, debe ejecutar manualmente «sudo dpkg - configure -a» para corrigir o problema $ UNTIL Nenhuma mensagem "Descargados" aparece (download).

  1. Executado novamente "sudo dpkg --configure -a"

E funcionou então ... não sei por que / como. Mas tudo bem agora.

Christophe Trille
fonte