Use discos rígidos com codificação de sistema de arquivos diferente na mesma máquina Linux, viável?

1

Como sabemos, os sistemas de arquivos no estilo Linux e Unix armazenam o nome do arquivo como fluxo de byte, em oposição a fluxos Unicode no Windows NTFS / FAT.

Então, há a questão. Se eu obtiver um disco rígido antigo (por volta de 2002) com nomes de arquivo não-ASCII codificados como "gbk" em suas partições Ext3, e eu quiser anexar esse disco antigo ao meu Linux moderno (codificado em utf8) para que eu possa copiar os arquivos antigos, preservando o significado do nome do arquivo .

Então, qual é a melhor prática para fazer isso?

Explicação da perspectiva dos programadores é especialmente bem-vinda.

    
por Jimm Chen 27.04.2013 / 03:22

1 resposta

3

Não. A maioria dos programas Linux não se preocupam com limites de disco ou ponto de montagem e usam a mesma codificação para todos os nomes de arquivos em todos os lugares.

No entanto, a maioria dos utilitários ainda tratam nomes de arquivos como strings de bytes, portanto não deve haver problemas com a cópia ou o uso de arquivos nomeados em codificações estranhas. (Por exemplo, renomeei alguns dos meus arquivos para ISO-8859-13 e ainda posso abri-los em programas de linha de comando ou GNOME, embora o KDE tenha problemas.)

Você pode usar ferramentas como convmv para renomear todos os arquivos para nomes UTF-8 - em sua cópia ou diretamente no disco original:

convmv -f gbk -t utf-8 -r /mnt/old-disk

(No Linux, é possível escrever sistemas de arquivos de sobreposição usando o FUSE, que poderia apresentar os arquivos de um determinado caminho usando uma codificação de nome diferente. Eu não sei se esse sistema de arquivos existe, no entanto. bindfs tem um de propósito semelhante, mas traduz apenas a propriedade / permissões de arquivos. De qualquer maneira, estou mantendo minha recomendação de converter apenas todos os nomes para UTF-8.)

    
por 27.04.2013 / 11:31