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
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
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.
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.
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.
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.
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