Программы
Добавляем локаль в Debian, Ubuntu, etc

Добавляем локаль в Debian, Ubuntu, etc

Иной раз на новых серверах вижу сообщение об ошибке при установке чего-либо через тот же apt/apt-get/aptitude. "locale: Cannot set LC_CTYPE to default locale: No such file or directory"

Иной раз на новых серверах вижу сообщение об ошибке при установке чего-либо через тот же apt/apt-get/aptitude.

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
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "ru_RU.utf8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

И тут виноваты ни apt, ни perl, а недонастроенность локалей в системе.

Для начала, посмотрим, что вообще используется для данного пользователя:

$ locale
LANG=C
LANGUAGE=
LC_CTYPE=ru_RU.UTF-8
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE=ru_RU.UTF-8
LC_MONETARY="C"
LC_MESSAGES=ru_RU.UTF-8
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

То есть, используем «язык по-умолчанию»… Английский. Можно посмотреть, как это вообще работает:

$ man
Какая справочная страница вам нужна?
$ LC_ALL=C man
What manual page do you want?

Для того, чтобы сконфигурировать используемые локали, вводим:

$ sudo dpkg-reconfigure locales

Выбираем все кодировки en_US и все своего родного языка (например, ru_RU). Кодировку по-умолчанию ставим en_US.

Ну вот и починили!

Изображение Шпаргалка по командам Linux, FreeBSD и MacOS