Interrompendo o apt-get dist-upgrade: o que poderia acontecer?

10

Vamos supor que eu ssh no meu computador e execute

sudo apt-get dist-upgrade

e, enquanto o apt-get estiver executando e instalando os pacotes, outra pessoa sentada no terminal e conectada ao gnome decide desligar o computador através da GUI.

Qual é o pior que pode acontecer sob essa circunstância? Existe algum mecanismo que impeça que os pacotes sejam deixados em um estado 'sujo'? Se não, como evitar isso?

fdierre
fonte

Respostas:

8

Na pior das hipóteses, ele pode interromper o sistema, impossibilitando a inicialização normal, mas você sempre pode inicializar no modo de recuperação e corrigi-lo.

  1. Use o modo de recuperação inicializando com um CD-ROM de instalação do Ubuntu e digitando “rescue” no prompt de inicialização

  2. Monte todas as suas partições e execute um chroot no / target onde a partição raiz está montada.

  3. Depois que o sistema inicializar no menu, selecione o item que diz “Soltar para prompt do shell raiz com rede”. Isso fornece a capacidade de atualizar os pacotes de software da Internet.

  4. Quando o prompt aparecer, comece verificando se todos os programas atualmente instalados estão configurados:

    dpkg --configure -a

Isso pode levar um longo tempo, dependendo de quantos programas foram instalados antes da parada do sistema.

  1. Então vá em frente e atualize a lista atual de pacotes:

atualização apt-get

  1. Depois disso, atualize o software no sistema:

atualização apt-get

Este último passo, novamente, pode levar muito tempo para ser concluído. Você deve prestar atenção à lista de pacotes retidos (listados na parte superior da saída deste comando); esses pacotes deverão ser solicitados especificamente.

Geralmente, os pacotes são retidos porque exigem novo software ou outras mudanças drásticas: o kernel do Linux é sempre retido. Use um comando como este para instalar estes pacotes:

apt-get instala alguns pacotes some-other-package

Pode ser necessário repetir isso mais de uma vez até que todos os pacotes tenham sido instalados e nenhum seja retido.

Em seguida, repita a atualização e a atualização para verificar completamente se o sistema está o mais atualizado possível:

atualização apt-get

atualização apt-get

Esses últimos comandos devem ser executados rapidamente, pois provavelmente tudo está completo - no entanto, não é impossível que as atualizações afetem algo que requer outra atualização. Não fazer isso provavelmente não importa, mas por que não fazer assim mesmo?

Uma vez concluída, é necessária uma reinicialização para garantir que o software antigo não esteja mais sendo usado e tudo o que é usado é o novo software atualizado. Não basta continuar a inicialização: reinicie.

Mais uma coisa pode ser feita para limpar depois - possivelmente após a reinicialização. Em um shell de comando, digite este comando para remover o software desnecessário:

apt-get autoremove

Fonte

LnxSlck
fonte
Essa pode ser uma pergunta totalmente nova, mas existe uma maneira fácil de corrigi-la? Como algum comando de restauração?
precisa saber é o seguinte
1
Eu atualizei a minha resposta para incluir que
LnxSlck
2
Eu sugeriria que a execução em apt-get dist-upgradequalquer lugar apt-get upgradeseja sugerida acima. Com isso, você não precisa instalar manualmente os pacotes "retidos".
Mikko Rantalainen