लोकेल नहीं मिली / सेटिंग लोकेल फेल हो गई - मुझे क्या करना चाहिए?


32

मैंने अपने VPS (OpenVZ) पर डेबियन 7 i386 स्थापित किया है। सब कुछ ठीक काम करता है, स्थानों को छोड़कर - कुछ भी शो को स्थापित करने का कोई भी प्रयास:

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

मैंने क्या कोशिश की है:

  1. अपने आप को स्थान बनाना - update-locale LC_ALL="pl_PL.UTF-8"- दिखाता है: http://www.wklej.org/id/1248438/
  2. apt-get install --reinstall locales http://www.wklej.org/id/1248442/
  3. dpkg-reconfigure locales+ सेटिंग के साथ भी pl_PL.UTF-8, pl_PL.ISO-8859-2या यहां तक ​​कि en_US: http://www.wklej.org/id/1248446/
  4. export LC_ALL=pl_PL.UTF-8 (रूट पर भी):

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

यहाँ दिखाया गया है कि स्थान क्या है:

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 में कुछ भी दिलचस्प नहीं मिला। यहां तक ​​कि रेपो को आधिकारिक + पर्स और मैनुअल इंस्टॉलेशन स्थानों में बदलने से मेरी समस्या का समाधान नहीं होता है, जो डेबियन 7 के प्रत्येक नए इंस्टॉलेशन पर स्वयं प्रकट होता है।

जवाबों:


22

ऐसा लगता है कि कोई भी लोकल जनरेट नहीं हुआ है। क्या आपने संबंधित पंक्ति में दबाकर pl_PL.UTF-8ठीक से चयन किया dpkg-reconfigure localesहै space?

यदि हाँ, तो रेखा

pl_PL.UTF-8 UTF-8

में /etc/locale.genटिप्पणी नहीं की जाती है (= के साथ शुरू नहीं होता है #)। यदि आपको इसे ठीक करने की आवश्यकता है, तो आपको locale-genस्थानों को उत्पन्न करने के लिए चलाने की भी आवश्यकता है । इसका आउटपुट होना चाहिए:

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

यदि यह उन स्थानों को आउटपुट नहीं करता है जिन्हें आप उत्पन्न करना चाहते हैं, तो आपके सिस्टम में कुछ गड़बड़ है। एक कारण यह हो सकता है कि आपने localepurgeस्थापित किया है। यदि इसमें कोई फाइल नहीं है /usr/share/locale/pl/LC_MESSAGESया /usr/share/locale/pl_PL/LC_MESSAGESयह मामला है या आपका सिस्टम टूट गया है।


1
यह काम करता हैं! /Etc/locale.gen में चयनित स्थिति पर अभी भी टिप्पणी की गई थी, पता नहीं क्यों (हाँ, मुझे स्पेसबार के बारे में याद है) - शायद CHMOD में कुछ गड़बड़ है। धन्यवाद!
luke_g

1
ध्यान दें कि -plowडिफ़ॉल्ट है, इसलिए छोड़ा जा सकता है। आपको केवल कॉल करने की आवश्यकता है dpkg-reconfigure, जो आपके इच्छित प्रविष्टि को टिक करने के बाद लोकेल-जीन को कॉल करेगा।
स्टीफन चेजेलस

@StephaneChazelas धन्यवाद, मैंने इसे उत्तर से हटा दिया और इसके उपयोग को स्पष्ट किया locale-gen
जोफेल

एक और संभावना यह है कि यदि आपने अपने सिस्टम आदि को en_US के लिए कॉन्फ़िगर /etc/locale.genकिया है, लेकिन आपका केवल अप्रमाणित है en_GB। मैं यहाँ इस सूत्र में इस गलती को देखा unix.stackexchange.com/q/287716/16920 कृपया, यह throubleshoot रणनीति को भी जोड़ सकते हैं।
लेओ लेपोल्ड हर्ट्ज़ o

12

प्रथम:

sudo apt-get purge locales

फिर:

sudo aptitude install locales

और प्रसिद्ध:

sudo dpkg-reconfigure locales

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


मदद करने लगता है लेकिन अगला apt-get dist-upgradeइसे फिर से तोड़ देगा।
छत

इसे क्यों तोड़ेगा? उस बिंदु पर, जिन्हें libc6 का उपयोग नहीं किया जा रहा है, क्या वे स्थान संगत नहीं होने चाहिए? मेरे libc6 को किसी अन्य प्रोग्राम का उपयोग करने के लिए बदल दिया गया था। मैंने इसे डिफ़ॉल्ट libc6 संस्करण में वापस डाउनग्रेड किया है ताकि मेरा सिस्टम ठीक से काम करे। जिस बिंदु पर यह बहुत उपयुक्त होना चाहिए, जो अप-डिस्ट-अप-अपग्रेड के साथ होना चाहिए
tkjef

1
एक apt-get install localesमेरी डोकर डेबियन कंटेनर पर स्थानों स्थापित।
स्टीफन

7

त्वरित और आसान तरीका (हालांकि इसका मतलब होगा कि दूसरों की तुलना में अधिक डिस्क का उपयोग किया जाता है):

apt install locales-all

1

चलाने का प्रयास करें

locale -a

अगर तुम्हें मिला

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

इस स्थिति का समाधान पैकेज लोकेशन (ग्लिबैक पैकेज [1] से) को डेबियन फ्लेवर या ग्लिबक-ऑल-लंगपैक सेंटोस / फेडोरा में स्थापित करना है

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


glibc-localeपैकेज डेबियन में मौजूद नहीं है
याजो

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