rsync가 실제 파일과 이름이 중복된 숨겨진 파일을 너무 많이 생성하는 이유는 무엇입니까?

rsync가 실제 파일과 이름이 중복된 숨겨진 파일을 너무 많이 생성하는 이유는 무엇입니까?

정기적으로 rsync를 통해 동기화하는 디렉토리가 있습니다 rsync -rva. 오늘 나는 예를 들어 내가 가지고 있는 많은 파일에 대해 rsync 대상에 이름이 있는 빈 파일 path/to/S00041.jpg도 있다는 것을 발견했습니다. path/to/._S00041.jpg누가 만들었는지 생각 rsync하지만 확신할 수는 없습니다. 이 파일들은 모두 해당 원본 파일과 동일한 타임스탬프를 갖고 있으므로 언제 나타났는지는 알 수 없습니다.

소스 및 대상 디렉토리는 모두 Mac OS에 있습니다. 이것이 어떤 식으로든 도움이 된다면 다른 위치와 컴퓨터에서 이 디렉터리로 동기화합니다(그러나 분명히 디렉터리 구조는 항상 동일합니다).

이것이 rsync에 의해 수행되는지, 그리고 그 이유가 궁금합니다. rsync를 통해 자동으로 "수정"하는 방법도 있습니까?

답변1

MacOS에서는 각 파일의 "리소스 포크"에 추가 정보를 저장할 수 있습니다. 기본 MacOS 파일 시스템에서 이 추가 정보는 파일 자체의 일부로 (투명하게) 저장됩니다. 그러나 네이티브가 아닌 파일 시스템에 파일을 복사하는 경우 리소스 포크를 별도로 저장해야 합니다. 이것들은 ._*파일입니다. 최신 응용 프로그램은 리소스 포크가 아닌 리소스 파일을 생성하는 경향이 있으므로 이러한 데이터를 내보낼 때 모든 것이 단일 파일에 저장됩니다.

길이가 0이면 안전하게 삭제할 수 있습니다.

find /path -name '._*' -type f -size 0 -delete

건너뛰도록 선택할 수 있지만 rsync조건부로 건너뛸 수는 없습니다. 즉, 길이가 0인 경우에만 가능합니다.

인용하다:

관련 정보