Reparando após executar rm -rf / *

8

Eu acidentalmente corri rm -rf /*no meu Ubuntu 10.10 e cancelei o comando rapidamente. Eu não era root e não usei, sudomas muitos dos meus arquivos foram excluídos. O sistema se tornou menos responsivo e não sei como corrigi-lo. Por exemplo, reinstalei o firefox e ele resolveu muitos problemas do firefox, mas o botão direito do mouse é muito lento. O Dilúvio continua aumentando o uso da CPU (1 núcleo) para 100%. O obturador também é um pouco estranho em termos de capacidade de resposta.

Existe algo que eu possa fazer para reparar tudo? Como reinstalar todos os pacotes instalados e arquivos do Ubuntu?

Ashfame
fonte
4
Eu sugeriria fazer um backup e uma nova instalação: S
shroff
3
Como você acidentalmente executa esse comando?
Ward Muylaert
@shroff Esse é meu último recurso! Estou tentando evitá-lo, pois isso significaria o download de GBs de dados do Dropbox novamente e sem mencionar o tempo que levaria para fazer uma nova instalação.
Ashfame
@Ward eu estava editando o caminho e, acidentalmente, fez correr
Ashfame
11
@Alin Andrei rm -rf /*correu bem para mim em 10.10
Ashfame 20/03

Respostas:

10

Eu não era root e não usei, sudomas muitos dos meus arquivos foram excluídos.

Você provavelmente excluiu apenas suas configurações pessoais. Crie um novo usuário e efetue login como esse usuário, e verifique se está tudo OK. Deveria ser.

Se este for o cenário, você pode mover seus arquivos e arquivos de configuração que não estão faltando para a nova pasta do usuário.

d4n13l
fonte
Concordo. O comando provavelmente excluiu os arquivos no diretório / home, conforme se /*expande para /bin /boot /dev /etc /file.img /home /initrd.img /initrd.img.old /lib ....
organiza
Sim, todas as configurações se foram. Eu não entendo por que isso iria atrapalhar até mesmo o firefox e o dilúvio reinstalados. Todo o sistema carece de resposta rápida, como era antes deste incidente.
Ashfame 23/01
@arrange meus arquivos profundo sob vários diretórios em minha casa foram apagadas também n Eu não me lembro se eu tivesse a opção -r
Ashfame
6

Você pode usar esse script para reinstalar todos os seus pacotes, é um pouco hackeado, pois eu não consegui encontrar o mecanismo de controle do dpkg sem hackear o python:

#!/bin/bash

for PACKAGE in `dpkg --get-selections | grep install | awk '{ print $1; }'`; do
  sudo apt-get --reinstall install $PACKAGE
done

Salve isso no arquivo reinstall.she execute executando bash reinstall.shna linha de comando. Isso levará um tempo, mas reinstalará tudo.

Martin Owens -doctormo-
fonte
Posso instalar as coisas novamente se estiver fazendo uma nova instalação. Eles não eram muitos. Eu entendo sua ideia embora.
Ashfame 23/01
2

Você pode fazer um backup de todos os seus pacotes instalados, uma instalação limpa e um processo de restauração.

Primeiro, em um computador com todos os aplicativos pré-instalados, recupere sua lista de pacotes instalados e redirecione a saída para um arquivo chamado packages.txt. Salve esta lista de pacotes em algum lugar para poder usá-la no processo de restauração.

sudo dpkg --get-selections > packages.txt

Para restaurar todos os aplicativos da sua lista, você deve seguir um processo de três etapas com muito cuidado.

sudo dpkg --clear-selections 
sudo dpkg --set-selections < packages.txt 
sudo aptitude install

Você será solicitado a instalar todos os novos aplicativos na lista. Outro exemplo do que esse processo permite é criar uma linha de base de todos os aplicativos após uma instalação limpa do Ubuntu. Digamos que você queira remover todos os aplicativos instalados desde a instalação limpa, executar exatamente o mesmo processo e qualquer pacote não definido nessa lista será removido.

sudo dpkg --get-selections > clean-install-package-list.txt
sudo dpkg --clear-selections
sudo dpkg --set-selections < clean-install-package-list.txt 
sudo aptitude install

O primeiro comando de --clear-selectionsmarca todos os pacotes atualmente instalados no estado deinstall. Quando você restaura a lista de aplicativos usando --set-selections, apenas os pacotes omitidos da lista permanecem no deinstallestado. O Aptitude honrará o estado de desinstalação e removerá os pacotes extras, deixando apenas os pacotes da lista.

hhlp
fonte
11
Provavelmente é o que eu estava procurando. Se eu entendi direito, então --clear-selections marca que os pacotes não são necessários e devem ser removidos, mas então imorteamos nossa lista de pacotes, então quase a mesma configuração que tínhamos quando exportamos a lista deve ser marcada para instalação. Alguns pacotes já estão lá (que foram marcados anteriormente para remoção, agora estão novamente marcados por necessidade deles) e, em seguida, o sudo aptitude install finalmente faz o que está pendente, ou seja, quais novos pacotes são necessários. Direita?
Ashfame
0

Corrigi os problemas fazendo uma nova instalação.

Como o @ d4n13l sugeriu , meu sistema foi afetado pela capacidade de resposta e mais do que apenas meus arquivos se foram.

Eu sinto que a abordagem do @ Martin é algo que você deve seguir após fazer uma nova instalação para instalar os pacotes anteriores que você possuía. Como eu tinha muito poucos deles, instalei-os novamente no Ubuntu Software Center.

Obrigado a todos por investigarem isso. :)

Ashfame
fonte
você pode marcar sua resposta como a resposta aceita, já que foi isso que você acabou fazendo; no entanto, se a resposta de Martin foi útil para você, vote!
Jorge Castro
ok Marquei minha resposta como a resposta aceita, porque acabei fazendo isso. Mas as respostas de Martin e hhlp serão mais úteis para quem precisa.
Ashfame