LINUX.ORG.RU

настройка locale


0

1

Доброе утро.

Проблема такова: нужно сгенерировать локаль en_US.UTF-8 (вообще, какая именно - не принципиально для моей проблемы).

Делаю следующее:

root@sciec:~# dpkg-reconfigure locales
указываю только en_US.UTF-8, и её же выбираю как дефолтную.
потом вижу:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "ru_RU.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
  en_US.UTF-8.../usr/sbin/locale-gen: line 62:  1637 Killed                  localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale
 done
Generation complete.
*** update-locale: Error: invalid locale settings:  LANG=en_US.UTF-8

В чем проблема? Призываю телепатов в тред. Платформа ARM, дистрибутив debian lenny.


Подозреваю очень старый компьютер менее чем с 128 MB памяти. Добавь памяти или свопа, тогда ошибка исчезнет.

Как другое решение - убери пакет locales, поставь locales-all, он содержит все локали в заранее сгенерированном виде.

AEP ★★★★★
()

Поставь locales-all и не парься, там уже готовые локали.

nnz ★★★★
()
Ответ на: комментарий от AITap

Подозреваю очень старый компьютер менее чем с 128 MB памяти.

OOM-killer?

Памяти 64MB, это встраиваемый компьютер. Честно, я не ожидал, что генерация локали будет настолько ресурсоемким процессом.

убери пакет locales, поставь locales-all

Я попробую (сейчас нет доступа к девайсу), но(!) мне нужна только en_US.UTF-8. Не хотелось бы устанавливать все локали, т.к. это всё-таки встраиваемая система.

Попробуйте: LC_ALL=C dpkg-reconfigure locales

Попробую.

Hardware error. Badblocks?

С чего бы? Разве что памяти не хватило, как уже заметили коллеги.

Spym
() автор топика
Ответ на: комментарий от Spym

Ок, собрать локаль при помощи dpkg-reconfigure locales не получилось по той же причине; поставил locales-all, все вроде нормально, теперь вопрос такой: при перезагрузке системы настройки локали сбрасываются на дефолтные:

root@sciec:~# locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

Где хранится постоянная конфигурация локали? Мне нужна дефолтная en_US.UTF-8

Spym
() автор топика
Ответ на: комментарий от Spym

Вопрос снят: создал /etc/default/locale, поместил туда:

LANG="en_US.UTF-8"
LANGUAGE="en_US.UTF-8"

Все заработало, при загрузке локали инициализируются как надо.

Spym
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.