Problemas de sensibilidade de casos (in) em um NAS conectado a partir de máquinas Linux e Windows

2

Cenário

Eu tenho um NAS (Synology DS1813 + baseado no DSM 4.3). Ele executa uma versão do Linux, então o sistema de arquivos é (supostamente) sensível a maiúsculas e minúsculas. Eu acesso o NAS com 2 computadores. Um deles executa o Windows 7 (sistema de arquivos insensível a maiúsculas e minúsculas) e se conecta ao NAS por meio de um compartilhamento de rede. O outro executa o Linux Mint (sistema de arquivos com distinção entre maiúsculas e minúsculas) e monta o NAS com o CIFS.

Conectei uma câmera digital (Canon 7D) ao computador Windows e importei as imagens da câmera para o NAS por meio do compartilhamento de rede. As imagens armazenadas no NAS possuem extensões de maiúsculas (IMG_8835.JPG).

Mais tarde, na máquina Linux, tentei renomear essas imagens em massa para que as extensões ficassem em minúsculas com os seguintes comandos e saída:

$ find . -name '*.*' -exec sh -c 'a=$(echo {} | sed -r "s/([^.]*)\$/\L/"); [ "$a" != "{}" ] && mv "{}" "$a" ' \;
mv: ‘./IMG_8835.JPG’ and ‘./IMG_8835.jpg’ are the same file

e:

$ rename s/.JPG/.jpg/ *.JPG
IMG_8835.JPG not renamed: IMG_8835.jpg already exists

Isso indica que o sistema de arquivos não faz distinção entre maiúsculas e minúsculas. Correto?

Além disso, tentei:

$ rename -f s/.JPG/.jpg/ *.JPG

A saída deste comando estava em branco, então eu suspeitei que funcionou. Mas quando revi os arquivos, eles ainda tinham a extensão de maiúsculas. Os arquivos não são duplicados. Não há arquivos do tipo *.jpg . Eles ainda são todos *.JPG .

Perguntas

  1. Existe uma linha de comando (comando bash) que relatará a distinção entre maiúsculas e minúsculas dos sistemas de arquivos locais e remotos?
  2. Parece que o sistema de arquivos não faz distinção entre maiúsculas e minúsculas. Isso me deixa perplexo. Como poderia ser? O sistema de arquivos remoto no NAS e o sistema de arquivos local na caixa que executa o Linux são (supostamente) sistemas de arquivos com distinção entre maiúsculas e minúsculas.
  3. É possível que, embora o sistema de arquivos NAS seja (supostamente) sensível a maiúsculas e minúsculas, uma vez que as pastas e arquivos foram criados no NAS do Windows enquanto o NAS foi conectado por meio de um compartilhamento de rede, os arquivos e pastas criados pelo Windows são insensível a maiúsculas e minúsculas? Em caso afirmativo, a sensibilidade a maiúsculas e minúsculas dos objetos criados no Windows pode ser modificada quando conectada ao NAS a partir de uma caixa do Linux?

NOTA: Esta questão não é uma cópia desta questão porque esta pergunta está perguntando sobre a diferenciação de maiúsculas e minúsculas do sistema de arquivos em vez de como renomear os arquivos em massa.

    
por axiopisty 07.02.2014 / 18:52

1 resposta

1

Um amigo me indicou para este . O artigo vinculado tem 8 páginas, mas é detalhado em sua explicação. A versão curta da resposta é:

... And that brings me to what I really want to discuss, which is how 
CIFS Server (Samba) deals with this.

As you would expect from an application that was grown to bridge 
the gap between the Unix and Windows worlds, it is very flexible. 
This is both good and bad - with flexibility comes responsibility, 
and sometimes not a little confusion. There are four configuration 
options that Samba provides to allow one to define its behavior 
when dealing with matters of 'case': 

preserve case = (yes/no) 
short preserve case = (yes/no) 
default case = (upper/lower) 
case sensitive = (yes/no)

A solução é configurar o Samba para lidar com o caso Sensibilidade (ou questões de preservação de caso) a maneira que trabalha para suas necessidades específicas.

    
por 10.02.2014 / 05:54