Unicode-Zeichen in Ubuntu Server

10

Ich habe kürzlich von Ubuntu Desktop 13.04 auf Ubuntu Server 13.10 migriert und jetzt scheint mein Dateisystem keine Unicode-Zeichen zu unterstützen. Ich verwende rsync zum Sichern / Synchronisieren von Dateien und es werden die richtigen Zeichen angezeigt, aber es möchte den nicht übereinstimmenden Dateinamen löschen und eine maskierte Version erstellen.

Beispielsweise:

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

Wenn ich eine Unicode-Datei in das Dateisystem kopiere, wird Folgendes angezeigt:

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

Ich habe versucht, Unicode-Bibliotheken über zu installieren, apt-get install unicodeaber das schien nichts zur Lösung des Problems beizutragen.

Update: Dies kann nun ein Kernelproblem sein. Ich kopiere über Samba / Cifs und habe versucht, den Zeichensatz utf8 über anzugeben, mount -t cifs //192.xxx.xxx.xxx/source/ /media/target/ -o iocharset=utf8aber dies erzeugt einen Fehler ...

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

Das Überprüfen des Kernel-Protokolls zeigt dieses kleine Juwel:

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

Wie bekomme ich utf8-Unterstützung im Kernel?

Irgendwelche Ideen?

James
quelle

Antworten:

10

Ok, nach der obigen Fehlerbehebung und viel googeln ... Ich habe diesen Fehlerbericht gefunden, in dem die Lösung erklärt wird. Wenn Sie eine Ubuntu Server Minimal-Installation durchführen, erhalten Sie genau diese minimalen Treiber. Ich denke, jemand hat entschieden, dass utf8 nicht wichtig genug ist, um in die minimale Anzahl von Treibern aufgenommen zu werden. Wenn Sie diesen Installationstyp ausgeführt haben, müssen Sie das linux-image-extra-virtualPaket später installieren , um utf8-Unterstützung zu erhalten. 232 MB zusätzliche Treiber zur Unterstützung des utf8-Zeichensatzes ... Effizient. : - / Wie auch immer, das hat das Problem behoben.

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.

Testen der utf8-Dateikopie:

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

Dann überprüfen:

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

Update (22.02.2015):

Sie können möglicherweise mit einer viel leichteren Installation davonkommen, wenn Sie das --no-install-recommendsArgument dazu verwenden apt-get. Ich habe es nicht versucht , aber vielleicht könnten Sie es, wenn Sie dieses Problem haben.

Du könntest es versuchen:

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

Wenn es das Problem nicht löst, installieren Sie es einfach neu, aber mit den Empfehlungen:

apt-get install --reinstall linux-image-extra-virtual
James
quelle
Dies fügte die meisten Unicode-Zeichen für mich hinzu, aber ich finde, dass einige noch fehlen. Dinge wie spezielle doppelte Anführungszeichen wie dieser „Prinz“ funktionieren nicht.
Thouliha