[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Diretório /bin/ apagado



Anacleto Junior escreveu:
Boa noite a todos,
Por um erro de digitação, apaguei o diretório /bin/ do meu desk e agora não consigo iniciar. Fiz backup apenas de algumas pastas, ainda tenho acesso à elas a partir de um LiveCD mas gostaria de saber como corrigir isso.
A mensagem exibida era:
INIT: cannot execute "/etc/init.d/rc"
Tentei copiar a basta /bin/ de um sistema parecido que tenho (também com Debian 4) mas agora ele pede o arquivo libtermcap.so.2, informando que não é possível acessar as lib compartilhadas.
Como eu poderia restaurar este sistema?
Tentei fazer chroot no diretório e mandar um apt-get install mas o erro continua, portanto, posso ver os arquivos e tenho acesso de escrita, mas não consigo efetuar chroot por exemplo.
Se alguém puder me ajudar, ficarei muito grato!

Olá,

      Vão ter várias alternativas, mas minha dica seria:

1. Iniciar com um LiveCD e montar o sistema em /corrompido. Veja que se tiver várias partições, tem que montar a raiz primeiro e depois as outras partições para resultar no sistema comple.

2. Descobrir quais pacotes estão instalados no sistema corrompido:
dpkg --root /corrompido -l | grep ^ii | cut -d' ' -f3

3. Fazer download dos pacotes no sistema corrompido:
apt-get install -d --reinstall -o RootDir="/corrompido" `dpkg --root /corrompido -l | grep ^ii | cut -d' ' -f3`

Obs.: Serão baixados os pacotes que não estiverem no cache do sistema corrompido, porém pode ter muito pacote não mais utilizado lá e outros baixados e nunca utilizados ou ainda não utilizados, de forma que aconselho fortemente limpar o diretório /corrompido/var/cache/apt/archives/ antes desse processo (rm -rf /corrompido/var/cache/apt/archives/*).

4. Extrair os pacotes e copiar apenas o /bin para o sistema corrompido:
mkdir temporario
for pacote in /corrompido/var/cache/apt/archives/*.deb; do
   echo "===> $pacote"
   dpkg -x $pacote temporario
   if test -e temporario/bin; then
       cp -a temporario/bin /corrompido
       echo "    Feito."
   else
       echo "    Sem /bin."
   fi
   rm -rf temporario/*
done
rmdir temporario

5. Pronto, assim restaura seu /bin, mas com um porém, se foi criado alguma coisa nesse diretório por scripts dos pacotes, este será perdido, portando, aconselho ainda a depois de iniciar o sistema (ou faça um chroot para o mesmo), com muita atenção para as perguntas, execute:
apt-get install --reinstall `dpkg -l | grep ^ii | cut -d' ' -f3`

[]'s
           Junior Polegato



Reply to: