FastNetMon

Monday 23 March 2009

Perl + locale + Debian

Довольно часто на Дебияне вываливается вот такая хрень:

perl -v
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").



Временное решение: export LANG=C и потом perl -v
Постоянное решение: открываем файл /etc/environment и добавляем там строку: LANG=C

1 comment :

  1. Вопрос: а почему указываем локаль именно в /etc/environment а не в /etc/default/locale ?
    Ответ прост: часть стафа в дистрибутиве колхоза имени Дебиан написана в расчёте что локаль задаётся в одном файле, а часть прог читает второй файл. Ну и как гениальное решение проблемы большинство скриптов читает сразу оба файла (значение берётся из последнего) или уж чтоб совсем не путаться ещё более умные проги ничего не читают, а вызывают команду locale с недокументированным ключом charmap. Дебиан это не дистрибутив, а помойка, расчищать которую никто не собирается, потому что переделывать и вылизвывать придётся очень во многих местах.

    ReplyDelete

Note: only a member of this blog may post a comment.