Que comando é executado quando a opção dpkg é selecionada no modo de recuperação?

3

Recentemente encontrei a seguinte situação:

  • Não consegui inicializar meu computador normalmente. (Foi-me mostrado um cursor piscante após o carregador de inicialização e a tela de carregamento do Ubunutu, mas antes da página de login, sem nunca chegar à página de login.)
  • Consegui entrar no modo de recuperação. Se eu continuasse totalmente o boot, eu poderia chegar a um terminal onde eu poderia adicionar / remover quaisquer pacotes com o apt-get.
  • Antes de inicializar totalmente no modo de recuperação, foi mostrado um menu em que uma das opções era dpkg , que repararia os pacotes instalados. Se eu selecionasse essa opção, o sistema calcularia que um reparo poderia ser feito se eu reinstalasse 103 pacotes. No entanto, dizer sim a essa operação ocorreu em problemas de rede ao tentar baixar os pacotes para reinstalação.
  • Consegui resolver a situação observando a lista de pacotes oferecidos para reparo e, em seguida, usando a estratégia "lançar um dardo e rezar", optei por executar sudo apt-get install --reinstall ubuntu-gnome-desktop do prompt oferecido depois de entrar totalmente na recuperação modo. Isso acabou provocando uma reinstalação de 103 pacotes. Uma vez feito isso, eu poderia inicializar o Ubuntu normalmente.

A pergunta que tenho é:

Qual comando eu poderia ter inserido no prompt de comando quando inicializado, o que teria executado a mesma operação que a opção de menu dpkg ?

    
por Jacob Horbulyk 04.10.2017 / 12:30

1 resposta

4

Este recurso é fornecido pelo menu de recuperação amigável e, em particular, pelo dpkg plugin (que adiciona uma entrada de menu intitulada "Repair pacotes quebrados ”, traduzidos adequadamente em qualquer linguagem que o usuário configurou o sistema para usar).

Este plug-in usa duas abordagens diferentes para reparar pacotes quebrados:

  • se dist-upgrader estiver disponível, ele usa isso para reparar o sistema, executando

    env RELEASE_UPGRADER_NO_SCREEN=1 python3 /usr/lib/python3/dist-packages/DistUpgrade/dist-upgrade.py \
      --partial --frontend DistUpgradeViewText \
      --datadir /usr/share/ubuntu-release-upgrader
    
  • caso contrário, é executado

    dpkg --configure -a
    apt-get update
    apt-get install -f
    apt-get dist-upgrade
    

Para obter o mesmo efeito da seleção de menu, você deve tentar o primeiro comando usando dist-upgrader e, se isso falhar porque não existe, execute os quatro comandos que começam com dpkg --configure -a .

Tenha em atenção que estas duas opções não apenas reparam pacotes danificados, como atualizam o sistema para as versões mais recentes dos pacotes disponíveis em qualquer versão instalada. (Isso é necessário porque reparar os pacotes quebrados pode envolver a instalação de pacotes ausentes e isso só pode ser feito usando as versões atuais dos pacotes dos repositórios configurados.)

    
por 04.10.2017 / 13:44