Por que o “USB Copy” do Synology DSM pula os arquivos nomeados por umlalaut?

0

Plano de fundo

Eu tenho um grande número de arquivos do meu mac que copiei pela primeira vez para um disco rígido FAT32 e agora migrei para um Synology NAS (DS216 com DSM 6 no meu caso, usando o ext4 internamente) com rsync . Eu tento usar o Synology "USB Copy" para copiar esses arquivos para outro volume FAT32 USB. Eu adoraria usar essa ferramenta, pois permite o acionamento automático de trabalhos de cópia quando um determinado dispositivo USB é conectado.

Problema

A cópia USB termina com uma mensagem de erro não útil

The USB Copy task My_Backup_Task on ds216 encountered unknown errors. The last error code is -10. Please try again or contact Synology Support for assistance.

Quando eu comparo as árvores de arquivos de origem e destino, alguns arquivos estão faltando, especialmente com os Umlauts (äöü) neles.

Alguma idéia de por que isso é e como corrigi-lo?

    
por Jonas Heidelberg 23.08.2017 / 07:50

1 resposta

4

Este é um bug em "Cópia USB". O OSX codifica os Umlauts de uma maneira diferente (NFD em vez de NFC, consulte aqui e aqui . "USB Copy" não é capaz de lidar com esses nomes, ele só pode manipular nomes de arquivos codificados em NFC. Enterrado nos logs /var/log/usbcopyd.log.1.xz você pode encontrar algo como

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

... então eles sabem que não podem fazer isso, mas não fornecem uma mensagem de erro útil para o usuário: - (

Uma solução útil pode ser usar convmv para renomear os arquivos, de acordo com este blog você pode ser bem sucedido com

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

Veja também este Então, faça uma pergunta para mais detalhes.

De acordo com esta resposta SF , você também pode ter evitado o problema ao executar rsync usando a opção --iconv , por exemplo

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

... mas não tenho certeza se isso é útil quando você tem uma árvore de diretórios mista NFC / NFD.

    
por 23.08.2017 / 07:50