원격 서버에서 실수로 sudo rm / *을 실행했습니다.


11

rm /*원격 우분투 서버에서 루트로 로그인하는 동안 실수로 실행 되었고 거의 모든 바이너리를 삭제했으며 현재 ssh 또는 ftp를 통해 로그인하여 파일을 복원 할 수 없습니다 (최선을 기대하십시오).

어떻게 든이 혼란을 해결할 수 있습니까? 아니면 데이터 센터에 전화하여 형식을 요청해야합니까?


2
이것이 실제 서버인지 가상 서버인지 확인할 수 있습니까? 또한 당신이 -r주장을 실행했는지 rm아니면 실제로 당신이 보여주는 명령을 수행했는지 여부 . 호스팅 제공 업체가 특정 머신 외부의 디스크 이미지에 액세스 할 수있는 방법을 제공합니까?
Caleb

답변:


26

rm /*아주 조금 삭제해야합니다. 거기에는 -r재귀 적으로 아무것도 삭제하는 플래그 가 없으며 디렉토리가 없으면 디렉토리가 삭제되지 않습니다 (디렉토리가 삭제 된 경우에도 빈 디렉토리 만 삭제할 수 있음). 이 답변은 사용자가 실행하지 않았다는 가정하에 전제 rm -rf /*됩니다.

결과적으로 루트 파일 시스템의 유일한 파일은 커널과 initrd에 대한 심볼릭 링크 (내가보고있는 우분투 시스템에는 존재하지 않지만) 또는 /lib6464 비트 시스템 의 심볼릭 링크 일 수 있습니다.

/lib64 -> /lib심볼릭 링크가 삭제 된 것일 수 있습니다 . 그러나 거의 모든 프로그램이 해당 심볼릭 링크에 의존하기 때문에 꽤 불쾌합니다.

$ ldd /bin/bash
...
    /lib64/ld-linux-x86-64.so.2 (0x00007f8946ab7000)

이것이 ld-linux동적 로더이며, 사용할 수없는 경우 동적 실행 파일을 실행할 수 없습니다. 이로 인해 로그인이 매우 어려워 전혀 로그인하지 못할 수 있습니다.

한 구세주가 될 수 있습니다 busybox. 이것을 실행하여 확인하십시오.

$ ldd /bin/busybox
    not a dynamic executable

이 경우 busybox를 실행할 수 있어야하지만 문제는 어떻게 실행할 수 있습니까?

당신은 프롬프트 부트 로더에 액세스 할 수있는 경우, 당신이 부팅 할 수 있습니다 init=/bin/static-sh정전기 쉬에 심볼릭 링크, busybox검사 ( /bin/static-sh존재 -. 내 시스템에서 수행하지만 우분투의 표준이 아니다 이 버그는 제안 그 것은 볼 수 있습니다 .)

루트 쉘이 있으면 /lib64심볼릭 링크를 다시 만들 수 있습니다 . 먼저 루트 파일 시스템을 읽기 / 쓰기로 다시 마운트해야 할 수도 있습니다. busybox에는 이러한 도구가 내장되어 있어야하며 다음과 같이 실행할 수 있습니다.

# busybox mount -o remount,rw /
# busybox ln -s /lib /lib64
# /bin/bash
bash# 

bash가 작동하면 문제를 해결해야합니다.


18

현재 설치에서 파일을 복구해야하는 경우 호스트에게 도움을 요청하십시오. VM이라고 가정하면 디스크를 이미지화하고 호스트를 처음부터 다시 설치하고 새 파일 시스템에 이전 디스크 이미지를 덤프하는 데 하루 5 분 정도 걸립니다.

아무것도 필요하지 않으면 다시 설치하십시오. 뼈를 단단하게 할 때 거의 항상 가장 빠른 옵션입니다.


2
동의합니다. 이들이 합리적으로 유능한 VM 호스팅 서비스 인 경우이를 수행 할 수 있어야합니다. 그들이 사전 나사 백업을 할 수 있도록 가능한 한 빨리 연락하십시오.
Shadur

2

/ lib에 대한 / lib64 심볼릭 링크를 삭제했지만 여전히 콘솔이 열려있는 경우 다음을 수행하십시오.

/lib/ld-linux-x86-64.so.2 /bin/ln -s /lib /lib64

명령을 정상적으로 다시 실행할 수 있어야합니다. 실제 ld 라이브러리의 경로를 조정하십시오. 전체 ld 라이브러리 경로를 앞에 두어 원하는 다른 명령을 실행할 수도 있습니다.


1

물리적 서버에 액세스하지 않으면 할 수있는 일이 많지 않습니다.


그렇다면 형식을 요청해야합니까, 아니면 다른 모든 것을 휘젓 지 않고 해당 파일을 복원하는 방법이 있습니까?
Ant

이것이 가상 서버 일 가능성이 높다는 것을 잊어 버립니다.이 경우 "물리적 서버"는 더 높은 수준의 원격 도구에 액세스하는 것 외에는 큰 의미가 없습니다.
Caleb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.