sexta-feira, 15 de janeiro de 2016

Recuperar sistema com um live cd, para Debian e Ubuntu

Já faziam uns 7 anos que não quebrava o meu sistema, mas consegui a façanha hehehe, reinstalar é para os fracos, aqui vou mostrar como é simples recuperar o seu sistema detonado.






Em primeiro lugar você vai precisar de um live cd ou live pendrive, de preferência da mesma distro que está usando.
Agora você precisa ao menos ter uma ideia da besteira feita, sabendo isso e como em 99% dos casos é algo relacionado a instalação ou remoção de algum programa, ou uma atualização não terminada.

Instalação ou remoção de programas 


Pelo live cd entre no diretório do sistema quebrado e navegue até,
/var/log/apt/
Abra o arquivo term.log
Role até o final do arquivo e localize a lista dos últimos pacotes instalados ou removidos, veja o exemplo na imagem.


Nesse caso a meleca foi boa, o sistema ficou sem internet e meio doido kkkkk sem o systemd e meus dados aparentemente sumiram, isso por conta de um apt-get autoremove sem ler o que seria removido, da zero pra mim kkkkkkk.

Instalação de programas

É o mesmo esquema, vá até /var/log/apt/ e abra o arquivo term.log, localize no final dele a ultima lista de programas instalados, geralmente o que da problema é algum kernel novo e de fora do repositório oficial.

Recuperando o sistema


O método de recuperação se baseia em você entrar na partição do sistema quebrado e, remover, instalar, reinstalar ou configurar pacotes pelo terminal.

Em primeiro lugar você deve identificar a partição que tem o sistema quebrado, para isso de o comando abaixo no terminal.

sudo -i

fdisk -l

Nesse exemplo o sistema está instalado em /dev/sda1

"/dev/sda1                   2048  81922047  81920000   39,1G 83 Linux"


O sda1 é nesse caso, você deve identificar qual é o seu e alterar nos comandos a seguir.
De o comando abaixo para montar a partição e seus diretórios.

mount /dev/sda3 /mnt/ ; mount --bind /dev /mnt/dev ; mount --bind /proc /mnt/proc ; mount --bind /sys /mnt/sys ; mount --bind /dev/pts /mnt/dev/pts
Copie o resolv.conf do live cd para a partição do sistema quebrado com o comando abaixo.

cp /etc/resolv.conf /mnt/etc/resolv.conf

Entre no sistema quebrado com o comando abaixo.

chroot /mnt/ /bin/bash
Atualize o repositório com o comando abaixo.

aptitude update

Pronto, agora você pode instalar, remover ou reconfigurar o sistema quebrado como se esteve-se nele.
OBS: Todos os exemplos abaixo dependem dessa ultima fase que fizemos. 

Instalação ou reinstalação


Reinstalando programas removidos indevidamente, com os pacotes identificados no  /var/log/apt/term.log


Você vai simplesmente reinstalar esses programas como no exemplo abaixo ( note que isso é um exemplo e você deve montar a sua lista ).

aptitude install aptdaemon brasero colord gnome-disk-utility gufw gvfs-backends gvfs:amd64 gvfs-daemons printer-driver-postscript-hp hplip iio-sensor-proxy network-manager-gnome policykit-1-gnome packagekit-tools packagekit udisks2 network-manager policykit-1 libpam-systemd:amd64 systemd
Caso tenha sido o gerenciador de sessão, por exemplo o lightdm

aptitude install lightdm

E por ai vai, dependendo do seu gerenciador de sessão, a estrutura do comando é simples.

aptitude install nome_do_gerenciador

Remoção


No caso de remoção de um kernel por exemplo, de o comando abaixo para identificar os kernel instalados na maquina quebrada.

dpkg -l | grep linux-image ; dpkg -l | grep linux-headers
Veja na imagem que voram identificados dois kernel, você deve remover sempre o mais atual (de numeração maior), no caso aqui seria o 4.3.0-1 e o comando seria.

aptitude remove linux-image-4.3.0-1-amd64 linux-headers-4.3.0-1-amd64
Atualize o grub com o comando abaixo.


update-grub


Isso também se aplica a algum programa que você tenha instalado e ache que seja o responsável pela ruína do sistema, nesse caso sabendo o nome do programa, abra o /var/log/apt/term.log e localize a lista de alterações feitas pela instalação do programa em questão.

Geralmente um purge já resolva o problema.

aptitude remove --purge nome_do_programa

Atualização do sistema interrompida


Tem casos que uma atualização do sistema interrompida possa quebrar o seu sistema, nesse caso de o comando abaixo no terminal.

dpkg --configure -a 
E para certificar que tudo foi atualizado adequadamente de o comando abaixo.

aptitude full-upgrade

É isso ai, você tem agora o conhecimento para recuperar o seu sistema, com os exemplos dados, basta só por a cabeça pra funcionar e adaptar ao seu caso especifico.

E lembrem, antes de mandar remover algo, confira a lista do que sera removido, nesse meu episodio eu não li o que seria removido e logo em um apt-get autoremove kkkkkkkk, erro primário, mas que ocorre ... e apesar de errar ser humano, os Lobos também erram kkkkkkkk

Sistema recuperado

















18 comentários:

  1. muito bom o post. Valeu Ricardo aprendi mais comandos

    ResponderExcluir
  2. kkkkkkk, normal já aconteceu comigo várias e várias vezes. Mais fica a dica pra quem tá chegando e acha que quando dá um "problema" tem que reinstalar o sistema do zero.. Abraços Lobo ótimo artigo !

    ResponderExcluir
  3. Legal.
    Já faz tanto tempo que não quebro meu sistema, que já havia esquecido os passos. Foi bom relembrar.

    ResponderExcluir
  4. vesh aí sim heim, essa eu vou guardar pq prevejo q o sistema aqui vai parar logo, esse auto-remove me pegou tb, quebrou um monte de coisa. Vlwww

    ResponderExcluir
  5. Fiz um pouco diferente ... pelo terminal, descomentei o cdrom como source no source.list ... instalei o gerenciador de conexão, e com a net funcionando, reinstalei.

    ResponderExcluir
    Respostas
    1. Desnecessário reinstalar o sistema, basta seguir a matéria e corrigir o problema.

      Excluir
  6. Valeu brou! A internet voltou a funfa e o cd-rom tambem. Só perdia a tela de dual boot (com w10) mas vou procura como restaurar.

    ResponderExcluir
  7. Valeu brou! Estava sem rede, e cd-rom tb dava erro de não poder ser montado. Agora voltou ao normal. Só falta restaurar a tela de dual-boot com o w10 :)

    ResponderExcluir
  8. É só atualizar o grub com o comando sudo update-grub

    ResponderExcluir
  9. Valeuzão! Hoje foi meu dia de sorte mesmo. Tudo resolvido.
    Ontem a rede tanto cabeada como wifi simplesmente pararam de funcionar e o cd-rom tabém. Agora com o sudo update-grub restaurou sem dificuldades o dualboot com o w10, graça a pessoas legais :) viva o linux!

    ResponderExcluir
    Respostas
    1. Legal que ficou tudo de boa heheh, entre nas nossas redes sociais, assim fica mais fácil e rápido obter ajuda, a galera la são bem prestativos :)

      Excluir