Правильный способ настроить локали на VPS?

Я заметил на некоторых VPS, locales не установлен по умолчанию, так dpkg-reconfigure locales будет только выдать ошибку о том, что locales не установлен

я хочу делать apt-get install localesЯ сделал это пару раз, и я знаю, что это настраивает локали, но он также начал бы выдавать предупреждения, несмотря на то, что сам настраивался на работу, поэтому каждый пакет после этого не будет жаловаться на что-то вроде:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.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

Но я должен сделать что-то вроде редактирования /etc/environment и вручную установить переменные среды, такие как LC_ALL в en_US.UTF-8 чтобы убедиться, что установка locales идет нормально? Или это даже не имеет значения, потому что я установлю его только один раз и несмотря на то, что он выдает предупреждения при попытке установить себя, так как он будет работать после этого, не беспокойтесь об этом?

3 ответа

Решение

Вам не нужно беспокоиться об этих предупреждающих сообщениях, они касаются не фактической установки или конфигурации, а представления сообщений вам (и очень редко что-либо серьезное в этом отделе).

Я называю ерунду на ответы "это не имеет значения". во-первых, постоянные ошибки в консоли, которые не могут установить язык, крайне раздражают. но это еще не все, некоторые вещи действительно не будут работать.

Я только что решил это на новом VPS. краткое резюме:

локали должны быть сгенерированы, прежде чем их можно будет использовать. Я не уверен насчет других дистрибутивов, поэтому ниже приведена сводная информация о Debian / Ubuntu.

сначала попробуйте запустить dpkg-reconfigure locales, это должно установить его на некоторых дистрибутивах Debian. но я наткнулся на некоторых, которые этого не делают. это, вероятно, означает, что вам нужно перенастроить что-то еще там, но я не нашел этого, поэтому я нашел более ручной способ сделать то же самое:

старые Debian / Ubuntu хранили поддерживаемые локали в /etc/locale.gen, более новый магазин это в /var/lib/locales/supported.d/local

Вы можете сказать, какой у вас есть, проверив, если каталог /var/lib/locales/supported.d/ существует или нет.

чтобы генерировать en_US.UTF-8 locale поместил в этот файл следующую строку: en_US.UTF-8 UTF-8тогда беги locale-gen генерировать локали.

Вы можете подтвердить, что поколение работало, запустив locale -a перечислить все доступные локали.

теперь вам нужно настроить оболочку для установки локалей. просто отредактируйте /etc/default/locale и положите туда следующее: LANG=en_US.UTF-8

Теперь вы можете выйти из своей оболочки и вернуться, чтобы проверить, что echo $LANG печать en_US.UTF-8

так и должно быть.

Лично мне еще не приходилось видеть ошибку при наличии ненадлежащего языкового стандарта, но я не очень разбираюсь с юникодом или многоязычными системами, поэтому я не уверен, что я работаю хорошим примером для его срочности.

Что касается установки локали, гарантированный способ установить ее в вашей системе - отредактировать /etc/locale.gen так, чтобы локали, в которых вы сейчас находитесь, не комментировались, а затем выполнялись

# genlocale

под корнем. Кроме того, этот метод, как правило, кроссплатформенный для всех систем Linux.

Другие вопросы по тегам