Символи Unicode на сервері Ubuntu


10

Нещодавно я перейшов з Ubuntu Desktop 13.04 на Ubuntu Server 13.10, і тепер моя файлова система, схоже, не підтримує символи unicode. Я використовую rsync для резервного копіювання / синхронізації файлів, і він показує належні символи, але він хоче видалити невідповідне ім'я файлу та створити пропущену версію.

Наприклад:

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

Крім того, якщо я копіюю файл unicode у файлову систему, він відображається як:

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

Я спробував встановити бібліотеки Unicode через, apt-get install unicodeале, схоже, це не зробило нічого, що стосується вирішення проблеми.

Оновлення: тепер це може бути проблема ядра. Я копіюю через samba / cifs, і я намагався вказати charf utf8 через, mount -t cifs //192.xxx.xxx.xxx/source/ /media/target/ -o iocharset=utf8але це створює помилку ...

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

Перевірка журналу ядра виявляє цей маленький дорогоцінний камінь:

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

Як отримати підтримку utf8 в ядрі?

Будь-які ідеї?

Відповіді:


10

Ок, після виправлення неполадок, описаних вище, та багато гуглінгу ... Я знайшов цей звіт про помилку, де пояснено рішення. В основному, якщо ви виконаєте встановлення Ubuntu Server Minimal, ви отримаєте саме це, мінімальні драйвери. Я думаю, хтось вирішив, що utf8 не є достатньо важливим, щоб включити його до мінімального набору драйверів. Таким чином, якщо ви зробили цей тип установки, вам потрібно пізніше встановити linux-image-extra-virtualпакет, щоб отримати підтримку utf8. 232 Мб додаткових драйверів для підтримки набору символів utf8 ... Ефективний. : - / У будь-якому випадку це вирішило проблему.

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.

Тестування копії файлу utf8:

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

Потім перевірка:

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

Оновлення (22.02.2015):

Ви можете уникнути набагато легшої установки, якщо будете використовувати --no-install-recommendsаргумент до apt-get. Я не пробував цього , але, можливо, ви могли б, якщо у вас є ця проблема.

Ви можете спробувати:

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

Якщо це не вирішує проблему, просто перевстановіть, але рекомендує:

apt-get install --reinstall linux-image-extra-virtual

Це додало для мене більшість символів унікоду, але я знаходжу, що деякі з них ще відсутні. Такі речі, як подвійні цитати на кшталт цього "Принца", не працюють.
Тиліха
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.