Ubuntu 13.10, Perl жалуется на установку локали

Меня довольно раздражает Ubuntu 13.10. Мне нужно заняться исправлением локалей на моем сервере, иначе я вижу, как происходит нежелательная почта:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

Большинство исправляет состояние в сети, добавляя

export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8 
export LANG=en_US.UTF-8 

к .bashrc и .bash_login должны решить проблему.

Некоторые упоминают, что выполнение следующих команд из команд:

$ sudo locale-gen en_US en_US.UTF-8
$ dpkg-reconfigure locales

также должно помочь. Я также попытался перезагрузить сервер поверх всего вышеперечисленного.

Кажется, что это работает, когда я SSH подключен к этому серверу через терминал, но когда я запускаю сценарии удаленного развертывания из capistrano, я все равно получаю ошибки Perl в своем выводе.

Я думал, что это именно то, что должен был исправить экспорт в .bash_login.

Я даже пытался запустить

apt-get install language-pack-en-base

Ничего не работает!

1
задан 24.04.2020, 22:13

3 ответа

Пара замечаний:

  • Настройки локали всей системы сохраняются в /etc/default/locale.
  • Нет смысла устанавливать все LC_ALL, LC_CTYPE и LANG.

Более чистое решение состоит в том, чтобы /etc/default/locale содержал только

LANG=en_US.UTF-8

и отбрасывал эти записи в /etc/bash.bashrc.

1
ответ дан 24.04.2020, 22:13
  • 1
    @user44516: Я имею в виду строки, как описано в ответе josef.van.niekerk. – creativereason 24.04.2020, 22:14
  • 2
    что Вы имеете в виду, отбросьте те записи в/etc/bash.bashrc? – Peter P. 24.04.2020, 22:14

Я добавил фрагмент

export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8 
export LANG=en_US.UTF-8 

в /etc/bash.bashrc, и это решило проблему.

Я сомневаюсь, что вызов locale-gen, dpkg -configure и установка language-pack-en-base был вообще необходим.

0
ответ дан 24.04.2020, 22:14

Я выполнил locale-gen en_US.UTF-8 как root, и он отлично работал.

источник

-1
ответ дан 24.04.2020, 22:14

Теги

Похожие вопросы