在 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
順利嗎?或者它甚至沒有關係,因為我只會安裝一次,儘管它在嘗試安裝時會發出警告,因為它會在那之後工作,不用擔心?
您不必擔心這些警告消息,它們與實際安裝或配置無關,而是與向您顯示的消息有關(在那個部門也很少發生任何嚴重的事情)。
我在“這無關緊要”的答案上胡說八道。一方面,控制台中不斷出現的錯誤無法設置區域設置非常煩人。但這還不是全部,有些事情真的行不通。
我剛剛在一個新的 VPS 上解決了這個問題。一個簡短的總結:
需要先生成語言環境,然後才能使用它們。我不確定其他發行版,所以以下是 debian/ubuntu 的摘要。
首先嘗試執行
dpkg-reconfigure locales
。這應該在一些debian 發行版上設置它。但我偶然發現了一些沒有。這可能意味著您需要在其他地方重新配置,但我找不到它,所以我想出了一個更手動的方法來做同樣的事情:較舊的 debian/ubuntu 將支持的語言環境儲存在 中
/etc/locale.gen
,較新的將其儲存在/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
應該是這樣。