我每天都会收到一封电子邮件,内容如下:
/etc/cron.daily/man-db.cron:
mandb: can't set the locale; make sure $LC_* and $LANG are correct
当我检查 的结果时/etc/locale.conf
,我看到结果设置为
LANG=en_EN.UTF-8
当我运行该命令时locale
,我看到以下输出:
-sh-4.2$ locale
LANG=nl_NL.UTF-8
LC_CTYPE="nl_NL.UTF-8"
LC_NUMERIC="nl_NL.UTF-8"
LC_TIME="nl_NL.UTF-8"
LC_COLLATE="nl_NL.UTF-8"
LC_MONETARY="nl_NL.UTF-8"
LC_MESSAGES="nl_NL.UTF-8"
LC_PAPER="nl_NL.UTF-8"
LC_NAME="nl_NL.UTF-8"
LC_ADDRESS="nl_NL.UTF-8"
LC_TELEPHONE="nl_NL.UTF-8"
LC_MEASUREMENT="nl_NL.UTF-8"
LC_IDENTIFICATION="nl_NL.UTF-8"
LC_ALL=
现在我看到未LC_ALL
设置,但是当我使用以下命令设置它时:
-sh-4.2$ export LC_ALL=nl_NL.UTF-8
然后再次运行命令 locale
LC_ALL=nl_NL.UTF-8
你会看到它已设置,但不知何故,当我退出 SSH 并稍后检查时,我会再次看到它未设置,并且我不断收到电子邮件。
我的问题是,如何解决区域设置问题,这样我就不会继续收到来自 的电子邮件man-db.cron
。
我使用的是 CentOS Linux 版本 7.1.1503(核心)。
答案1
在 CentOS 7 中,您可以使用localectl status
命令查看区域设置。如果未设置,则使用:-
# List locales
localectl list-locales | grep en_EN
# set your locale
localectl set-locale LANG=en_EN.UTF-8
# also, set your local key map
localectl set-keymap us
localectl set-x11-keymap us
再次检查您的状态:-localectl status
答案2
我在运行 Arch Linux 的 Raspberry Pi 4 上解决了这个问题,方法是取消注释en_US.UTF-8 UTF-8
并/etc/locale.gen
为其创建文件语言环境:
sudoedit /etc/locale.gen
sudo locale-gen
之后,man
停止发出此警告:
无法设置语言环境;确保 $LC_* 和 $LANG 正确