在 vps 上配置区域设置的正确方法是什么?

在 vps 上配置区域设置的正确方法是什么?

我注意到在某些 VPS 上,locales默认情况下未安装,因此dpkg-reconfigure locales只会抛出一个错误,提示locales未安装。

我想这样做apt-get install locales,我已经做过几次了,我知道这会设置语言环境,但是尽管配置好了,它也会开始抛出警告,因此此后的每个包都不会抱怨类似的事情:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

但是我是否应该进行编辑/etc/environment并手动设置环境变量以LC_ALL确保en_US.UTF-8安装locales顺利进行?或者这根本没关系,因为我只安装一次,尽管它在尝试安装时会发出警告,但之后它会正常工作,不用担心?

答案1

您不必担心这些警告信息,它们与实际安装或配置无关,而是与向您呈现的消息有关(并且在该部门中也很少有任何严重信息)。

答案2

我认为“这无关紧要”的答案是胡说八道。首先,控制台中不断出现无法设置语言环境的错误非常烦人。但这还不是全部,有些事情真的行不通。

我刚刚在新的 VPS 上解决了这个问题。简短总结一下:

需要先生成语言环境才能使用。我不确定其他发行版是否如此,因此以下是针对 debian/ubuntu 的摘要。

首先尝试运行dpkg-reconfigure locales。这应该可以将其设置为一些debian 发行版。但我偶然发现有些没有。这可能意味着您需要重新配置其他内容,但我没有找到它,所以我找到了一种更手动的方法来做同样的事情:

较旧的 debian/ubuntu 将支持的语言环境存储在 中/etc/locale.gen,较新的 debian/ubuntu 将支持的语言环境存储在/var/lib/locales/supported.d/local

您可以通过检查目录是否/var/lib/locales/supported.d/存在来判断您拥有哪一个。

要生成en_US.UTF-8语言环境,请将以下字符串放入此文件中:en_US.UTF-8 UTF-8 然后运行locale-gen以生成语言环境。

locale -a您可以通过运行列出所有可用的语言环境来确认生成是否有效。

现在您需要配置您的 shell 来设置语言环境。只需编辑/etc/default/locale并输入以下内容:LANG=en_US.UTF-8

现在你可以退出 shell 并返回检查echo $LANG打印结果en_US.UTF-8

就应该这样。

答案3

我个人还没有看到未设置区域设置时出现的错误,但我很少处理 unicode 或多语言系统,因此我不确定我是否可以作为其紧迫性的一个很好的例子。

至于设置区域设置,在系统上进行设置的保证方式是编辑 /etc/locale.gen,以便取消注释当前所在的区域设置,然后运行

# genlocale

在 root 下。此外,此方法通常适用于所有 Linux 系统,并且是跨平台的。

相关内容