yerel ayar bulunamadı / ayar yerel ayar başarısız - ne yapmalıyım?


32

Debian 7 i386'yı VPS cihazıma (OpenVZ) kurdum. Yereller hariç her şey yolunda gidiyor - herhangi bir şey yükleme girişimi gösteriliyor:

[...]
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
[...]

Ne denedim:

  1. Yerel ayarları kendim oluşturmak - update-locale LC_ALL="pl_PL.UTF-8"- gösterir: http://www.wklej.org/id/1248438/
  2. apt-get install --reinstall locales http://www.wklej.org/id/1248442/
  3. İle aynı dpkg-reconfigure locales+ ayarında pl_PL.UTF-8, pl_PL.ISO-8859-2hatta en_US: http://www.wklej.org/id/1248446/
  4. export LC_ALL=pl_PL.UTF-8 (hatta kökte):

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

İşte yerel ayarları gösteren şey:

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 içinde ilginç bir şey bulunamadı. Repoyu resmi + temizleme ve manuel kurulum yerlerine değiştirmek bile, Debian 7'nin her yeni kurulumunda kendini gösteren sorunumu çözmedi.

Yanıtlar:


22

Yerel ayar üretilmedi. Seçtiğiniz pl_PL.UTF-8düzgün dpkg-reconfigure localesbasarak spacekarşılık gelen hat?

Eğer evet ise, çizgi

pl_PL.UTF-8 UTF-8

içinde /etc/locale.genyorumlanmadı (= ile başlamaz #). Bunu düzeltmeniz gerekirse locale-gen, yerel ayarları oluşturmak için de çalıştırmanız gerekir . Çıkışı şöyle olmalıdır:

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

Oluşturmak istediğiniz yerel ayarları çıkarmazsa, sisteminizde yanlış bir şey var gibi görünüyor. Bunun bir nedeni, localepurgetakmış olmanız olabilir . Dosya /usr/share/locale/pl/LC_MESSAGESyoksa veya /usr/share/locale/pl_PL/LC_MESSAGESbu durumda veya sisteminiz bozulur.


1
İşe yarıyor! /Etc/locale.gen 'de seçilen pozisyon hala yorumlandı, nedenini bilmiyorum (evet, boşluk çubuğunu hatırlıyorum) - belki de CHMOD ile ilgili bir sorun var. Teşekkürler!
luke_g

1
Bunun -plowvarsayılan olduğuna dikkat edin , ihmal edilebilir. Sadece dpkg-reconfigureistediğiniz girişi işaretledikten sonra yerel-gen'i çağıracak olanı aramanız yeterlidir .
Stéphane Chazelas

@StephaneChazelas teşekkürler, cevaptan kaldırdım ve kullanımını açıklığa kavuşturdum locale-gen.
jofel

Başka bir olasılık da sisteminizi en_US için yapılandırmış olmanız, ancak /etc/locale.gensadece yorumunuz yok en_GB. Bu yazıda bu hatayı farkettim. Unix.stackexchange.com/q/287716/16920 Lütfen, sorun giderme stratejisine de ekleyin.
Léo Léopold Hertz 준영

12

ilk:

sudo apt-get purge locales

sonra:

sudo aptitude install locales

ve ünlü:

sudo dpkg-reconfigure locales

Bu, yerellerin sistemini çalıştırır, daha sonra yerelleri yeniden yükler ve sorun olan libc6'yı 2,19'dan 2,13'e düşürür. Sonra tekrar yerel ayarları yapılandırır.


Yardım gibi görünüyor ama bir sonraki apt-get dist-upgradetekrar kıracak.
saat

Neden kırdı ki? Bu noktada, yerel ayarlar kullanılan libc6 ile uyumlu olmamalı mı? Benim libc6 başka bir program kullanmak için değiştirildi. Sistemimin düzgün çalışması için onu varsayılan libc6 sürümüne geri yükledim. Bu noktada apt-get dist-upgrade ile çok uyumlu olmalı
tkjef

1
Bir apt-get install localesbenim Docker Debian konteyner üzerinde yerel ayarları yüklü.
Stephane

7

Hızlı ve kolay yol (diğerlerinden daha fazla kullanılan disk anlamına gelse de):

apt install locales-all

1

koşmayı dene

locale -a

eğer varsa

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

Bu durumun çözümü, yerel paketleri (glibc paketinden [1]) debian tadı veya glibc-all-langpacks CentOS / Fedora'ya kurmaktır.

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


glibc-localePaket Debian'da mevcut değil
Yajo

paket yerel olmalı ... sabit
Sérgio
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.