Перейти к содержанию
Форум русской поддержки продукции Synology

Добавляем локаль UTF-8 для DS-212j


Рекомендованные сообщения

Много описывалось как скомпилировать и установить Midnight Commander с поддержкой UTF-8.

Однако сделав все по иструкции и получив ожидаемый результат, столкнулся с тем, что тем же MC не могу зайти в папки с руссими буквами.

Да и сама unix-консоль по команде ls показывает кучку вопросиков.

По крайней мере так происходит на моем DS-212J с DSM 4.

 

Решение было найдено.

Может кому будет полезно.

По мотивам инструкции http://www.chainsawonatireswing.com/2012/0...-support-utf-8/

 

1. Идем во временную папку

 

> cd /volume1/@tmp

 

2. Скачиваем (для платформы Marvell 88F628x Linux 2.6.32)

 

> wget http://sourceforge.net/projects/dsgpl/file...88f6281-GPL.tgz

 

3. Разворачиваем

 

> tar -zvxf gcc421_glibc25_88f6281-GPL.tgz

 

4. Создаем папку

 

> mkdir /usr/lib/locale

 

5. Копируем

 

> cp /volume1/@tmp/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin/locale /opt/bin/

> cp /volume1/@tmp/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin/localedef /opt/bin/

> cp -R /volume1/@tmp/arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/share/i18n/ /usr/share

 

6. Проверяем, что сейчас мы с UTF-8 пока не дружим

 

> locale -a

C

POSIX

 

7. Генерим новуые локали

 

> /opt/bin/localedef -c -f UTF-8 -i en_US en_US.UTF-8

> /opt/bin/localedef -c -f UTF-8 -i ru_RU ru_RU.UTF-8

 

8. Проверяем, что теперь дружим

 

> /opt/bin/locale -a

C

en_US.utf8

POSIX

ru_RU.utf8

 

9. Добавляем следующие строчки в /etc/profile

 

LANG=en_US.UTF-8

LC_ALL=en_US.UTF-8

export LANG LC_ALL

 

(можно ru_RU.UTF-8 указать, если кому нравится русскоговорящая консоль)

 

10. Перезагружаемся

 

> reboot

 

11. Убеждаемся, что у нас получилось

 

> locale

 

LANG=en_US.UTF-8

LC_CTYPE="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_PAPER="en_US.UTF-8"

LC_NAME="en_US.UTF-8"

LC_ADDRESS="en_US.UTF-8"

LC_TELEPHONE="en_US.UTF-8"

LC_MEASUREMENT="en_US.UTF-8"

LC_IDENTIFICATION="en_US.UTF-8"

LC_ALL=en_US.UTF-8

 

После такого шаманства unix-консоль подружилась с руссими папками и файлами.

Ну и MC само собой тоже.

 

Ссылка на сообщение
Поделиться на другие сайты

Это решение верно для любых процессоров. Его уже приводили

http://www.synology-forum.ru/index.php?sho...post&p=8612

Как такая модификация скажется на стабильности системы - неизвестно.

Это же решение использует spk пакет по установке джавы.

Ссылка на сообщение
Поделиться на другие сайты

Вам, Zyxmon, особое спасибо за тему про Midniht commander!

 

Это решение верно для любых процессоров.

Абсолютно верно.

Достоточно просто выбрать правильный файл вот отсюда http://sourceforge.net/projects/dsgpl/file...0Tool%20Chains/

Даже не сомневаюсь. Как и многие другие темы, существующие не в одном экземпляре.

Дублирование информации лучше ее отсутствия.

Как такая модификация скажется на стабильности системы - неизвестно.

Это же решение использует spk пакет по установке джавы.

В принципе это можно сказать и про все, что из ipkg, с точки зрения стабильности.

А какое альтернативное решение вы можете предложить?

 

Ссылка на сообщение
Поделиться на другие сайты
В принципе это можно сказать и про все, что из ipkg, с точки зрения стабильности.

А какое альтернативное решение вы можете предложить?

Пакеты optware и многи spk никак не затрагивают в большинстве случаев системные файлы. Этот способ затрагивает.

Есть версия mc, которая понимает русский. busybox от synology нормально с русским работает.

 

Ссылка на сообщение
Поделиться на другие сайты
Пакеты optware и многи spk никак не затрагивают в большинстве случаев системные файлы. Этот способ затрагивает.

И этот метод ничего не затрагивает.

Всего лишь добавляет новое, не удаляя и не меняя системное.

Не понравится, всегда можно снести и вернуться к оригинальной конфигурации.

Есть версия mc, которая понимает русский. busybox от synology нормально с русским работает.

Не спорю, есть. Даже показывает русские буквы.

А при попытке зайти в русскую папку или открыть русский файл получаем отрицательный результат.

И Вами собранный MC ставил, и сам собирал - результат один.

Команда ls показывает что-то типа "????? ?????", это к вопросу о "busybox от synology нормально с русским работает".

 

А при продлагаемом подходе и консоль и MC становятся действительно нормально понимающими UTF8 без необходимости пересборки MC.

 

Я не настаиваю на том, что такой подход является абсолютной истиной.

Каждый выберет то, что ему больше по душе.

А наша с Вами цель - предложить альтернативные решения в помощь тем, кто их ищет.

Так что каждое решение имеет право на существование.

Ссылка на сообщение
Поделиться на другие сайты
Команда ls показывает что-то типа "????? ?????", это к вопросу о "busybox от synology нормально с русским работает".

Вы не ту версию ls юзаете. Используйте ls от synology

Почуствуйте разницу между /bin/ls и /opt/bin/ls (из optware coreutils). У превой (от synology) все нормально с русским, у второй (optware) - нет.

 

Ссылка на сообщение
Поделиться на другие сайты
Вы не ту версию ls юзаете. Используйте ls от synology

Почуствуйте разницу между /bin/ls и /opt/bin/ls (из optware coreutils). У превой (от synology) все нормально с русским, у второй (optware) - нет.

Почувствовал.

Вернул все проделанное назад.

Да, действительно, ls показывает имена по-русски.

 

root@arena> ls -al

drwxr-xr-x 3 root root 4096 Apr 6 23:16 .

drwxrwxrwx 5 root root 4096 Apr 4 13:41 ..

drwxr-xr-x 2 root root 4096 Apr 6 23:16 Новая

 

Может и про cd что-то волжебное скажете?

Ну никак не выходит выполнить cd в нужную папку.

Получается что-то типа:

 

cd \320\235\320\276\320\262\320\260\321\217/

 

Все таки вернулся к решению с локалями.

Половинчатое решение (только отображать) - это не решение.

 

 

Ссылка на сообщение
Поделиться на другие сайты
Может и про cd что-то волжебное скажете?

Могу только сказать, что у меня cd работает:

DiskStation> cd /volume1/public/
DiskStation> ls
......
IP.txt                                           final_final.zip                             Бабушка
Music                                            ftpfs.c                                     Для NAS
....
DiskStation> cd Для\ NAS/
DiskStation> pwd
/volume1/public/Для NAS

 

Я не хочу сказать, что решение с локалями неправильное. Просто и без него работает.

Вы шелл не меняли на bash? Если да - http://forum.zyxmon.org/post4987.html#p4987

Ссылка на сообщение
Поделиться на другие сайты
Могу только сказать, что у меня cd работает:

DiskStation> cd /volume1/public/
DiskStation> ls
......
IP.txt                                           final_final.zip                             Бабушка
Music                                            ftpfs.c                                     Для NAS
....
DiskStation> cd Для\ NAS/
DiskStation> pwd
/volume1/public/Для NAS

 

Я не хочу сказать, что решение с локалями неправильное. Просто и без него работает.

Вы шелл не меняли на bash? Если да - http://forum.zyxmon.org/post4987.html#p4987

 

Работает без локали только busybox. В mc например без локали косяк с архиваторами, файлы с русскими именами пакуют не в UTF8.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в этой теме...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...
×
×
  • Создать...