Иной раз на новых серверах вижу сообщение об ошибке при установке чего-либо через тот же 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.
Ну вот и починили!