Perl warning: Setting locale failed
Напоследък се занимавам доста с виртуални сървъри и главният проблем, който срещах беше, че Perl не разпознава текущият locale инсталиран на машината.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = “en_US:en”,
LC_ALL = (unset),
LANG = “en_US.ISO-8859-15″
are supported and installed on your system.
След много промени по различни конфиг файлове и директории намерих просто решение:
1 | apt-get install --reinstall language-pack-en |
А именно – преинсталираме language pack-a и това решава проблема
Categories: Linux
apt-get install locales
Според мен също решава проблема. /Виртуалните сървъри се правят по идеографски начин, ако те мързи {доставчика ти го мързи}. Съответно base системата не се качва на 100%/
Да, така е. Това също може да реши проблема при някои случай, но в моя не беше решение и затова не съм го споменал
А колкото до сървърите – не съм ги правил аз, затова доста от нещата са орязани.
1) няма такова понятие като “текущият locale инсталиран на машината”
2) може да видиш кои локали са инсталирани с
$ locale -a
3) ако en_US.ISO-8859-15 не присъства, трябва да си го инсталираш или да си сетнеш LANG на някой от съществуващите локали. С променливите от обкръжението LC_* и LANG се казва на програми, подържащи локализация, коя локализация да ползат. При повечето unix базирани системи, тези променливи са сетнати в /etc/profile или ~/.profile (което идва от /etc/skel/.profile). Добре е да ползваш en_US.utf8 или bg_BG.utf8, все пак ISO 8859 aka lantin-* е наследство от 20-ти век. В случай, че системата е антична ще минеш с ISO-8859-1 aka latin1.
Между другото специално за perl е документирано какво означава горното предупреждение и как реагира perl в този случай: http://perldoc.perl.org/perllocale.html