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?


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.


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.


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.


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. :)


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.