ロケールが見つかりません/ロケール設定に失敗しました - どうすればよいですか?

ロケールが見つかりません/ロケール設定に失敗しました - どうすればよいですか?

VPS(OpenVZ)にDebian 7 i386をインストールしました。ロケールを除くすべてがうまくいきます。インストールしようとすると、次のように表示されます。

[...]
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "pl_PL.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
[...]

私が試したこと:

  1. 独自のロケールを生成 - update-locale LC_ALL="pl_PL.UTF-8"- 表示:http://www.wklej.org/id/1248438/
  2. apt-get install --reinstall locales http://www.wklej.org/id/1248442/
  3. dpkg-reconfigure locales+設定とpl_PL.UTF-8同じpl_PL.ISO-8859-2ですen_UShttp://www.wklej.org/id/1248446/
  4. export LC_ALL=pl_PL.UTF-8(ルートディレクトリでも):

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

以下は、ロケールを示すものです。

root:~# locale
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
LANG=pl_PL.UTF-8
LANGUAGE=
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=

/var/logで興味深いコンテンツが見つかりません。リポジトリを公式+に変更し、ロケールを手動でインストールしても問題は解決されませんでしたが、これはDebian 7を新しくインストールするたびに発生しました。

答え1

ロケールが生成されていないようです。その行をタップしてpl_PL.UTF-8正しく選択しましたか?dpkg-reconfigure localesspace

もしそうなら、その行

pl_PL.UTF-8 UTF-8

inは/etc/locale.genコメントアウトされていません(=で始まらない#)。この問題を解決する必要がある場合は、locale-genロケールを生成するために実行する必要があります。出力は次のようになります。

Generating locales (this might take a while)...
   pl_PL.UTF-8... done
Generation complete.

作成したいロケールが出力されない場合は、システムに問題があるようです。 1つの理由はすでにインストールlocalepurgeされている可能性があります。ファイルが存在しないか、これ/usr/share/locale/pl/LC_MESSAGES/usr/share/locale/pl_PL/LC_MESSAGES発生した場合、またはシステムが破損している場合。

答え2

最初:

sudo apt-get purge locales

それから:

sudo aptitude install locales

そして有名に:

sudo dpkg-reconfigure locales

これにより、システムのロケールが消去され、ロケールが再インストールされ、libc6が2.19から2.13にダウングレードされます。ここに問題があります。その後、ロケールを再構成します。

答え3

迅速で簡単な方法(他の方法よりも多くのディスクを使用することを意味します):

apt install locales-all

答え4

走りましょう

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_ALL to default locale: No such file or directory

この場合の解決策は、Debianスタイルのパッケージロケール(glibcパッケージ[1])またはglibc-all-langpacks CentOS / Fedoraをインストールすることです。

[1]https://tracker.debian.org/pkg/glibc

関連情報