Posso recuperar de “rm / *”?

3

Estou usando o Debian ... E acidentalmente rodei "rm / *" como root (hurrah!) - por sorte não usei -r, então os diretórios ainda estão intactos. No entanto, ao tentar arrancar, recebo ...

run-init: /sbin/init: No such file or directory
Kernel panic - not syncing: Attempted to kill init!

... no entanto, depois de verificar a unidade de outra máquina, posso confirmar que /sbin/init existe. As únicas coisas que faltam foram os arquivos na raiz, e eu substituí os links sym (initrd.img e vmzlinuz) ...

Talvez haja mais alguns links que eu preciso substituir?

    
por Nick Bolton 22.10.2009 / 19:45

4 respostas

2

Acontece que eu estava faltando lib64 ...

ln -s /lib lib64

... o servidor agora é inicializado! :)

    
por 22.10.2009 / 23:16
5

Você realmente correu

# rm /

ou

# rm /*

Porque se você executou o primeiro, você não deveria ter apagado nenhum arquivo, porque o rm não irá deletar um diretório a menos que você adicione -r .

Eu sugeriria executar:

# update-initramfs -c -k all
# update-grub

mas não acho que isso conserte seu problema. Você provavelmente também quer verificar seu /boot/grub/menu.lst para ter certeza de que ele está se referindo ao kernel correto e às imagens initramfs.

    
por 22.10.2009 / 20:01
2

Uma vez eu quis digitar rm folder/* , mas acidentalmente digitei rm folder /* em um sistema em execução, o SCO Xenix ou o SCO UNIX. Como o UNIX na verdade não apaga arquivos que estão abertos, até que eles sejam fechados, o sistema continuou funcionando normalmente.

Eu sabia que se eu colocasse todos os arquivos perdidos de volta, uma reinicialização teria sucesso normalmente e nada de ruim aconteceria. Felizmente, eu tinha outro servidor com o mesmo sistema operacional instalado, e fui até ele, copiei todos os arquivos da raiz do sistema de arquivos para um disquete e os coloquei de volta no sistema castrado. Mais tarde, naquela noite, depois que todos se desconectaram, eu reiniciei e nunca houve um problema.

Então você deve ser capaz de fazer algo semelhante para corrigir isso. Se você não tiver um sistema em execução correspondente, mas tiver uma estação de trabalho com o Virtualbox ou o XEN, basta fazer uma instalação da VM para obter o sistema correspondente.

Claro, eu não sugiro usar o disquete neste dia e idade quando temos SCP e FTP para mover arquivos.

    
por 22.10.2009 / 20:57
2

Correndo o risco de necroing, cheguei a esta resposta ao tentar resolver o mesmo. Vale a pena notar que se você tentar se recuperar disso enquanto o sistema ainda está rodando, você pode não ser capaz de executar 'ln' porque você perderá um lib - você precisará fazer algo como:

/lib/ld-2.11.1.so /bin/ln -s /lib/ /lib64/
    
por 04.03.2013 / 17:05

Tags