Caracteres Unicode no Ubuntu Server

10

Eu migrei recentemente do Ubuntu Desktop 13.04 para o Ubuntu Server 13.10 e agora meu sistema de arquivos não parece suportar caracteres unicode. Eu uso o rsync para fazer backup / sincronizar arquivos e mostra os caracteres adequados, mas ele deseja excluir o nome de arquivo não correspondente e criar uma versão de escape.

Por exemplo:

root@ubuntu-server:~# rsync -avh --progress --delete --dry-run --exclude \$RECYCLE.BIN /media/source/ /media/target/

deleting Tiësto - Ten Seconds Before Sunrise.mp3
Ti\#353sto - Ten Seconds Before Sunrise.mp3

Além disso, se eu copiar um arquivo unicode para o sistema de arquivos, ele aparecerá como:

drwxr-xr-x 3 root root      4096 Jan 21  2013 DJ Ti?sto/

Tentei instalar as bibliotecas unicode via, apt-get install unicodemas isso não pareceu fazer nada na solução do problema.

Atualização: Agora isso pode ser um problema de kernel. Estou copiando sobre samba / cifs e tentei especificar o utf8 charset via, mount -t cifs //192.xxx.xxx.xxx/source/ /media/target/ -o iocharset=utf8mas isso gera um erro ...

mount error(79): Can not access a needed shared library
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Verificar o log do kernel revela esta pequena jóia:

root@ubuntu-server:~# tail /var/log/kern.log
Nov 30 03:51:33 ubuntu-server kernel: [ 1756.518222] CIFS VFS: CIFS mount error: iocharset utf8 not found

Como obtenho suporte ao utf8 no kernel?

Alguma ideia?

James
fonte

Respostas:

10

Ok, após a solução de problemas acima, e muita pesquisa ... Encontrei este relatório de bug em que a solução é explicada. Basicamente, se você executa uma instalação mínima do Ubuntu Server, obtém exatamente isso, drivers mínimos. Eu acho que alguém decidiu que o utf8 não era importante o suficiente para incluir no conjunto mínimo de drivers. Portanto, se você fez esse tipo de instalação, precisará instalar o linux-image-extra-virtualpacote posteriormente para obter suporte ao utf8. 232 MB de drivers adicionais para suportar o conjunto de caracteres utf8 ... Eficiente. : - / De qualquer forma, isso resolveu o problema.

root@ubuntu-server:~# apt-get install linux-image-extra-virtual
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
    crda iw libnl-3-200 libnl-genl-3-200 linux-firmware linux-image-3.11.0-13-generic
    linux-image-extra-3.11.0-13-generic linux-image-generic wireless-regdb
The following NEW packages will be installed:
    crda iw libnl-3-200 libnl-genl-3-200 linux-firmware linux-image-3.11.0-13-generic
    linux-image-extra-3.11.0-13-generic linux-image-extra-virtual
    linux-image-generic wireless-regdb
0 upgraded, 10 newly installed, 0 to remove and 12 not upgraded.
Need to get 73.5 MB of archives.
After this operation, 232 MB of additional disk space will be used.

Testando a cópia do arquivo utf8:

root@ubuntu-server:~# cp -a /media/source/DJ* /media/target/.

Em seguida, verificando:

root@ubuntu-server:~# ll
drwxr-xr-x 3 root root      4096 Jan 21  2013 DJ Tiësto/

Atualização (22/2/2015):

Você poderá se safar de uma instalação muito mais leve se usar o --no-install-recommendsargumento para apt-get. Eu não tentei , mas talvez você poderia, se você está tendo esse problema.

Você poderia tentar:

apt-get install --no-install-recommends linux-image-extra-virtual

Se isso não resolver o problema, basta reinstalar, mas seguindo as recomendações:

apt-get install --reinstall linux-image-extra-virtual
James
fonte
Isso adicionou a maioria dos caracteres unicode para mim, mas estou descobrindo que alguns ainda estão faltando. Coisas como aspas duplas especiais como este "Príncipe" não funcionam.
thouliha