无法设置区域设置 (man-db.cron)

无法设置区域设置 (man-db.cron)

我每天都会收到一封电子邮件,内容如下:

/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 正确

相关内容