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

18

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
Colin Pickard
fonte
11
Use um LART ( catb.org/jargon/html/L/LART.html ): "O clássico LART é um tarugo 2x4 ou outro grande pedaço de madeira que pode ser usado como [...] knobkerries, armas automáticas, lança-chamas e táticas. todas as armas nucleares têm seus partidários ".
David Schmitt
Você pode realmente digitar suas credenciais de login ou o teclado e / ou o mouse não estão disponíveis?
Oddmund 15/05/09
Eu poderia digitar as credenciais, mas não iria mais longe. CTRL + ALT + F1 deu-me um terminal no entanto e eu era capaz de entrar lá
Colin Pickard
Você pode ter problemas quando / usr, / home e pastas semelhantes são montadas a partir de discos separados, nessa situação, o bind ajuda. Use mount --bind / proc / chrooted / proc mount --bind / mnt / usr / chrooted / usr ...

Respostas:

11

Se você pode chegar a um lugar onde você pode usar o dpkg como root, você pode 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
Oli
fonte
7

Tente pressionar CTRL-ALT-F1 e veja se você recebe um prompt de comando. Veja se você pode fazer o login e tente executar o 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 o 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 cat selections | sudo dpkg --set-selections e use o comando sudo apt-get dselect-upgrade para obter todos os pacotes instalados.

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

Zoredache
fonte
Vou adicionar dpkg --get-selections aos meus scripts de backup, eu acho. Muito útil.
Colin Pickard
5
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.

Avery Payne
fonte
5

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ê nem consegue acessar 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, faça o download do iso em 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. Será aberto um 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ê receber este 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.


fonte
Isso funcionou para mim em uma situação semelhante. Esta resposta no SU fornece ótimas instruções sobre como montar corretamente as partições a partir do CD ao vivo.
Zelanix 6/01/16
1

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

Os trabalhos iniciantes 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 para usar tarefas iniciadas em vez de scripts init falhem 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
Chris Suszyński
fonte