
저는 Timeshift 기반 스냅샷이 활성화된 컴퓨터에서 clamav를 사용하여 전체 시스템 검사를 수행하는 간단한 방법을 찾고 있습니다.
Ubuntu 웹 사이트의 이 답변에서 알 수 있듯이, 내가 사용하는 명령은 다음과 같습니다.
clamscan -r --bell -i -exclude-dir="^/sys" /
(참고: -exclude-dir="^/sys"
다른 사용자가 나에게 /sys가 가상 디렉터리이며 읽기 액세스 오류를 방지하기 위해 검색에서 제외되는 것이 가장 좋다고 설명하면서 이 매개 변수를 제안했습니다.)
명령은 예상대로 작동합니다. "컴퓨터의 모든 파일을 확인하지만 감염된 파일만 표시하고 발견되면 경보를 울립니다."
여기에는 명백한 문제가 있습니다. "내 컴퓨터의 모든 파일"에는 Timeshift가 스냅샷 데이터를 저장하는 데 사용하는 디렉터리인 "/timeshift" 디렉터리가 포함되어 있습니다.
이제 공식 Timeshift 페이지에서:
RSYNC 모드에서는스냅샷은 rsync 및 하드 링크를 사용하여 생성됩니다. 스냅샷 간 공개 파일 공유이렇게 하면 디스크 공간이 절약됩니다. 각 스냅샷은 완전한 시스템 백업이며 파일 관리자를 사용하여 찾아볼 수 있습니다.
간단히 말해서 Timeshift는 변경된 파일을 복사하고 하드 링크를 사용하여 변경되지 않은 파일을 참조합니다. 내가 이해한 바에 따르면 이는 "첫 번째" 스냅샷이 파일 시스템의 전체 복사본일 수 있으며(분명히 Timeshift가 무시하도록 구성된 모든 파일/경로 제외) 후속 스냅샷에는 변경된 파일만 포함되며 변경되지 않은 링크.
문제: 표준 설정에서 clamscan은 /timeshift 폴더의 모든 파일도 검사합니다. 실제 실제 파일인 변경된 파일을 검색할 수 있지만... 링크를 검색하는 것은 기본적으로 동일한 파일을 여러 번 검색하는 것을 의미하기 때문에 낭비인 것 같습니다. 파일에서 첫 번째 변경 사항의 스냅샷을 한 번 검색한 다음 각 검색마다 다음 스냅샷에서 변경되지 않은 파일에 대한 링크입니다.
그래서 저는 이러한 하드 링크를 검사에서 제외하는 간단한 방법을 찾고 있습니다. man clamscan
옵션이 있음을 보여주지만 --follow-file-symlinks
그렇게 해도
clamscan -r --bell -i -exclude-dir="^/sys" --follow-file-symlinks=0 /
작동하지 않는 것 같습니다. 결국 내가 이해하는 한 옵션은 제외됩니다.심볼릭 링크, Timeshift가 사용 중인 동안하드 링크.
그래서 내 질문은 다음과 같습니다./timeshift 디렉터리에 하드 링크된 파일을 스캔하는 것을 건너뛰고 대신 실제 파일을 스캔하면서 전체 시스템 스캔을 수행할 수 있는 방법이 있습니까?
(부수 질문: clamtk UI를 사용하여 동일한 효과를 얻을 수 있습니까?)
답변1
파일에 대한 하드 링크는 "실제 파일"이라고 부르는 것과 다르지 않습니다. 실제로 두 디렉터리에 있는 동일한 파일입니다. 귀하의 경우 가장 좋은 해결책은 명령 -exclude-dir="^/timeshift"
에 매개변수를 하나 더 추가하는 것 입니다 clamscan
.