Znaki Unicode na serwerze Ubuntu

10

Niedawno przeprowadziłem migrację z Ubuntu Desktop 13.04 na Ubuntu Server 13.10 i teraz mój system plików nie obsługuje znaków Unicode. Używam rsync do tworzenia kopii zapasowych / synchronizacji plików i pokazuje właściwe znaki, ale chce usunąć niepasującą nazwę pliku i utworzyć wersję ze zmianą znaczenia.

Na przykład:

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

Ponadto, jeśli skopiuję plik Unicode do systemu plików, pojawi się on jako:

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

Próbowałem instalować biblioteki Unicode, apt-get install unicodeale wydawało się, że to nie pomogło w rozwiązaniu problemu.

Aktualizacja: teraz może to być problem z jądrem. Kopiuję przez samba / cifs i próbowałem określić zestaw znaków utf8 za pośrednictwem, mount -t cifs //192.xxx.xxx.xxx/source/ /media/target/ -o iocharset=utf8ale generuje to błąd ...

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

Sprawdzanie dziennika jądra ujawnia ten mały klejnot:

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

Jak uzyskać obsługę utf8 w jądrze?

Jakieś pomysły?

James
źródło

Odpowiedzi:

10

Ok, po powyższym rozwiązaniu problemu i dużo googlingu ... Znalazłem ten raport o błędzie, w którym wyjaśniono rozwiązanie. Zasadniczo, jeśli wykonasz instalację Ubuntu Server Minimal, otrzymasz dokładnie to, minimalne sterowniki. Wydaje mi się, że ktoś uznał, że utf8 nie jest wystarczająco ważny, aby uwzględnić go w minimalnym zestawie sterowników. Dlatego jeśli wykonałeś ten typ instalacji, musisz później zainstalować linux-image-extra-virtualpakiet, aby uzyskać obsługę utf8. 232 MB dodatkowych sterowników do obsługi zestawu znaków utf8 ... Wydajny. : - / W każdym razie rozwiązało to problem.

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.

Testowanie kopii pliku utf8:

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

Następnie sprawdzanie:

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

Aktualizacja (22.02.2015):

Możesz użyć znacznie mniejszej instalacji, jeśli użyjesz tego --no-install-recommendsargumentu apt-get. Nie próbowałem tego , ale może mógłbyś, jeśli masz ten problem.

Możesz spróbować:

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

Jeśli to nie rozwiąże problemu, po prostu zainstaluj ponownie, ale zaleca się:

apt-get install --reinstall linux-image-extra-virtual
James
źródło
Dodało to dla mnie większość znaków Unicode, ale wciąż brakuje mi niektórych. Takie rzeczy, jak specjalne podwójne cytaty, takie jak „Książę”, nie działają.
thouliha