타임시프트된 스냅샷이 있는 경우 clamav를 효율적으로 사용하세요.

타임시프트된 스냅샷이 있는 경우 clamav를 효율적으로 사용하세요.

저는 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.

관련 정보