한 디스크의 파일을 다른 디스크의 레지스트리 정보와 비교하는 도구?

한 디스크의 파일을 다른 디스크의 레지스트리 정보와 비교하는 도구?

유닉스에 대해 깊이 있게 다룬 지 오래되었기 때문에 "레지스트리"라고 말할 때 올바른 용어를 사용하지 못할 수도 있지만 여기에 문제가 있습니다.

죽어가는 디스크가 있습니다. I/O 오류가 많습니다. 그래서 이 디스크의 모든 파일을 다른 디스크로 복사하겠습니다.

하지만 확실히 만들지 못한 파일도 있습니다. 불량 디스크에 있는 파일의 "레지스트리"를 보고 이를 새 디스크에 있는 파일과 비교하여 어떤 파일이 누락되었는지 확인할 수 있는 방법이 있습니까?

두 파일 시스템 간에 시도할 수 있다는 것을 알고 있지만 diff불량 디스크에 있는 모든 파일을 읽으면 오류가 발생할까봐 걱정됩니다. 반면 불량 디스크에 있는 파일 목록은 계속 남아 있기를 바랍니다. 손상되지 않은 부문.

아니면 Unix(실제로는 순수 Unix가 아닌 모두 OSX임)에 전역 레지스트리 파일도 포함되어 있지 않습니까?

답변1

디스크가 손상된 경우 전체 디스크(또는 각 파티션 자체)를 파일에 복사하는 것이 더 현명할 수 있습니다. 디스크에 오류가 발생하기 시작하면 일반적으로 매우 빠르게 완전히 사라집니다. 그런 다음 설치 복사본을 루프백하고 선호하는 포렌식 도구를 사용하여 가능한 모든 상황을 복구할 수 있습니다.

답변2

UNIX 호환FHS, 시스템 전체 구성은 일반적으로 (일부 부분은 또는 /etc에 있을 수 있음 )에 저장되고, 사용자 구성은 홈 디렉터리에 저장되며 거의 항상 점( , , ...) 으로 시작하는 파일 및 디렉터리 에 저장됩니다. 단일 설정 데이터베이스가 없습니다. 단일 설정을 진행하면 이해하게 될 것입니다./usr/local/etc/opt/app/etc.vim/.libreoffice단일 파일. 일부 대형 소프트웨어는 해당 구성의 전부 또는 대부분을 단일 파일에 저장할 수 있지만 전체 시스템은 그렇지 않습니다. 따라서 설정을 복원하려면 위 파일을 복사해야 합니다. 따라서 일반적으로 수시로 "일반" 데이터로 해당 파일을 백업하는 것이 좋습니다(또는 버전 관리 시스템에 저장하는 것도 좋습니다). ).

즉, 가장 중요한 콘텐츠를 저장한 후에는 다음을 사용하는 것이 좋습니다.GNU 주소 구조가능한 최상의 파일 시스템 사본을 확보하고 해당 사본을 처리하십시오. ddrescue파일 시스템보다 낮은 수준에서 작동하기 때문에 단순히 복사하는 것보다 더 많은 데이터를 더 빠르게 복구할 수 있는 경우가 많습니다.

답변3

파일 이름 목록을 포함하는 "레지스트리"가 시스템에 없습니다(일반적인 것은 아닙니다). 각 디렉터리의 파일 이름 목록은 해당 디렉터리에 저장됩니다. 다음 명령을 사용하여 시스템의 모든 파일 이름 목록을 생성할 수 있습니다.find주문하다.

find / -xdev | sort >/tmp/file-list

이렇게 하면 정렬된 파일 이름 목록이 생성됩니다 /tmp/file-list. 이 -xdev옵션은 find운영 체제 특수 파일 시스템이나 이동식 드라이브 등 마운트된 다른 파일 시스템을 입력하지 않도록 지시합니다.

어떤 파일이 동일한지 아는 것이 더 유용할 수 있습니다. 파일을 복사하고 rsync오류 출력을 rsync파일에 저장한 다음 파일을 분석하여 성공한 것과 실패한 것을 확인하는 것이 좋습니다.

답변4

나는 rsync를 사용할 것이다. 복사 프로세스 중에 파일을 지능적으로 비교하고 이후에 복사할 수 없는 파일 목록을 제공합니다.

rsync -av /경로/대상/소스/경로/대상/대상

관련 정보