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?

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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.