rm -rf / *를 실행 한 후 복구


8

rm -rf /*우분투 우분투 10.10을 실수로 실행 하여 명령을 신속하게 취소했습니다. 나는 루트가 아니었고 사용하지 않았지만 sudo많은 파일이 삭제되었습니다. 시스템의 응답이 약해져서 어떻게 고칠 지 잘 모르겠습니다. 예를 들어, 파이어 폭스를 다시 설치하고 많은 파이어 폭스 문제를 해결했지만 오른쪽 클릭은 매우 느립니다. 대홍수는 CPU 사용량 (1 코어)을 100 %로 끌어 올리고 있습니다. 셔터는 응답 성 측면에서 약간 이상합니다.

모든 것을 수리하기 위해 내가 할 수있는 일이 있습니까? 설치된 모든 패키지 및 Ubuntu 파일을 다시 설치하는 것처럼?


4
백업하고 새로 설치하는 것이 좋습니다 : S
shroff

3
어떻게 당신도 않는 실수로 같은 명령을 실행?
Ward Muylaert

@shroff 저것은 나의 마지막 수단이다! 나는 다시 드롭 박스에서 다운로드되는 데이터의 GB를 의미하는 것처럼 그것을 피하려고하지 설치는 새로운 일에 걸리는 시간을 언급
Ashfame

@Ward 나는 경로를 편집하고 실수로 경로를 만들었습니다
Ashfame

1
@Alin Andrei rm -rf /*는 10.10에 나를 위해 잘 달렸다
Ashfame

답변:


10

나는 루트가 아니었고 사용하지 않았지만 sudo많은 파일이 삭제되었습니다.

개인 설정 만 삭제했을 것입니다. 새 사용자를 작성하고 해당 사용자로 로그인하여 모두 정상인지 확인하십시오. 그것은해야한다.

이 시나리오 인 경우 파일과 누락 구성 파일을 새 사용자 폴더로 이동할 수 있습니다.


동의한다. 이 명령은 / home 디렉토리에서로 /*확장되는 파일을 삭제 했습니다 /bin /boot /dev /etc /file.img /home /initrd.img /initrd.img.old /lib ....
정렬

예, 모든 설정과 구성이 사라졌습니다. 다시 설치 된 파이어 폭스와 홍수로 인해 엉망이되는 이유를 이해할 수 없습니다. 전체 시스템은이 사건 이전과 같이 빠른 응답 성이 부족합니다.
Ashfame

나는 -r 스위치가 있다면 깊은 내 집에서 여러 디렉토리에서 내 파일을 @arrange도 삭제 된 N 나는 기억하지 않습니다
Ashfame

6

이 스크립트를 사용하여 모든 패키지를 다시 설치할 수 있습니다. 파이썬에서 해킹하지 않고 dpkg 제어 메커니즘을 찾을 수 없으므로 약간 해킹입니다.

#!/bin/bash

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

파일에 저장 reinstall.sh한 다음 bash reinstall.sh명령 행에서 실행하여 실행 하십시오. 시간이 걸리지 만 모든 것이 다시 설치됩니다.


새로 설치하면 다시 설치할 수 있습니다. 그들은 너무 많지 않았습니다. 그래도 당신의 생각을 이해합니다.
Ashfame

2

설치된 모든 패키지를 백업 한 다음 새로 설치 한 다음 복원 프로세스를 수행 할 수 있습니다.

먼저, 모든 응용 프로그램이 사전 설치된 컴퓨터에서 설치된 패키지 목록을 검색하고 출력을 packages.txt라는 파일로 리디렉션하십시오. 이 패키지 목록을 복원 프로세스에 사용할 수 있도록 어딘가에 저장하십시오.

sudo dpkg --get-selections > packages.txt

목록에서 모든 응용 프로그램을 복원하려면 3 단계 프로세스를 매우 신중하게 따라야합니다.

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

목록에 모든 새 응용 프로그램을 설치하라는 메시지가 표시됩니다. 이 프로세스로 할 수있는 또 다른 예는 Ubuntu를 새로 설치 한 후 모든 응용 프로그램의 기준을 만드는 것입니다. 새로 설치 한 이후에 설치된 모든 응용 프로그램을 제거하고 똑같은 프로세스를 수행하면 해당 목록에 정의되지 않은 패키지가 제거된다고 가정합니다.

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

첫 번째 명령은 --clear-selections현재 설치된 모든 패키지를 상태로 표시 deinstall합니다. 를 사용하여 응용 프로그램 목록을 복원 할 때 목록에서 --set-selections생략 된 패키지 만 deinstall상태를 유지합니다 . Aptitude는 제거 상태를 유지하고 추가 패키지를 제거하므로 목록에 패키지 만 남게됩니다.


1
아마 내가 찾던 것입니다. 올바르게 이해하면 --clear-selections는 패키지가 필요하지 않고 제거해야한다는 것을 표시하지만 패키지 목록을 삭제하므로 목록을 내보낼 때와 거의 동일한 구성이 설치되도록 표시됩니다. 일부 패키지는 이미 존재하며 (이전에 제거 대상으로 표시된 패키지는 이제 다시 표시해야 함) sudo aptitude install은 마지막으로 보류중인 작업, 즉 새로운 패키지가 필요한 작업을 수행합니다. 권리?
Ashfame

0

새로 설치하여 문제를 해결했습니다.

따라 @의 d4n13l 제안 , 내 시스템은 응답에서 히트를 촬영 한 이상 그냥 내 파일이 사라졌다.

나는 기분 마틴의 접근 방식은 @ 하나가 신선한이 있다고 이전 패키지를 설치하는 설치 수행 한 후 이동해야 뭔가입니다. 나는 그것들이 거의 없었기 때문에 우분투 소프트웨어 센터에서 다시 설치했습니다.

이것을 조사해 주신 모든 분들께 감사드립니다. :)


당신은 결국 당신이 한 일이기 때문에 당신의 대답을 받아 들여진 대답으로 표시 할 수 있습니다; 그러나 Martin의 답변이 당신에게 유용하다면 투표하십시오!
Jorge Castro

확인을 마쳤으므로 답변을 수락 된 답변으로 표시했습니다. 그러나 Martin과 hhlp의 답변은 도움이 필요한 사람에게 더 도움이 될 것입니다.
Ashfame
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.