Synology DSM의 "USB 복사"가 움라우트로 이름이 지정된 파일을 건너뛰는 이유는 무엇입니까?

Synology DSM의 "USB 복사"가 움라우트로 이름이 지정된 파일을 건너뛰는 이유는 무엇입니까?

배경

Mac에 많은 수의 파일이 있는데, 먼저 FAT32 하드 드라이브에 복사한 다음 Synology NAS(내 경우에는 내부적으로 ext4를 사용하는 DSM 6이 포함된 DS216)로 마이그레이션했습니다 rsync. Synology "USB Copy"를 사용하여 이 파일을 다른 FAT32 USB 볼륨에 복사해 보았습니다. 특정 USB 장치가 연결되면 복사 작업을 자동으로 실행할 수 있는 이 도구를 사용하고 싶습니다.

질문

쓸모없는 오류 메시지와 함께 USB 복사가 종료됩니다.

ds216의 USB 복사 작업 My_Backup_Task에서 알 수 없는 오류가 발생했습니다. 최종 오류 코드는 -10입니다. 다시 시도하거나 Synology 지원에 문의하여 도움을 받으십시오.

소스 파일과 대상 파일 트리를 비교할 때 일부 파일, 특히 움라우트(äöü)가 포함된 파일이 누락되었습니다.

이런 일이 발생하는 이유와 해결 방법에 대한 아이디어가 있습니까?

답변1

이건 실수야"USB 복사"에서. OSX는 분음 부호를 다르게 인코딩합니다(NFC 대신 NFD, 참조).여기그리고여기). "USB 복사"는 이러한 이름을 처리할 수 없으며 NFC로 인코딩된 파일 이름만 처리할 수 있습니다. /var/log/usbcopyd.log.1.xz 로그에 묻혀 있으면 다음과 같은 내용을 찾을 수 있습니다.

usb-copyd: [WARN] event-manager.cpp(192): EVENT is not NFC Form 'Event<EV_COPY> (WAITTING): [4] /path/filename_with_Umlaut_ä.JPG (file_op,file)', skipping...

...그래서 그들은 사용자에게 유용한 오류 메시지를 제공하지 않고서는 그것을 할 수 없다는 것을 알고 있습니다 :-(

도움이 되는 것해결책convmv이에 따르면 파일 이름을 바꾸는 데 사용될 수 있습니다.이 블로그당신은 성공할 수 있습니다

pkg install perl
wget http://www.j3e.de/linux/convmv/convmv-1.15.tar.gz
tar xzvf convmv-1.15.tar.gz
cd convmv-1.15/
sed -i -e 's/usr/opt/1p' convmv
/opt/bin/convmv/convmv -f iso-8859-1 -t utf8 --notest -r /volume1/yourpath

이것도 보세요그래서 질문은자세한 내용은.

~에 따르면이 SF 답변rsync, 이 옵션을 사용하여 --iconv실행할 때 문제를 피할 수도 있습니다 .

rsync -a --iconv=utf-8-mac,utf-8 localdir/ mynas:remotedir/

...하지만 NFC/NFD 디렉토리 트리가 혼합된 경우 이것이 도움이 될지는 잘 모르겠습니다.

관련 정보