/usr/bin에서 삭제된 파일을 복구하는 방법은 무엇입니까?

/usr/bin에서 삭제된 파일을 복구하는 방법은 무엇입니까?

긴 이야기 짧게하단에.


배경:

CentOS 6.10 프로덕션 서버에서 다음과 같은 일이 발생합니다. 콘솔 기반 파일 브라우저인 Midnight Commander 프로그램을 실행하기 위해 브라우저 기반 터미널 프로그램을 사용합니다. 안타깝게도 이 터미널의 마우스 지원이 올바르게 설정되지 않아 실수로 mv폴더 내의 여러 파일에 작업을 적용했습니다 /usr/bin. 실행 파일이 다른 디렉터리로 이동되었습니다. 파일을 다시 이동할 수 있었지만 /usr/bin모든 것이 복원되었는지 확인하고 싶습니다.


손상된 파일에 대해 테스트합니다.

이동된 실행 프로그램 중 하나가 아직 실행 중인 프로그램입니다. 그것은 알려져 있습니다 dbus-daemon. 이것이 847내 컴퓨터의 프로세스 임을 확인할 수 있었습니다 .

실행하면 readlink -f /proc/847/exe아무것도 반환되지 않습니다.

ls -l | grep exe/proc/847내가 얻은 폴더에서 명령을 실행하면

lrwxrwxrwx 1 root root 0 Dec 4 01:01 exe -> \ (deleted)/bin/dbus-daemon


작업 파일을 테스트합니다.

나는 mv이 작업의 영향을 받지 않는 일반 실행 파일과 비교하기로 결정했습니다. 나는 chrond같은 결과가 나오는지 확인하기 로 결정했습니다 . 내 컴퓨터의 프로세스입니다 chrond.1187

내가 실행하면 readlink -f /proc/1187/exe반환됩니다./usr/sbin/crond

ls -l | grep exe/proc/1187/내가 얻은 폴더에서 명령을 실행하면

lrwxrwxrwx 1 root root 0 Dec 4 01:01 exe -> /usr/sbin/crond*

파일을 다시 이동하면 피해를 복구할 수 있기를 바랍니다. 그러나 명령이 예상한 결과를 반환하지 않았습니다.


긴 이야기 짧게내 질문은: 실행 파일을 밖으로 이동하면 /usr/bin/문제 없이 다시 이동할 수 있습니까? 그렇지 않은 경우 컴퓨터를 안전하게 다시 시작하려면 어떻게 해야 합니까?

답변1

바이너리 파일을 파일 시스템 밖으로 이동했기 때문에 proc이진 파일이 표시됩니다 . deleted볼륨 내에서 이동한 경우 proc새 경로가 나타납니다.

보시는 것은 이번 변경 이후의 정상적인 상황입니다. 아무 문제가 없다는 뜻은 아닙니다. 모든 것이 옳다는 뜻은 아니지만 아마도 그럴 것입니다.

관련 정보