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

17

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

Eu tenho um backup dele e os dados / home ainda estão OK no drive, então não há emergência, mas uma reconstrução completa ainda é um processo chato e demorado. Existe alguma maneira de se recuperar disso? Eu tenho um CD 9.04, eu estava debatendo tentando instalar por cima - isso é uma boa idéia?

Na falta disso, existe alguma boa maneira de inspecionar o drive e gerar uma lista de softwares instalados, e de preferência até mesmo os ajustes de fora / home (como / etc)?

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

EDIT: Muito obrigado por todas as respostas, eu realmente preciso aceitar todas as respostas como eu precisava usar bits de cada um. Consegui reparar totalmente a instalação usando algo parecido com 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
    
por Colin Pickard 15.05.2009 / 10:57

5 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 descobrir que explode para um dist-upgrade borked, então você pode precisar de:

dpkg --configure -a --abort-after=99999
    
por 15.05.2009 / 11:22
7

Tente pressionar CTRL-ALT-F1 e veja se você recebe um prompt de comando. Veja se você pode entrar, então tente executar o sudo apt-get dist-upgrade . Isso deve permitir que você também termine a atualização. Você pode receber erros, então você também pode precisar 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 essa rota, provavelmente deverá fazer backup de suas pastas / etc e / home para outro dispositivo.

    
por 15.05.2009 / 11:06
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 repositório que você está fazendo o download contra

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

3ª linha está lá apenas no caso de o repositório "se mover" para a nova versão durante o Processo da segunda linha.

A quarta linha deve terminar o trabalho.

    
por 16.05.2009 / 01:00
5

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

Então, se alguém se depara com isso, estou postando algumas informações dos fóruns do Ubuntu que me ajudaram a chegar a uma janela de terminal para que eu pudesse usar os comandos Colin e Avery postados acima.

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

ubuntuforums.org/showthread.php?t=157250

Digamos que seu sistema tenha sido derretido após uma atualização ou que seu novo kernel não inicialize. 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 simplesmente expele erros e trava no boot. Felizmente, com um CD ao vivo, você pode reparar seu sistema e colocá-lo em funcionamento. Você tem 2 opções para o live cd: Knoppix ou o live cd do Ubuntu. Como o Knoppix geralmente possui uma melhor detecção de hardware, isso será usado como exemplo.

  1. Primeiro, baixe o iso do link e grave-o em um disco.
  2. Obtenha seu BIOS configurado para inicializar a partir do CD, pop no disco do 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 sistema.
  4. Clique nele para montá-lo e, em seguida, clique com o botão direito do mouse em ações - > mude para o modo de leitura / gravação. Ele irá abrir um diálogo; clique sim.
  5. Agora, abra um terminal raiz, encontrado no menu Knoppix (aquele ao lado do K no painel). Digite: chroot / mnt / hda1 ou qualquer que seja o ícone do seu disco rígido na área de trabalho.

Agora você pode usar todos os comandos do disco rígido, incluindo o apt-get. Se você receber este erro: "/ dev / null: Permission denied" então faça: "sudo rm / dev / null" e ele deve desaparecer. Agora, use o apt-get para atualizar seu kernel, udev ou qualquer outra coisa que esteja bagunçando seu sistema.

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

Funcionou perfeitamente também! Eu montei meu disco rígido de acordo com as instruções, abri uma janela de terminal, digitei "sudo chroot / media / hda1" e finalmente tive acesso ao meu disco rígido. Eu era então capaz de usar os comandos postados 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" embutido para facilitar todo esse processo de recuperação.

    
por 03.11.2009 / 01:55
1

Para mim, outros comandos também ajudam no ambiente chroot a todos os pacotes serem configurados corretamente (execute isto antes de dpkg ,dist etc):

Upstart jobs cannot be started in a chroot because upstart acts as a service supervisor, and processes within the chroot are unable to communicate with the upstart running outside of the chroot (Bug:430224). This will cause some packages that have been converted to use upstart jobs instead of init scripts to fail to upgrade within a chroot. Users are advised to configure their chroots with /sbin/initctl pointing to /bin/true, with the following commands run within the chroot:

Code:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
    
por 02.02.2012 / 22:25