%3A.png)
Ich bin vor Kurzem von Ubuntu Desktop 13.04 auf Ubuntu Server 13.10 migriert und nun scheint mein Dateisystem keine Unicode-Zeichen mehr zu unterstützen. Ich verwende rsync zum Sichern/Synchronisieren von Dateien und es zeigt die richtigen Zeichen an, möchte aber den nicht übereinstimmenden Dateinamen löschen und eine maskierte Version erstellen.
Zum Beispiel:
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 sie außerdem folgendermaßen 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 unicode
aber das hat das Problem anscheinend nicht gelöst.
Update: Dies könnte nun ein Kernelproblem sein. Ich kopiere über Samba/CIFS und habe versucht, den UTF-8-Zeichensatz anzugeben, mount -t cifs //192.xxx.xxx.xxx/source/ /media/target/ -o iocharset=utf8
aber 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)
Bei der Überprüfung des Kernel-Protokolls wird dieses kleine Juwel sichtbar:
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 erhalte ich UTF-8-Unterstützung im Kernel?
Irgendwelche Ideen?
Antwort1
Ok, nach der oben beschriebenen Fehlerbehebung und viel Googeln ... habe ich dies gefundenFehlerberichtwo die Lösung erklärt wird. Wenn Sie eine Ubuntu Server Minimal-Installation durchführen, erhalten Sie im Grunde genau das: minimale Treiber. Ich schätze, jemand hat entschieden, dass UTF-8 nicht wichtig genug ist, um es in den minimalen Treibersatz aufzunehmen. Wenn Sie also diese Installationsart gewählt haben, müssen Sie das linux-image-extra-virtual
Paket später installieren, um UTF-8-Unterstützung zu erhalten. 232 MB zusätzliche Treiber zur Unterstützung des UTF-8-Zeichensatzes ... Effizient. :-/ Jedenfalls hat das 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 UTF-8-Dateikopie:
root@ubuntu-server:~# cp -a /media/source/DJ* /media/target/.
Anschließend prüfen:
root@ubuntu-server:~# ll
drwxr-xr-x 3 root root 4096 Jan 21 2013 DJ Tiësto/
Aktualisierung (22.02.2015):
--no-install-recommends
Wenn Sie das Argument to verwenden, können Sie möglicherweise eine wesentlich einfachere Installation durchführen apt-get
.Ich habe es nicht probiert, aber vielleichtSie könntenwenn Sie dieses Problem haben.
Du könntest es versuchen:
apt-get install --no-install-recommends linux-image-extra-virtual
Wenn das Problem dadurch nicht behoben wird, führen Sie eine Neuinstallation durch, allerdings mit den folgenden Empfehlungen:
apt-get install --reinstall linux-image-extra-virtual