Saya mendapatkan pesan ini setiap kali saya melakukan sesuatu seperti memulai atau menghentikan layanan.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_MESSAGES = "en_US.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_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 21173 files and directories currently installed.)
Removing bind9 ...
* Stopping domain name service... bind9 [ OK ]
Processing triggers for man-db ...
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
Bagaimana cara memperbaiki kesalahan ini?
command-line
server
locale
HackToHell
sumber
sumber
Jawaban:
Pertama kali menjalankan
locale
daftar apa yang saat ini ditetapkan untuk akun pengguna saat ini:Kemudian buat lokal yang hilang dan konfigurasi ulang lokal untuk memperhatikan:
Sekarang Anda tidak akan melihat kesalahan lagi!
sumber
en_GB
secara default, tetapi Anda mengaturnyaen_US
. Anda harus mengomentarien_GB
dan membatalkan komentar secara manualen_US
di/etc/locale.gen
. Lihat jawaban saya askubuntu.com/a/790373/25388 di perangkat keras Raspberry Pi 3b dan sistem Raspbian Jessie.Tidak ada yang disarankan di atas berfungsi dalam kasus saya (Ubuntu Server 12.04LTS). Yang akhirnya membantu adalah meletakkan ke file
/etc/environment
:Untuk beberapa alasan itu hilang. Output untuk lokal dan perintah lain muncul seperti variabel didefinisikan dengan benar. Dengan kata lain jangan menerima begitu saja semua hal-hal dasar dinyatakan di mana ia harus dinyatakan.
sumber
/etc/default/locale
./etc/default/locale
dan tidak ada lagi peringatan. Terima kasihsudo sh -c "echo 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/environment"
echo
perlu dijalankan dengan interpretasi backslash escapes diaktifkan. Ini sama dengan milik Anda tetapi dengansh -c "echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale"
Mereka harus menghilang setelah mengeluarkan:
dpkg-reconfigure
mengkonfigurasi ulang paket setelah diinstal. Berikan nama paket atau paket untuk mengkonfigurasi ulang. Ini akan menanyakan pertanyaan konfigurasi, seperti ketika paket pertama kali diinstal.sumber
en
,en_AU
,en_CA
,en_GB
yang hadir secara default tapi tidaken_US
?dpkg-reconfigure
.makemessage
membutuhkan ini. Ini bekerja dengan sempurna! Terima kasih.LC_ALL
ditetapkan dengan benar.Cukup tambahkan berikut ini ke
.bashrc
file Anda (dengan asumsi Anda menggunakan bash)sumber
LC_ALL
saya akhirnya bisa menggunakansudo dpkg-reconfigure locales
.Ini adalah masalah umum jika Anda menghubungkan dari jarak jauh, jadi solusinya adalah tidak meneruskan lokal Anda. Edit
/etc/ssh/ssh_config
dan komentariSendEnv LANG LC_*
baris.sumber
/etc/ssh_config
sed -e '/SendEnv/ s/^#*/#/' -i /etc/ssh/ssh_config
(berguna untuk penyediaan server)Ada perintah untuk itu:
Itu pembaruan
/etc/default/locale
dengan nilai-nilai yang disediakan.sumber
locale
masih tidak menunjukkan nilai utf.locale-gen
tidak ada. Sebelumnya, kita harus melakukanapt-get install locales
.Apa yang berhasil bagi saya pada jam 12.10 adalah ini:
Ini setelah
dpkg-reconfigure locales
tidak membuahkan hasil.sumber
chroot
bawah debian. Terima kasih :)Jangan lupa keluar dari sesi SSH Anda (atau X11 Anda) dengan keluar dan masuk kembali. Semua saran ini tidak berfungsi untuk saya kecuali saya masuk kembali ....
sumber
Untuk Ubuntu 12.10 tidak ada yang di atas berfungsi kecuali untuk solusi ratzs. Saya sarankan menambahkan ini ke file /etc/bash.bashrc Anda:
sumber
Saya terjebak dalam keadaan aneh di mana mesin lokal saya diatur ke
es
dan mesin remote (viavagrant
) telah disediakan dalam keadaan tidak ditangani. Karena itu, saya harus menggunakan manualexport=
hanya untuk memfasilitasi yang suksesdpkg-reconfigure
. Maka sistemnya baik-baik saja.sumber
dpkg-recofigure
menampilkan mojibake.Saya menulis skrip bash untuk memperbaiki masalah di atas. Jawaban di atas bermanfaat tetapi mengatur variabel lokal dengan hanya mengekspor nilai-nilai dalam variabel shell akan bekerja hanya untuk satu sesi. Saya secara permanen memecahkan masalah ini dengan mengekspor variabel lokal di file .bash_profile. Anda juga dapat menggunakan
/etc/profile
file sebagai ganti.bash_profile
.Jangan lupa untuk
source
yang.bash_profile
dan mengikuti skrip di setup yang mudah.sumber
Anda dapat mencoba:
dimana
ru_RU
kode negara kamusumber
Jawaban yang diterima saat ini tidak cukup dalam strategi pemecahan masalah karena Anda dapat memiliki kesalahan manusia. Anda mengatur sistem Anda ke
en_US
tetapi Anda telahen_GB
mengaktifkan/etc/locale.gen
seperti saya di utas di sini untuk Raspberry Pi 3b. Anda harus mengaktifkan semua lokal bekas Anda/etc/locale.gen
.Saya
en_GB.UTF-8 UTF-8
hanya mengaktifkan/etc/locale.gen
. Saya seharusnya ada di sana hanya diaktifkanen_US.UTF-8 UTF-8
karena perintah lain dijalankan untuk itu. Jadi saya berkomentar GB dan US uncommented, dan semuanya berfungsi sekarangSekarang, saya tidak mendapatkan kesalahan lokal dengan perintah apa pun.
Sistem: Raspbian Jessie
Hardware: Raspberry Pi 3b
sumber
Seperti yang dikatakan di sini di Debian Wiki , Anda dapat mengedit
/etc/locale.gen
dan menambahkan semua lokal (atau menghapus tanda komentar pada mereka, saya memiliki daftar semua lokal tetapi semua kecuali yang saya gunakan sebagai komentar) Anda ingin memiliki dukungan untuk pada sistem Anda. Kemudian, jalankanuntuk memperbarui lokasi di sistem Anda. Sekarang, semua lokal yang Anda tambahkan / hapus komentar
/etc/locale.gen
tersedia di sistem Anda tanpa peringatan apa pun.sumber
Jika Anda menggunakan lingkungan KDE, periksa
setlocale.sh
file di~/.kde/env/
:sumber
Anda mungkin perlu menjalankan
sudo dpkg-reconfigure
juga untuk aplikasi yang telah Anda instal sementara pengaturan "lokal" tidak valid / tidak cocok.Sementara sistem lokal pengaturan saya menginstal salah
vim
. Kemudian ketika sistem lokal diperbaiki saya melihat situasi yangvim
menunjukkan karakter utf-8 salah sebagai simbol anehnano
danless
menunjukkannya dengan benar. Laritampaknya memperbaiki masalah setelah pengaturan sistem diperbaiki.
Saya juga memperhatikan hal yang sama seperti yang telah disebutkan: Anda mungkin perlu memutuskan / menghubungkan kembali SSH untuk membuat perubahan terlihat.
sumber
Menambahkan teks berikut ini
~/.profile
berfungsi untuk saya:Saya menggunakan server Ubuntu 16.04 LTS 64-bit di Linode.
sumber
Ini bekerja untuk saya ketika saya memiliki masalah yang sama (berdasarkan solusi yang diberikan oleh dman ):
sumber
>
alih - alih>>
) sepertinya balasan untuk dman. Saya sebenarnya tidak tahu jalan mana yang benar atau terbaik, tetapi jika Anda memiliki wawasan tentang ini, Anda dapat memperluas jawaban ini dengan informasi lebih lanjut. (Anda tidak perlu melakukannya.)