正确的方法来configurationVPS上的区域设置?

我注意到在某些VPS上,默认情况下不会安装locales ,所以dpkg-reconfigure locales只会抛出一个错误,说明没有安装locales

我想做apt-get install locales ,我已经做了几次,我知道这设置了语言环境,但它也会开始警告,尽pipeconfiguration自己的工作,因此,其后每个包不会抱怨喜欢:

 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环境variablesen_US.UTF-8 ,以确保安装locales正常吗? 还是不要紧,因为我只会安装一次,尽pipe在尝试安装时会发出警告,因为它会在这之后起作用,而不用担心?

您不必担心这些警告消息,它们不是关于实际的安装或configuration,而是关于向您展示消息(而且很less在该部门认真的)。

我打电话给废话'这不重要'的答案。 首先,在控制台不能设置语言环境的常量错误是非常烦人的。 但这不是全部,有些事情真的不行。

我刚刚解决了这个新的VPS。 一个简短的总结:

需要生成语言环境才能使用。 我不确定其他发行版,所以下面是debian / ubuntu的总结。

首先尝试运行dpkg-reconfigure locales 。 这应该build立在一些 debian发行版上。 但是我偶然发现了一些没有的东西。 这可能意味着你需要在其他地方重新configuration,但我没有find它,所以我想出了一个更手动的方法来做同样的事情:

以前的debian / ubuntu在/etc/locale.gen存储支持的语言环境,较新的文件存储在/var/lib/locales/supported.d/local

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

要生成en_US.UTF-8语言环境,请在该文件中放入以下string: en_US.UTF-8 UTF-8然后运行locale-gen以生成语言环境。

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

现在你需要configuration你的shell来设置语言环境。 只需编辑/etc/default/locale并在其中input: LANG=en_US.UTF-8

现在你可以退出你的shell并回来检查echo $LANG打印了en_US.UTF-8

应该是这样的。

我个人还没有看到一个错误,当一个未设置的语言环境,但我不处理Unicode或多语言系统很多,所以我不能确定,如果我的工作作为一个很好的例子紧迫性。

至于设置语言环境,保证在你的系统上设置的方法是编辑/etc/locale.gen,这样你目前所在的语言环境就不用注释了,然后运行

 # genlocale 

在根下。 而且,这种方法通常是所有Linux系统的跨平台。