ฉันจะลบชุดภาษาทั้งหมดที่ไม่ต้องการได้อย่างไร


12

ฉันเพิ่งสังเกตเห็นว่าใน/usr/share/helpฉันมี ubuntu ช่วยเหลือไฟล์ใน 70 ภาษาที่แตกต่างกัน ฉันพูดแค่ 2 และฉันคำนวณได้ในที่เดียว ฉันยังสังเกตเห็นว่ามันเต็มไปด้วยลิงก์สัญลักษณ์ที่แตกไปยัง / usr / share / help-langpack

ฉันต้องการเพียงแค่กำจัดทุกภาษาที่ฉันไม่ต้องการ ฉันจะทำสิ่งนี้โดยไม่ได้รับrm -rความสุขได้อย่างไร ฉันกำลังมองหาวิธีการทำเช่นนี้โดยไม่ต้องติดตั้งแพ็กเกจใหม่เนื่องจากเป้าหมายหลักของฉันคือการกำจัดสิ่งต่าง ๆ บนเครื่องของฉัน ฉันต้องการหาวิธีการทำเช่นนี้โดยเฉพาะอย่างยิ่งกับ dpkg หรือฉลาด


1
symlink เหล่านั้นเป็นส่วนหนึ่งของการตั้งค่าโดยมีจุดประสงค์เพื่อหลีกเลี่ยงการติดตั้งไฟล์ช่วยเหลือในทุกภาษาในทุกเครื่อง ดังนั้นใช่มีลิงก์ที่ 'เสีย' ค่อนข้างน้อย แต่นั่นดีกว่าไฟล์วิธีใช้ใช่ไหม คำแนะนำของฉัน: อย่ารำคาญ symlink เป็นของแพ็คเกจต่าง ๆ และหากคุณลบออกมันจะปรากฏขึ้นอีกครั้งในครั้งถัดไปที่มีการอัพเดทแพ็คเกจ
Gunnar Hjalmarsson

คำตอบ:


11


คุณสามารถตรวจสอบสถานที่ที่จะสร้างและกำหนดค่าในระบบของคุณโดยใช้คำสั่งสถานที่:

  • locale ... แสดงรายการคอนฟิกูเรชันโลแคลปัจจุบัน
  • locale -a ... แสดงรายการโลแคลทั้งหมดที่สร้างขึ้นในระบบของคุณ
  • locale -a -v ... แสดงรายการตำแหน่งที่ตั้งทั้งหมดและแสดงข้อมูลเพิ่มเติมที่เป็นประโยชน์ (เช่นชื่อไดเรกทอรีที่มีไฟล์ข้อมูลสถานที่เกิดเหตุ)

คำสั่งสุดท้ายจากด้านบนทำให้คุณเห็นว่าสถานที่ที่สร้างขึ้นทั้งหมดตั้งอยู่ใน/usr/lib/locale/คุณอาจลบสถานที่ใด ๆ หากไม่จำเป็น ข้อมูลโลแคลแต่ละชุดคือไดเร็กทอรีที่มีไฟล์ข้อความและไดเร็กทอรีอื่น

/var/lib/locales/supported.d/สถานที่ทั้งหมดที่คุณต้องการให้ระบบของคุณเพื่อสนับสนุนมีอยู่ในไฟล์ข้อความใน ไฟล์เหล่านี้มีสองคอลัมน์แท็กภาษาและการแม็พอักขระ

ฉันต้องการให้ระบบของฉันรู้ว่าเป็นภาษาอังกฤษแบบสหรัฐอเมริกาเท่านั้นดังนั้นฉันจึงมีเพียงไฟล์เดียวที่เรียกว่า en ซึ่งมีเพียงบรรทัดเดียว:

en_US UTF-8

ข้อความแสดง
ข้อผิดพลาดหากข้อความแสดงข้อผิดพลาดปรากฏขึ้นเมื่อออกคำสั่ง locale เช่น:

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

ตรวจสอบให้แน่ใจว่าไฟล์นั้น/etc/default/localeมีอยู่และมีเนื้อหาที่เหมาะสมเช่น:

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

กำจัดข้อมูลสถานที่ที่ไม่จำเป็น - ทีละขั้นตอน

ตอนนี้เรารู้รายละเอียดที่จำเป็นทั้งหมดเพื่อเริ่มต้นทำความสะอาดข้อมูลตำแหน่งที่ตั้งของระบบของเรา:

  1. แก้ไขไฟล์ locale ใน/var/lib/locales/supported.d/และลบ locale ที่ไม่จำเป็นทั้งหมด (หนึ่ง locale ต่อบรรทัด)
  2. สร้างและแก้ไข/etc/default/locale(ดูตัวอย่างด้านบน)
  3. ลบข้อมูลสถานที่ที่สร้างทั้งหมด: rm -rfv /usr/lib/locale/*
  4. สร้างสถานที่ใหม่อีกครั้ง: locale-gen

นั่นคือทั้งหมด! รีบูตเครื่องเพื่อให้การเปลี่ยนแปลงของคุณมีผล จากนั้นรันตัวอย่างคำสั่ง locale อย่างน้อยหนึ่งตัวอย่างจากด้านบนเพื่อให้แน่ใจว่าผลลัพธ์นั้นเป็นไปตามที่คาดไว้

~# 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

มีแพคเกจสำหรับ Debian / Ubuntu ที่สามารถดูแลสถานที่และสถานที่เกิดเหตุการลบไฟล์ที่เกี่ยวข้อง (เช่นหน้าคน) localepurgeเป็น: คุณสามารถติดตั้ง / เรียกใช้ปัญหา:

sudo apt-get install localepurge

เมื่อติดตั้งแล้วคุณควรเรียกใช้สิ่งนี้:

dpkg --configure localepurge

เพื่อให้การตั้งค่าภาษาของคุณถูกต้อง

เพื่อเรียกใช้ด้วยตนเองเมื่อติดตั้งแล้ว (แม้ว่าคุณไม่จำเป็นต้องทำตามที่ควรรันหลังจากdpkgรันทุกครั้งโดยอัตโนมัติ) คุณสามารถทำได้:

sudo localepurge

อ่านคู่มือก่อนใช้งาน หากคุณสามารถทำสิ่งต่างๆให้เสร็จได้โดยไม่ต้องปล่อยให้ไปอย่างปลอดภัย

จากฟอรัมนี้

อ้างอิง:
1 LocaleConf ในเอกสารอย่างเป็นทางการ
2. หน้าคนลินุกซ์
3. สถานที่ใน wikipeadia
4. คน localepurge


ขอบคุณสำหรับคำแนะนำหากฉันไม่สามารถหาวิธีการที่มีสิ่งที่ติดตั้งบนคอมพิวเตอร์ของฉันฉันจะใช้มัน
blank_cat

1
@knotech ทำไมคุณไม่ติดตั้งรันและถอนการติดตั้ง ไม่แน่ใจว่าทำไมคุณถึงตกใจเกี่ยวกับการติดตั้งแพ็คเกจ
Brian Graham

1
@knotech โปรดดูเอกสารอย่างเป็นทางการhelp.ubuntu.com/community/LocaleConf
αғsнιη

ขออภัยฉันไม่คิดว่า localpurge จะตอบคำถามของ OP ในทางใดทางหนึ่ง
Gunnar Hjalmarsson

1
OP ถามถึงแพ็คภาษา ... แต่สมมติว่าเขาสนใจที่จะลบสถานที่ซ้ำซ้อนเช่นกันทำไมต้องติดตั้ง localpurge ทำไมไม่เพียงlocale-gen --purge?
Gunnar Hjalmarsson

3

ในฐานะที่เป็นเรื่องที่เกี่ยวกับภาษาที่ติดตั้งจริงไปที่การตั้งค่าระบบ -> ภาษาที่รองรับและคลิกติดตั้ง / Remove ภาษา ...ปุ่ม จากนั้นให้ยกเลิกการเลือกภาษาที่คุณไม่ต้องการ

เกี่ยวกับการเชื่อมโยง/usr/share/helpโปรดดูความคิดเห็นของฉันในคำถามของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.