Locales inside VE
Contents
Problem description
After creating a VE (e.g. using centos-4-i386-default template) running perl (any perl script), results in the warning message:
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US:en", LC_ALL = (unset), LANG = "en_US" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C")
Resolution
Some of templates have removed locales inside, since locales take really much space (~20Mb) while not needed in most cases (except for the default "C" locale).
So in this example /usr/lib/locale/en_US/LC_TIME and other files are missing.
Fix 1
reinstall glibc-common package using the command:
# rpm -ihv --force glibc-common.rpm
Fix 2
Or disable overriding of LC_* variables in /etc/ssh/sshd_config:
# Allow client to pass locale environment variables AcceptEnv LANG LC_*
to
#AcceptEnv LANG LC_*
so the default LC will be used.