Debian sıkıştırmasında yerel ayar nasıl düzeltilir?


17

Bazen yerel ayar hataları alıyorum ve sorunu gidermek için dpkg-reconfigure yerel ayarlarını çalıştırmayı denedim. İşte çıktı:

:~$ sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "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_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "C"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

/ Usr / bin / locale aradım ama sistemimde mevcut değil. Oluşturmam gerekiyor mu? Oraya ne koyayım?

Ayrıca , sorunun nedeninin sshd_config dosyasında olduğunu söyleyen ilgili bir soru buldum . Dosya şu girişe sahipti:

AcceptEnv LANG LC_*

Esas olarak VPS'm için sorunlara neden olabileceğinden endişeliyim, aksi takdirde büyük bir şey değilse sorunu görmezden gelmek için mutlu olurum. Ne yapmalıyım? Teşekkürler!


Aynı sorun (LC_CTYPE = UTF-8, yanlış) bir Mac'ten bir linux kutusuna ssh üzerinden giriş yaptığınızda ve terminaliniz ortam değişkenlerini otomatik olarak ayarlar. Bunun için bir onay kutusu var. İşaretini kaldırın ve gitmekte fayda var. İTerm'de bu profil-> Terminal Sekmesinde.
raarts

Bazı debian tabanlı dağıtım (ubuntu dahil) ile bir hata var gibi görünüyor. Fr_FR.UTF-8 kullanmak sorun veriyor (ve yerel ayar mevcuttu). Bunu yapmak locale-gen frtüm fr yerel ayarları (fr_BE, fr_CH vb ...) derler. Belki deneyinlocale-gen en
Antony Gibbs

Yanıtlar:


10

ilk:

sudo apt-get purge locales

sonra:

sudo aptitude install locales

ve ünlü:

sudo dpkg-reconfigure locales

Bu, yerel ayarlar sistemini çalıştırır, ardından yerel ayarları yeniden yükler ve sorun olan libc6'yı 2.19'dan 2.13'e düşürür. Ardından yerel ayarları yeniden yapılandırır.


Ben de aynı problemi yaşıyorum. Bu cevapla ve jessie depolarını da içererek, localessürüm düşürmeden yükleyebilirim libc6.
shgnInc

bu yardımcı olmadı
aexl

8

Kutunuza SSHing yaparken ancak konsolda değilken bu olursa, ssh istemcinizi (yerel makinenizde) yeniden yapılandırmayı deneyin . Mac OS X'te, örneğin / private / etc / ssh_config dosyasını düzenleyin ve yorum yapın

# SendEnv LANG LC_*

Brredman'ın Rasberry Pi Bülten Tahtası'ndaki görevine teşekkürler .


Bu dosya şimdi: / private / etc / ssh / ssh_config
b4d

7

Uzun zamandır bu sorun vardı ve dpkg-yeniden yapılandırma yerel ayarlar, yerel ayar-gen, hakkında her zamanki tavsiye yardımcı olmadı. Çevre değişkenleri ile biraz oynadım ve bulduğum şey, sistemin LC_CTYPEçevre değişkeni üzerinde çalıştığıydı ! UTF-8bunun için geçerli bir değer değil. Düzeltmek için ayarlama en_US.UTF-8.

Değişimi kalıcı hale getirmek için koştum

update-locale LC_CTYPE=en_US.UTF-8

hangi yazıyor /etc/default/locale. Ve sonra tamamen etkili olması için sistemi yeniden başlatın.


Ne yazık ki, bu verirperl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). *** update-locale: Error: invalid locale settings: LC_CTYPE=en_US.UTF-8
aexl

2

Bunu daha önce eski Debian kurulumlarında gördüm ve sinir bozucu olsa da, hiçbir zaman soruna neden olduğunu görmedim.

Eğer

  /usr/bin/locale 

eksikse (root olarak) deneyin:

  apt-get install libc-bin

/ usr / bin / locale sağlayan libc-bin'i yüklemelidir.

Sshd_config dosyanızdaki bu AcceptEnv satırı oldukça standarttır ve buradaki sorunun nedeni olmamalıdır.


libc-bin zaten kurulmuş, bu yüzden güncelledim ve dpkg-reconfigure localestekrar çalıştırmayı denedim . Sevinç yok :(
blogjunkie

/ Usr / bin / locale şimdi var mı? Eğer öyleyse, çıktısı locale -anedir : ve içinde ne var /etc/default/locale?
Chad Feller

`/ Etc / default / locale 'içeriği: # update-locale tarafından oluşturulan dosya LANG = en_US.UTF-8
blogjunkie

locale -averir: yerel ayar: LC_CTYPE varsayılan yerel ayar olarak ayarlanamıyor: Böyle bir dosya veya dizin yok C en_US.utf8 POSIX
blogjunkie

apt, libc-bin'in kurulu olduğunu iddia ediyordu, ancak en az bir dosya eksikti (/ usr / bin / locale) ve libc-bin'in yeniden yüklenmesi bunu düzeltmiş gibi görünüyor. Deneyebilir apt-get install --reinstall localesmisin? Ardından, iyi bir önlem için, locale-genönerilmeyen tüm yerel ayarları yeniden oluşturacak şekilde deneyin /etc/locale.gen(böyle bir çizginiz olmalıdır en_US.UTF-8 UTF-8). Bundan sonra locale -aişe yarayıp yaramadığına bakın .
Chad Feller

2

Aşağıdaki, Manoj olarak yaptı, ancak # ~ / .bashrc'ye ekledi:

export LC_ALL=en_US.utf8
export LANGUAGE=en_US.utf8

1

Uzaktaki bir sisteme ssh yaparken hata alıyorsanız ve uzaktaki sistemi değiştirmek istemiyorsanız (örneğin, sshd_config öğesini değiştirerek) yerel sisteminizde (bash varsayarak) aşağıdakileri yapabilirsiniz

export LC_ALL=en_US
export LANGUAGE=en_US

ve sonra ssh user@remote


1

Yeni Debian kurulumumda (minimum) yerel ayarlar tamamen eksikti. Yüklemek ( aptitude install locales) ve çalışan locale-genhile yaptı. Çocuklar, Chad Feller'in belirttiği gibi yapın ama önce paketin localeskurulu olup olmadığını kontrol edin .


0

Ssh in /etc/ssh/sshd_config( UsePAM no) için PAM kimlik doğrulamasını devre dışı bıraktıysanız , içindeki sorumlu yapılandırma /etc/pam.d/loginetkili olmaz:

session required pam_env.so readenv=1 envfile=/etc/default/locale

Sonuç: /etc/default/localehiçbir etkisi yok gibi görünüyor.

Eğer LANG vars göndermek veya env gibi profil komut vars ihracat istemcinizi yapılandırmanız Yani ~/.profile, ~/bashrcvb

Daha fazla: http://wiki.debian.org/Locale#Standard


0

Almanca VPS kullanıyordum ve yüklü bir İngilizce dil paketi olmadığından yerel ayarları değiştiremedim.

Yükledikten sonra sonunda yerel ayarları değiştirebilirim

aptitude install language-pack-en

0

Debian sistemlerinde bu sorununuzu çözecektir:

apt-get install locales-all

Ubuntu sistemlerinde belirli bir dil paketi yükler, örneğin:

apt-get install language-pack-en

locale-gen en_US.UTF-8


0

Yeni bir Debian 10 kurulumuna bağlanan Mac. Yığın Değişimi'nin her yerinde Google'a gönderilen yanıtların hiçbiri yardımcı olmadı. İşte ne yaptı (ve aynı zamanda basit ve güvenilirdi):

sed -i "s/^AcceptEnv/#AcceptEnv/g" /etc/ssh/sshd_config

Debian kutunuzda çalıştırın ve bağlanan mac terminalinin sunucu yerel ayarlarını bozmasını engeller ( daha fazla bilgi ).

Bonus olarak, bu bile sunucunun güvenliğini artırabilir .

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.