डेबियन निचोड़ में स्थानीय सेटिंग्स को कैसे ठीक करें


17

मुझे कभी-कभी स्थानीय त्रुटियां मिलती हैं और मैंने समस्या को ठीक करने के लिए dpkg-reconfigure स्थानों को चलाने की कोशिश की है। यहाँ उत्पादन है:

:~$ 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 की तलाश की लेकिन यह मेरे सिस्टम पर मौजूद नहीं है। क्या मुझे इसे बनाने की आवश्यकता है? मैं वहाँ क्या डालूँ?

इसके अलावा मुझे एक संबंधित प्रश्न मिला जो कहता है कि उसकी समस्या का कारण sshd_config फ़ाइल में था। फ़ाइल में निम्न प्रविष्टि थी:

AcceptEnv LANG LC_*

मैं मुख्य रूप से चिंतित हूँ कि यह मेरे VPS के लिए समस्याएँ पैदा कर सकता है, अन्यथा यदि यह कुछ भी प्रमुख नहीं है तो मुझे समस्या को अनदेखा करने में खुशी होगी। मुझे क्या करना चाहिए? धन्यवाद!


यह एक ही समस्या (LC_CTYPE = UTF-8, जो गलत है) तब हो सकती है जब आप एक मैक से एक लिनक्स बॉक्स में ssh पर लॉगिन करते हैं, और आपका टर्मिनल स्वतः ही पर्यावरण चर सेट करता है। उसके लिए एक चेकबॉक्स है। इसे अनचेक करें, और आप जाने के लिए अच्छे हैं। ITerm में यह प्रोफाइल में है-> टर्मिनल टैब।
raarts

कुछ डेबियन आधारित वितरण (उबंटू सहित) के साथ एक बग प्रतीत होता है। Fr_FR.UTF-8 का उपयोग समस्याएं दे रहा था (और स्थान मौजूद था)। कर रहा है locale-gen frसभी fr स्थानों का निर्माण होगा (fr_BE, fr_CH आदि ...) इस मुद्दे को हल करता है। शायद कोशिश करेंlocale-gen en
एंटनी गिब्स

जवाबों:


10

प्रथम:

sudo apt-get purge locales

फिर:

sudo aptitude install locales

और प्रसिद्ध:

sudo dpkg-reconfigure locales

यह स्थानों की प्रणाली को फिर से बनाता है, फिर स्थानों को फिर से स्थापित करता है और 2.19 से 2.13 तक libc6 को डाउनग्रेड करता है जो कि मुद्दा है। फिर स्थानों को फिर से कॉन्फ़िगर करता है।


मेरे पास ठीक यही समस्या है। तो इस उत्तर और जेसी रिपॉजिटरी सहित, मैं localesडाउनग्रेड के बिना स्थापित कर सकता हूं libc6
shgnInc

इसने मदद नहीं की
13

8

यदि ऐसा आपके बॉक्स में SSHing के दौरान होता है, लेकिन कंसोल पर नहीं, तो अपने ssh क्लाइंट (आपके स्थानीय मशीन पर) को पुन: कॉन्फ़िगर करने का प्रयास करें । उदाहरण के लिए Mac OS X पर / निजी / etc / ssh_config संपादित करें और टिप्पणी करें

# SendEnv LANG LC_*

रासबेरी पाई बुलेटिन बोर्ड पर ब्रेडमैन के पद के लिए धन्यवाद ।


यह फ़ाइल अब: / निजी / आदि / ssh / ssh_config
b4d

7

मुझे लंबे समय से यह समस्या थी और सभी सामान्य सलाह के बारे में dpkg-reconfigure स्थानों, लोकेल-जीन आदि ने मदद नहीं की। इसलिए मैंने पर्यावरण चर के साथ थोड़ा सा खेला, और मुझे जो मिला वह यह था कि सिस्टम LC_CTYPEपर्यावरण चर पर बोर हो रहा था ! UTF-8इसके लिए एक वैध मूल्य नहीं है। इसे en_US.UTF-8तय करने के लिए इसे स्थापित करना ।

परिवर्तन को स्थायी बनाने के लिए, मैं भाग गया

update-locale LC_CTYPE=en_US.UTF-8

जो लिखता है /etc/default/locale। और फिर इसके लिए पूरी तरह से प्रभावी होने के लिए सिस्टम को रिबूट करें।


दुर्भाग्य से, यह पैदावार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"). *** update-locale: Error: invalid locale settings: LC_CTYPE=en_US.UTF-8
aexl

2

मैंने पहले पुराने डेबियन इंस्टॉल पर यह देखा है, और परेशान करते हुए, मैंने कभी नहीं देखा कि यह एक समस्या का कारण है।

अगर

  /usr/bin/locale 

गायब है, कोशिश करो (जड़ के रूप में):

  apt-get install libc-bin

कि libc- बिन, / usr / bin / locale को स्थापित करना चाहिए।

आपके sshd_config में वह AcceptEnv लाइन बहुत मानक है, और यहाँ आपकी समस्या का कारण नहीं होना चाहिए।


libc-bin पहले से ही इंस्टॉल था, इसलिए मैंने इसे अपडेट किया और dpkg-reconfigure localesफिर से चलाने की कोशिश की । कोई खुशी नहीं :(
blogjunkie

क्या / usr / बिन / स्थानीय अब मौजूद है? यदि हां, तो इसका आउटपुट locale -aक्या है : और इसमें क्या है /etc/default/locale?
चाड फेलर

`/ Etc / डिफ़ॉल्ट / लोकेल 'की सामग्री: # अपडेट-लोकेल LANG =
en_US.UTF

locale -aमुझे देता है: स्थान: डिफ़ॉल्ट लोकेल में LC_CTYPE सेट नहीं कर सकता: ऐसी कोई फ़ाइल या निर्देशिका C en_US.utf8 POSIX
blogjunkie

apt यह दावा कर रहा था कि libc-bin इंस्टॉल किया गया था, लेकिन कम से कम एक फ़ाइल गायब थी (/ usr / bin / locale), और libc-bin को पुनर्स्थापित करने से लगता है कि इसे ठीक कर दिया गया है। क्या आप कोशिश कर सकते हैं apt-get install --reinstall locales? फिर, अच्छे उपाय के लिए, प्रयास करें locale-gen, जो किसी भी ऐसे स्थान को पुन: उत्पन्न करेगा जो कि /etc/locale.genआप में असुविधाजनक है (आपके पास एक पंक्ति जैसी होनी चाहिए en_US.UTF-8 UTF-8)। इसके बाद, देखें कि क्या locale -aकाम करता है।
चाड फेलर

2

मनोज के रूप में निम्न कार्य किया, लेकिन इसे # ~ / .bashrc में जोड़ा:

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

1

यदि आपको दूरस्थ सिस्टम पर ssh'ing करते समय त्रुटियाँ मिल रही हैं, और दूरस्थ सिस्टम को संशोधित नहीं करना चाहते हैं (उदाहरण के लिए sshd_config को बदलकर), तो आप अपने स्थानीय सिस्टम पर निम्नलिखित कार्य कर सकते हैं (bash मानकर)

export LC_ALL=en_US
export LANGUAGE=en_US

और फिर ssh user@remote


1

मेरे ताज़ा डेबियन इंस्टॉलेशन (न्यूनतम) स्थान पूरी तरह से गायब थे। इसे स्थापित ( aptitude install locales) और चल रहा है locale-gen, हालांकि चाल। तो दोस्तों, जैसा कि चाड फेलर ने उल्लेख किया है, लेकिन localesपहले स्थापित किए गए पैकेज की जांच करें ।


0

यदि आपने sAM के लिए PAM प्रमाणीकरण अक्षम कर दिया है /etc/ssh/sshd_config( UsePAM noतो जिम्मेदार कॉन्फ़िगरेशन /etc/pam.d/loginप्रभावी नहीं है:

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

परिणाम: /etc/default/localeलगता है कि कोई प्रभाव नहीं है।

आप LANG वार्स भेज सकते हैं या निर्यात env तरह प्रोफ़ाइल लिपियों में वार्स के लिए अपने ग्राहक को कॉन्फिगर करना तो ~/.profile, ~/bashrcआदि

अधिक: http://wiki.debian.org/Locale#Standard


0

मैं जर्मन VPS का उपयोग कर रहा था और स्थान परिवर्तन नहीं कर सकता था क्योंकि कोई अंग्रेजी भाषा पैक स्थापित नहीं था।

स्थापित करने के बाद मैं अंत में लोकेल बदल सकता था

aptitude install language-pack-en

0

डेबियन सिस्टम पर यह आपकी समस्या का समाधान करेगा:

apt-get install locales-all

उदाहरण के लिए, Ubuntu सिस्टम विशिष्ट भाषा पैक स्थापित करता है:

apt-get install language-pack-en

locale-gen en_US.UTF-8


0

मैक एक ताजा डेबियन 10 स्थापित करने के लिए कनेक्ट। स्टाॅक एक्सचेंज ने जो जवाब दिए, उनमें से किसी ने भी मदद नहीं की। यहाँ क्या किया (और सीधा और विश्वसनीय भी था):

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

इसे अपने डेबियन बॉक्स पर चलाएं और यह कनेक्ट हो रहे मैक टर्मिनल को सर्वर लोकेशन ( अधिक जानकारी ) को मैसेज करने से रोक देगा ।

एक बोनस के रूप में, जो कि सर्वर की सुरक्षा में भी सुधार कर सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.