Por que o driver vfat do Linux não permite determinados caracteres?

5

O driver vfat do Linux parece não permitir certos caracteres em nomes de arquivos longos vfat: ?<>\:*|" . Eu entendo que o Windows não suporta esses caracteres, mas Wikipedia parece indicar que o sistema de arquivos, por si só, suporta qualquer caractere unicode não nulo de 16 bits. Se for esse o caso, por que o driver do Linux restringe os caracteres utilizáveis? É simplesmente por compatibilidade, ou há realmente uma limitação técnica que não é mencionada na página da Wikipedia? Se o primeiro, existe alguma maneira de anular essa limitação?

O NTFS-3g suporta a escrita desses caracteres para NTFS, o que é muito bom quando estou movendo arquivos entre sistemas Linux com meu disco rígido externo. Seria ótimo se eu pudesse fazer o mesmo com o VFAT.

    
por rkjnsn 26.09.2013 / 07:23

1 resposta

1

Se não me engano, qualquer sistema de arquivos suportado pelo Windows (FAT / VFAT / FAT32 / NTFS) deve atender a algumas convenções de nomenclatura padrão para nomes válidos de arquivos e diretórios. A lista de caracteres acima mencionada são caracteres reservados que não podem ser usados mesmo com caracteres Unicode.

Eu diria que a implementação Linux dos sistemas de arquivos fat / vfat tenta ser compatível com esse tipo de "padrão Windows". Talvez, este artigo possa trazer mais detalhes em relação a isso.

    
por 26.09.2013 / 08:41