web-dev-qa-db-ja.com

LC_ALL:ロケールを変更できません

PuTTY経由でサーバー(Debian 7)にログインすると、次のようなメッセージが表示されます。

-bash: warning: setlocale: LC_ALL: cannot change locale (en_GB.UTF-8).

次に、ほとんどすべてのコマンドを実行しようとすると、次のようになります。

Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
        LANGUAGE = "en_GB:en",
        LC_ALL = "en_GB.UTF-8",
        LANG = "en_GB.UTF-8"
    are supported and installed on your system.
Perl: warning: Falling back to the standard locale ("C").

私は助けを求めてウェブ中を見回しました。/etc/environmentファイルには、「LC_ALL = "en_GB.UTF-8"」が含まれています。

タイピング;

locale -a

以下を出力します。

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_COLLATE to default locale: No such file or directory
C
C.UTF-8
POSIX

これは、locale-genの結果です。

root@vps94194:/# locale-gen
-bash: locale-gen: command not found

同じことがupdate-localeコマンドにも当てはまります。

エラーがブロックするため、aptitudeを介してロケールを再インストールできません。同じ理由でdpkgを使用して再構成することはできません。

私はこれを修正する方法を本当に知りません。これまでのところ、違いはありません。

9
Gregory Sims

使用する:

export LC_ALL=C

aptitudelocalesパッケージまたは同等のもの)を介して必要なものをインストールします。

以前のエラーが原因で引き続きエラーが発生する場合は、最初に次のコマンドを実行します。

apt-get install -f
8
vinc17

ドイツ語のVPSを使用していて、英語の言語パックがインストールされていなかったため、ロケールを変更できませんでした。

インストール後、ようやくロケールを変更できました

aptitude install language-pack-en
3
valentt

~/.ssh/configに次のルールを追加することを検討してください:

Host *
  SetEnv LC_ALL=C

SSHサーバーの/etc/ssh/sshd_configに次の行があると仮定します。

AcceptEnv LANG LC_*

また、man ssh_configおよびman sshd_configも確認してください。

0
kenorb