Linux를 새로 설치하고 싶은 유휴 컴퓨터가 있습니다. 컴퓨터에 중요한 파일이 있을 수 있습니다.
새로 설치한 후 사용자가 생성한 모든 파일을 어떻게 나열할 수 있습니까?
원래는 단순히 모든 파일을 찾은 /
다음 for 루프를 사용하여 반복하고 마지막으로 rpm -q --whatprovides
사용자가 만든 모든 파일(예: rpm 매니페스트에 나열되지 않은 파일)을 나열하고 싶었습니다. 내 생각에는 이것이 효과가 있을 것 같은데...하지만 아마도 매우 느려서 8시간 이상이 걸릴 것입니다. 나는 그것을 시도해야합니다.
rpm을 나열했는데 이는 모든 Linux 배포판에도 적용된다고 생각합니다... 하지만 단기적으로는 먼저 rpm 솔루션이 필요합니다.
답변1
rpm -qla
rpm의 모든 파일을 빠르게 나열합니다. 두 개의 목록을 정렬하고 와 비교할 수 있습니다 comm
. 그러나 사용자가 편집한 rpm의 구성 파일(예: /etc/exports
. 이를 사용하여 설치된 파일이 변경되었는지 확인할 수 있지만 rpm -qVa
변경될 파일(예: )은 무시됩니다 . 일반적 으로 만일을 대비하여 /etc/shadow
전체 복사본을 보관하는 것이 가장 좋습니다. /etc
.mysql 및 파일과 같은 특정 패키지에 대해서는 여전히 걱정해야 합니다 /var
.
답변2
필요에 따라 두 가지 방법이 있습니다.
당신이 사용할 수있는시간(변경 시간) 파일의 경우 이
find
명령을 사용하여 최근에 변경된 파일을 찾고 해당 파일에서 해당 패키지를 찾습니다. 예를 들어/var
.rpm -qai
모든 패키지의 설치 날짜를 가져오고 최근에 설치된 패키지에 대한 보고서를 가져오는 데 사용할 수 있으며 해당 목록에서rpm -ql
설치된 모든 패키지를 나열하는 파일을 사용할 수 있습니다.예를 들어,CentOS: 설치/업데이트 날짜별로 설치된 RPM을 나열하시겠습니까?이
--last
옵션은 날짜별로 목록을 정렬하므로rpm -qa
초기 설치 시간을 기준으로 목록을 필터링하여 패키지를 제한할 수 있습니다.