यम का उपयोग करते समय मुझे "लोकल सेट करने में विफल, सी के लिए डिफ़ॉल्ट" क्यों मिलता है?


21

हर बार जब मैं दौड़ता हूं yum installया yum updateमुझे मिलता है

सी में डिफ़ॉल्ट, लोकेल सेट करने में विफल

और फिर अन्य जानकारी।

मैं इस चेतावनी को प्राप्त करने से कैसे बच सकता हूं?

जवाबों:


19

मैंने निम्नलिखित लोकेल संबंधित सेटिंग को /etc/bashrcसभी उपयोगकर्ताओं के लिए रखा bash:

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8

फिर भागो:

source /etc/bashrc

या लॉग ऑफ करें और लॉग ऑन करें।


2
यह शायद जाना चाहिए /etc/profile.d/lang.shऔर नहीं /etc/bashrcजो एक अद्यतन द्वारा अधिलेखित होने की संभावना है।
ccpizza

@ccpizza ने उन पंक्तियों को नीचे रखा lang.shऔर यह put काम किया।
एंड्रयू केटॉन

6

Daud

yum reinstall glibc-common

और फिर सुनिश्चित करें कि कोई भी प्रक्रिया /usr/lib/locale/locale-archive.* फ़ाइलों को हटा नहीं रही है।


1
मैंने पहली बार यह कोशिश की और यह मेरे लिए मदद करता है (प्रक्रिया की जांच नहीं की गई है)
जूल

यह मेरे लिए काम नहीं करता है।
एंजेलो

3
नए रेड हैट-आधारित लिनक्स वितरणों में (फेडोरा 24+, आरएचईएल 8+) यह होगा glibc-langpack-<language>, जैसे glibc-langpack-en
माइकल हैम्पटन

Centos Docker छवि में एक बग बताया गया है: Bugzilla.redhat.com/show_bug.cgi?id=1392855
Rowinson Gallego

2

तुम कोशिश कर सकते हो

export LANG=en_US

या इसे कुछ इसी तरह सेट करें। यदि यह आपके लिए समस्या का समाधान करता है, तो आप इसे बैश प्रोफ़ाइल को संशोधित करके लगातार बना सकते हैं।


यह मेरे लिए काम नहीं किया। अन्य कोई सुझाव
ctilley79

2

मुझे MacOS पर वही त्रुटि मिल रही थी। जब आप एक linux बॉक्स में ssh करते हैं, तो वे UTF-8लोकल सेटअप करने से मना कर देते हैं । आप localeअपने MacOS टर्मिनल और लिनक्स बॉक्स पर कमांड चलाकर स्थानीय सेटिंग में अंतर देख सकते हैं ।

इस त्रुटि को ठीक करने के लिए टर्मिनल -> प्राथमिकताएं -> प्रोफाइल -> उन्नत और Set locale environment variables on startupअपने मैक पर परेशान।

अब जब आप localeमैक पर चलते हैं । आप देख सकते हैं कि यह परिवर्तन सेट LC_CTYPE="C"हो गया है जो LC_CTYPE="UTF-8"पिछली सेटिंग के साथ था ।

आपको इस प्रभाव को लेने के लिए अपने टर्मिनल को बंद करना होगा और अब अपने लिनक्स बॉक्स में लॉगिन करें और चलाएं yum update

आशा करता हूँ की ये काम करेगा :)


2

यदि आपने इस होस्ट को डेस्कटॉप मशीन से कनेक्ट करने के लिए SSH का उपयोग किया है, तो /etc/ssh/sshd_configइसमें शामिल होना आम है

AcceptEnv LANG LC_*

जो ग्राहकों को नए सत्रों में उन पर्यावरण चर के मूल्यों को प्रचारित करने की अनुमति देता है। हालाँकि, यह आपके द्वारा कॉन्फ़िगर किए जा रहे सर्वर पर आपके SSH सत्र के भीतर खाली करने के लिए लोकेल वेरिएबल्स को वापस सेट करने का कारण होगा, यदि लोकेल पहले आपके DESKTOP मशीन पर सही ढंग से सेट नहीं है

ठीक करने के लिए:

उदाहरण के लिए, विंडोज 10 उबंटू शेल विंडो में, पहले करें ( नोट: यदि आपके "en_US.UTF-8" नहीं है तो अपने लोकेल से मिलान करने के लिए नीचे दी गई सभी प्रविष्टियाँ बदलें ):

sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales

फिर उबंटू खोल खिड़की बंद करें और फिर से खोलें, और फिर सर्वर में एसएसएच आप कॉन्फ़िगर करने की कोशिश कर रहे हैं और देखें कि क्या सब कुछ अब ठीक है ...

यदि नहीं, तो अपने सर्वर में SSH और करें:

vi /etc/profile.d/custom.lang.sh

फिर I"इन्सर्ट" मोड दर्ज करने के लिए हिट करें। फिर नीचे प्रविष्टियां पेस्ट करें। फिरZZ बचाने और बाहर निकलने के लिए:

## US English ##
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8

फिर निम्नलिखित पर अमल करें:

source /etc/profile.d/lang.sh
source /etc/profile.d/custom.lang.sh

फिर:

reboot

देखें कि क्या सब कुछ लोकल वर्सेज के बारे में शिकायत करना बंद कर देता है!

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