lokal tidak ditemukan / pengaturan lokal gagal - apa yang harus saya lakukan?


32

Saya telah menginstal Debian 7 i386 di VPS (OpenVZ) saya. Semuanya berfungsi dengan baik, kecuali lokal - setiap upaya untuk menginstal apa pun menunjukkan:

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

Apa yang saya coba:

  1. Menghasilkan lokal sendiri - update-locale LC_ALL="pl_PL.UTF-8"- menunjukkan: http://www.wklej.org/id/1248438/
  2. apt-get install --reinstall locales http://www.wklej.org/id/1248442/
  3. Sama dengan dpkg-reconfigure localespengaturan + pl_PL.UTF-8, pl_PL.ISO-8859-2atau bahkan en_US: http://www.wklej.org/id/1248446/
  4. export LC_ALL=pl_PL.UTF-8 (bahkan pada root):

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

Inilah yang menunjukkan lokal:

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=

Tidak ada yang menarik ditemukan di / var / log. Bahkan mengubah repo menjadi + pembersihan + lokal dan instalasi manual tidak memecahkan masalah saya, yang memanifestasikan dirinya pada setiap instalasi baru Debian 7.

Jawaban:


22

Tampaknya tidak ada lokal yang dihasilkan. Sudahkah Anda memilih pl_PL.UTF-8dengan benar dpkg-reconfigure localesdengan menekan spacepada baris yang sesuai?

Jika ya, teleponnya

pl_PL.UTF-8 UTF-8

in /etc/locale.gentidak dikomentari (= tidak dimulai dengan #). Jika Anda perlu memperbaiki ini, Anda juga harus menjalankan locale-genuntuk menghasilkan lokal. Outputnya harus:

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

Jika tidak menampilkan lokal yang ingin Anda hasilkan, tampaknya ada yang salah dengan sistem Anda. Salah satu alasannya mungkin karena Anda telah localepurgemenginstal. Jika tidak ada file /usr/share/locale/pl/LC_MESSAGESatau /usr/share/locale/pl_PL/LC_MESSAGESini masalahnya atau sistem Anda rusak.


1
Berhasil! Posisi yang dipilih di /etc/locale.gen masih berkomentar, tidak tahu mengapa (ya, saya ingat tentang bilah spasi) - mungkin ada yang salah dengan CHMOD. Terima kasih!
luke_g

1
Catatan itu -plowadalah default, jadi bisa dihilangkan. Anda hanya perlu menelepon dpkg-reconfigure, yang akan memanggil lokal-gen setelah Anda mencentang entri yang Anda inginkan.
Stéphane Chazelas

@StephaneChazelas terima kasih, saya menghapusnya dari jawaban dan menjelaskan penggunaannya locale-gen.
jofel

Kemungkinan lain adalah jika Anda telah mengkonfigurasi sistem Anda dll untuk en_US tetapi Anda /etc/locale.genhanya membatalkan komentar en_GB. Saya melihat kesalahan ini di utas ini di sini unix.stackexchange.com/q/287716/16920 Tolong, tambahkan juga ke strategi pemecahan masalah juga.
Léo Léopold Hertz 준영

12

pertama:

sudo apt-get purge locales

kemudian:

sudo aptitude install locales

dan yang terkenal:

sudo dpkg-reconfigure locales

Ini menjalankan sistem locales, kemudian menginstal ulang locales dan menurunkan libc6 dari 2.19 menjadi 2.13 yang merupakan masalah. Kemudian konfigurasikan kembali locales.


Tampaknya membantu tetapi selanjutnya apt-get dist-upgradeakan mematahkannya lagi.
ceving

Mengapa itu melanggarnya? Pada saat itu bukankah locales harus kompatibel dengan libc6 yang digunakan? Libc6 saya diubah untuk menggunakan beberapa program lain. Saya telah menurunkannya kembali ke versi libc6 default sehingga sistem saya berfungsi dengan baik. Pada titik itu seharusnya sangat kompatibel dengan upgrade apt-get-dist
tkjef

1
Sebuah apt-get install localesmenginstal lokal pada wadah debian Docker saya.
Stephane

7

Cara cepat dan mudah (meskipun itu berarti lebih banyak disk yang digunakan daripada yang lain):

apt install locales-all

1

coba jalankan

locale -a

jika kamu punya

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

Solusi untuk situasi ini adalah menginstal paket locales (dari paket glibc [1]) dalam rasa debian atau glibc-all-langpacks CentOS / Fedora

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


glibc-localepaket tidak ada di Debian
Yajo

harus paket lokal ... diperbaiki
Sérgio
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.