%3A.png)
Недавно я перешел с 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 и пытался указать кодировку 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 в ядре?
Есть идеи?
решение1
Хорошо, после устранения неполадок, описанных выше, и долгого гугления... я нашел этоотчет об ошибкегде объясняется решение. В принципе, если вы выполняете установку 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