Debian でロケールを設定する

Debian でロケールを設定する

私のサーバー (Debian 7.5 stable (Wheezy) (64 ビット)) でロケールを生成する際に問題が発生します。ルートとして実行すると、次のようになります。

dpkg-reconfigure locales

を選択するとen_US.UTF-8、次のログが表示されます。

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_GB:en",
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    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_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_GB:en",
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_GB:en",
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
sh: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)

理由が分かりますか?

ありがとう!

答え1

どうやら、あなたの環境には があるようですが、生成するまたはその他のバリエーションLANGUAGE=en_GB:enを選択していません( の最初の部分)。en_GBendpkg-reconfigure locales

おそらく、古いデフォルトとして設定されていたen_GBが、生成するロケールのリストから削除されたのでしょう。ただし、環境にはまだ古い設定が残っているため、perl は (古い) ロケールが見つからないと文句を言っています。英語圏の人々にとってはそれ自体は問題ではなく、フォールバック ロケールは完全に読みやすいので、実際には問題ではありません。

ログアウトして再度ログインすると新しい設定が適用されます。または、

source /etc/default/locale

あなたの殻から。

一部のアプリケーションでは、特定のロケールのローカリゼーションが常に利用できるとは限りません。このような場合は、次のようにアプリケーションを起動すると、ロケールがC常に利用できるため役立つ場合があります。

env LC_ALL=C applicationname

関連情報