मैं उन सभी भाषा पैक्सों को हटाने के बारे में क्या कहूँगा जिनकी मुझे आवश्यकता नहीं है


12

मैंने अभी देखा कि /usr/share/helpमेरे पास 70 अलग-अलग भाषाओं में ubuntu help files है। मैं केवल 2 बोलता हूं, और मैं केवल एक में ही गणना करता हूं। मैंने यह भी देखा कि यह टूटी हुई प्रतीकात्मक कड़ियों से भरा हुआ है / usr / share / help-langpack।

मैं केवल उन सभी भाषाओं से छुटकारा पाना चाहता हूं जिनकी मुझे आवश्यकता नहीं है। बिना सब rm -rखुश हुए मैं यह कैसे कर सकता हूं? मैं अधिमानतः किसी नए पैकेज को स्थापित किए बिना ऐसा करने का एक तरीका ढूंढ रहा हूं, क्योंकि मेरा मुख्य लक्ष्य मेरी मशीन पर अतिरिक्त सामान से छुटकारा पाना है। मैं dpkg, या apt के साथ अधिमानतः ऐसा करने का एक तरीका खोजना चाहता हूं।


1
सभी मशीनों पर सभी भाषाओं में मदद फ़ाइलों को स्थापित करने से बचने के उद्देश्य से उन सीमलिंक एक सेटअप का हिस्सा हैं । तो हाँ, वहाँ कुछ 'टूटी हुई' सहानुभूति है, लेकिन यह मदद फ़ाइलों से बेहतर है, है ना? मेरी सलाह: परेशान मत करो सिम्बलिंक्स विभिन्न पैकेजों के हैं, और यदि आप उन्हें हटाते हैं, तो वे अगली बार संबंधित पैकेज अपडेट होने पर फिर से दिखाई देंगे।
गुन्नार हेजलरमसन

जवाबों:


11


आप स्थानीय कमांड का उपयोग करके अपने सिस्टम पर कौन से स्थान जेनरेट और कॉन्फ़िगर किए गए हैं, इसकी जांच कर सकते हैं:

  • स्थानीय ... वर्तमान स्थानीय विन्यास को सूचीबद्ध करें
  • locale -a ... उन सभी स्थानों को सूचीबद्ध करता है जो आपके सिस्टम पर उत्पन्न हुए थे
  • locale -a -v ... सभी स्थानों को सूचीबद्ध करें और उपयोगी अतिरिक्त जानकारी दिखाएं (जैसे निर्देशिका नाम जिसमें स्थानीय जानकारी डेटा फ़ाइलें हैं)

ऊपर से अंतिम कमांड आपको यह दिखाती है कि सभी जेनरेट किए गए स्थान अंदर स्थित हैं /usr/lib/locale/, यदि आप अनावश्यक हैं तो आप उनमें से किसी को भी हटा सकते हैं। स्थानीय जानकारी का प्रत्येक पैक एक निर्देशिका है जिसमें पाठ फ़ाइलें और अन्य निर्देशिकाएं होती हैं।

वे सभी स्थान जो आप अपने सिस्टम को समर्थन देना चाहते हैं, पाठ फ़ाइलों में सूचीबद्ध हैं /var/lib/locales/supported.d/। इन फ़ाइलों में दो कॉलम, भाषा टैग और चरित्र मानचित्र हैं।

मैं चाहता हूं कि मेरी प्रणाली केवल यूएस-इंग्लिश जानने के लिए है, इसलिए मेरे पास वहां केवल एक ही फाइल है, जिसे एन कहा जाता है, जिसमें सिर्फ एक लाइन है:

en_US UTF-8

त्रुटि संदेश
यदि त्रुटि संदेश स्थानीय कमांड जारी करते समय प्रदर्शित किए जाते हैं, जैसे:

locale: Cannot set LC_ALL to default locale: No such file or directory

सुनिश्चित करें कि फ़ाइल /etc/default/localeमौजूद है और उचित सामग्री है, जैसे:

LANG="en_US"
LANGUAGE="en_US:en"

अनावश्यक लोकेल डेटा से छुटकारा पाएं - चरण दर चरण

अब हम अपने सिस्टम की स्थानीय जानकारी को साफ करने के साथ शुरू करने के लिए सभी आवश्यक विवरण जानते हैं:

  1. लोकेल फ़ाइल को संपादित करें /var/lib/locales/supported.d/और सभी अनावश्यक स्थानों को हटा दें (प्रति पंक्ति एक स्थान)
  2. बनाएं और संपादित करें /etc/default/locale(उदाहरण के लिए ऊपर देखें)
  3. सभी उत्पन्न लोकेल डेटा हटाएं: rm -rfv /usr/lib/locale/*
  4. नए स्थान पुनः बनाएँ: locale-gen

बस इतना ही! अपने परिवर्तनों को प्रभावी बनाने के लिए अपनी मशीन को रिबूट करें। फिर अपने आप को यह सुनिश्चित करने के लिए ऊपर से एक या अधिक लोकेल कमांड उदाहरण चलाएं कि परिणाम अपेक्षित है।

~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
~# 
~# locale -a -v
locale: en_US.utf8      directory: /usr/lib/locale/en_US.utf8
-------------------------------------------------------------------------------
    title | English locale for the USA
   source | Free Software Foundation, Inc.
  address | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
    email | bug-glibc-locales@gnu.org
 language | English
territory | USA
 revision | 1.0
     date | 2000-06-24
  codeset | UTF-8

डेबियन / उबंटू के लिए एक पैकेज है जो स्थान और लोकेल से संबंधित फ़ाइलों (जैसे मैन पेज) को हटाने का ध्यान रख सकता है localepurge:। आप इसे जारी कर सकते हैं / चला सकते हैं:

sudo apt-get install localepurge

एक बार स्थापित होने के बाद, आपको इसे चलाना चाहिए:

dpkg --configure localepurge

यह सुनिश्चित करने के लिए कि आपकी भाषा सेटिंग सही ढंग से सेट हैं।

एक बार इंस्टॉल होने के बाद इसे मैन्युअल रूप से चलाने के लिए (हालांकि आपको वास्तव में इसकी आवश्यकता नहीं होनी चाहिए क्योंकि इसे हर dpkgदौड़ के बाद स्वचालित रूप से चलना चाहिए )

sudo localepurge

हालांकि उपयोग करने से पहले मैन पेज पढ़ें। यदि आप अपने सामान को बिना करवा सकते हैं तो शायद जाने देना ज्यादा सुरक्षित है।

इस मंचों से

रेफरी:
1. आधिकारिक दस्तावेज पर LocaleConf
2. लिनक्स मैन पेज
3. विकिपेडिया पर लोकेल
4. आदमी स्थानीय


सुझाव के लिए धन्यवाद, अगर मुझे ऐसा करने का कोई तरीका नहीं मिल रहा है जो मेरे कंप्यूटर पर पहले से इंस्टॉल है, तो मैं निश्चित रूप से इसका उपयोग करूंगा।
कंबल_काट

1
@knotech क्यों आप इसे स्थापित नहीं करते हैं, इसे चलाएं और इसे अनइंस्टॉल करें। निश्चित नहीं है कि पैकेज स्थापित करने के बारे में आपका झुकाव क्यों है।
ब्रायन ग्राहम

1
@knotech आधिकारिक दस्तावेज़ देखें help.ubuntu.com/community/LocaleConf
α atsнιη

क्षमा करें, लेकिन मुझे नहीं लगता कि लोकलपराइज ओपी प्रश्नों को किसी भी तरह से संबोधित करता है।
गुन्नार हेजलरमसन

1
ओपी ने भाषा पैक के बारे में पूछा ... लेकिन यह मानते हुए कि वह निरर्थक स्थानों को हटाने में रुचि रखता है, स्थानीयकरण क्यों स्थापित करें? सिर्फ क्यों नहीं locale-gen --purge?
गुन्नार हेजलरमसन

3

जैसा कि वास्तव में स्थापित भाषाओं का संबंध है, सिस्टम सेटिंग -> भाषा समर्थन पर जाएं और इंस्टॉल / निकालें भाषा ... बटन पर क्लिक करें। फिर उन भाषाओं को अनचेक करें जिनकी आपको आवश्यकता नहीं है।

जहां तक ​​सहानुभूति का संबंध है /usr/share/help, कृपया अपने प्रश्न पर मेरी टिप्पणी देखें।

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