it-swarm-pt.tech

Recuperar do desligamento durante a atualização da distribuição do Ubuntu

Eu tenho um computador que foi desligado inesperadamente durante uma atualização de distribuição (Ubuntu 8.10 -> 9.04). Agora ele não termina a inicialização - vários erros do X, depois vai para a tela de login, mas não permite logins.

Eu tenho um backup dele e os dados/home ainda estão OK na unidade, portanto não há emergência, mas uma reconstrução completa ainda é um processo irritante e demorado. Existe alguma maneira de se recuperar disso? Eu tenho um CD 9.04, estava pensando em tentar instalar por cima - é uma boa ideia?

Caso contrário, existe alguma maneira de inspecionar a unidade e gerar uma lista de software instalado e, de preferência, até as configurações de fora/de casa (como/etc)?


Se eu tiver que começar do zero novamente, alguma recomendação para lidar com a pessoa responsável pelo desligamento inesperado? :)


Edição: Muito obrigado por todas as respostas, eu realmente preciso aceitar todas as respostas, pois eu precisava usar bits de cada um. Consegui reparar completamente a instalação usando algo como isto:

Sudo dpkg --configure -a
Sudo apt-get update
Sudo dpkg --configure -a
Sudo dpkg --configure -a --abort-after=99999
Sudo apt-get dist-upgrade
Sudo apt-get -f install
Sudo apt-get dist-upgrade
18
Colin Pickard

Se você puder chegar a um local onde possa usar o dpkg como root, poderá executar dpkg --configure -a

No entanto, você pode achar que explode para um dist-upgrade borked, portanto, pode ser necessário:

dpkg --configure -a --abort-after=99999
11
Oli

Tente pressionar CTRL-ALT-F1 e veja se você recebe um prompt de comando. Veja se você pode fazer o login e tente executar Sudo apt-get dist-upgrade. Isso deve permitir que você também termine a atualização. Você pode obter erros e também pode tentar usar Sudo dpkg --configure -a.


Para obter uma lista do software instalado, você pode executar o comando dpkg --get-selections. Se você salvar a saída desse comando em um arquivo, poderá usar o comando seleções de gato | Sudo dpkg --set-selections e depois usar o comando Sudo apt-get dselect-upgrade para realmente obter todos os pacotes instalados.

Se você seguir esse caminho, provavelmente deverá fazer backup de suas pastas/etc e/home em outro dispositivo.

7
Zoredache
Sudo apt-get update
Sudo dpkg --configure -a
Sudo apt-get update
Sudo apt-get dist-upgrade

A primeira linha atualiza o nível atual do repo que você está baixando

A segunda linha reconfigura todos os pacotes que estão em um estado "ruim"

A terceira linha está lá caso o repositório "se mova" para a nova versão durante o processo da segunda linha.

A quarta linha deve terminar o trabalho.

5
Avery Payne

Consegui me recuperar de uma situação catastrófica em que o Xubuntu não inicializava após o desligamento da energia durante uma atualização. Cerca de 10 segundos após o POST, o Xubuntu parava com uma série de erros (tentar carregar a opção "recovery" no grub também não funcionaria).

Portanto, se alguém se deparar com isso, estou postando algumas informações nos fóruns do Ubuntu que me ajudaram a chegar a uma janela do terminal para que eu pudesse usar os comandos que Colin e Avery postaram acima.

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

ubuntuforums.org/showthread.php?t=157250

Digamos que seu sistema tenha se desintegrado após uma atualização ou seu novo kernel não inicializará. Você não pode consertar o problema com o apt-get, porque você não pode nem chegar a uma linha de comando; o kernel apenas expele erros e trava na inicialização. Felizmente, com um CD ao vivo, você pode reparar seu sistema e colocá-lo em funcionamento. Você tem 2 opções para o CD ao vivo: Knoppix ou o CD ao vivo do Ubuntu. Como o Knoppix geralmente possui uma melhor detecção de hardware, isso será usado como exemplo.

  1. Primeiro, baixe o iso de http://www.knoppix.org/ e grave-o em um disco.
  2. Configure o BIOS para inicializar a partir do CD, pop no disco Knoppix e inicialize.
  3. Seu disco rígido deve aparecer na área de trabalho do KDE como hda1 ou sdb2 ou algo assim, dependendo do seu sistema.
  4. Clique nele para montá-lo e clique com o botão direito do mouse em ações -> alterar para o modo de leitura e gravação. Ele abrirá uma caixa de diálogo; clique sim.
  5. Agora, abra um terminal raiz, encontrado no menu Knoppix (o próximo ao K no painel). Digite: chroot/mnt/hda1 ou o que o ícone do seu disco rígido indicar na área de trabalho.

Agora você pode usar todos os comandos no disco rígido, incluindo o apt-get. Se você já receber esse erro: "/ dev/null: Permissão negada", faça o seguinte: "Sudo rm/dev/null" e ele deverá desaparecer. Agora, use o apt-get para atualizar seu kernel, udev ou qualquer outra coisa que esteja atrapalhando seu sistema.

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

Funcionou perfeitamente também! Montei meu disco rígido de acordo com as instruções, abri uma janela do terminal, digitei "Sudo chroot/media/hda1" e finalmente tive acesso ao meu disco rígido. Pude usar os comandos publicados anteriormente neste segmento para reiniciar o processo de atualização. :)

Não é de admirar que o CD do Ubuntu Live/Installation não tenha um "console de recuperação" incorporado para facilitar todo esse processo de recuperação.

5
Chris

Para mim também outros comandos ajudam no ambiente chroot para todos os pacotes configurarem corretamente (execute isso antes de dpkg ,dist etc):

Os trabalhos iniciados não podem ser iniciados em um chroot porque o iniciante atua como um supervisor de serviço, e os processos dentro do chroot não conseguem se comunicar com o iniciante em execução fora do chroot (Bug: 430224). Isso fará com que alguns pacotes que foram convertidos usem tarefas iniciadas em vez de scripts init falharem ao atualizar dentro de um chroot. Os usuários são aconselhados a configurar seus chroots com/sbin/initctl apontando para/bin/true, com os seguintes comandos executados no chroot:

Código:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
1
Chris Suszyński