ทุกครั้งที่ผมทำงานyum install
หรือyum update
ที่ฉันได้รับ
ไม่สามารถตั้งค่าภาษาได้โดยตั้งค่าเริ่มต้นเป็น C
แล้วข้อมูลอื่น ๆ
ฉันจะหลีกเลี่ยงการรับคำเตือนนี้ได้อย่างไร
ทุกครั้งที่ผมทำงานyum install
หรือyum update
ที่ฉันได้รับ
ไม่สามารถตั้งค่าภาษาได้โดยตั้งค่าเริ่มต้นเป็น C
แล้วข้อมูลอื่น ๆ
ฉันจะหลีกเลี่ยงการรับคำเตือนนี้ได้อย่างไร
คำตอบ:
ฉันใส่การตั้งค่าภาษาต่อไปนี้ที่เกี่ยวข้องใน/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
หรือออกจากระบบและเข้าสู่ระบบ
lang.sh
แล้วก็ใช้งานได้👍
วิ่ง
yum reinstall glibc-common
จากนั้นตรวจสอบให้แน่ใจว่าไม่มีกระบวนการใดกำลังลบไฟล์ /usr/lib/locale/locale-archive.*
glibc-langpack-<language>
glibc-langpack-en
คุณสามารถลอง
export LANG=en_US
หรือตั้งเป็นสิ่งที่คล้ายกัน หากวิธีนี้แก้ไขปัญหาให้คุณได้คุณสามารถแก้ไขได้ด้วยการแก้ไขโปรไฟล์ bash
ฉันได้รับข้อผิดพลาดเดียวกันใน MacOS เมื่อคุณ ssh ไปที่กล่อง linux พวกเขาปฏิเสธที่จะตั้งค่าUTF-8
ภาษา คุณสามารถเห็นความแตกต่างในการตั้งค่าโลแคลโดยเรียกใช้locale
คำสั่งบนเทอร์มินัล MacOS และกล่อง Linux
หากต้องการแก้ไขข้อผิดพลาดนี้ให้เปิดเทอร์มินัล -> การตั้งค่า -> โปรไฟล์ -> ขั้นสูงและยกเลิกการตั้งค่าSet locale environment variables on startup
บน mac ของคุณ
ตอนนี้เมื่อคุณเรียกใช้locale
บน mac คุณจะเห็นว่าการเปลี่ยนแปลงนี้ได้ตั้งค่าไว้LC_CTYPE="C"
ซึ่งเป็นการLC_CTYPE="UTF-8"
ตั้งค่าก่อนหน้า
yum update
คุณจะต้องปิดสถานีของคุณจะมีผลนี้และตอนนี้เข้าสู่ระบบไปยังกล่องลินุกซ์และการทำงานของคุณ
หวังว่าจะช่วย :)
หากคุณใช้ SSH เพื่อเชื่อมต่อกับโฮสต์นี้จากเครื่องเดสก์ท็อปเป็นเรื่องปกติที่/etc/ssh/sshd_config
จะมี
AcceptEnv LANG LC_*
ซึ่งอนุญาตให้ไคลเอนต์เผยแพร่ค่าของตัวแปรสภาพแวดล้อมเหล่านั้นไปยังเซสชันใหม่ แต่นี้จะทำให้ตัวแปรที่เกิดเหตุจะเป็นชุดกลับไปที่ว่างเปล่าภายในเซสชัน SSH ของคุณบนเซิร์ฟเวอร์ที่คุณกำลังกำหนดค่าถ้าสถานที่ไม่ได้เป็นครั้งแรกอย่างถูกต้องตั้งบนเครื่องคอมพิวเตอร์ของคุณ
เพื่อแก้ไข:
ตัวอย่างเช่นในหน้าต่าง Windows 10 Ubuntu Shell ก่อนอื่นให้ทำ ( หมายเหตุ: เปลี่ยนรายการทั้งหมดด้านล่างเพื่อจับคู่โลแคลของคุณหากไม่ใช่ "en_US.UTF-8" ):
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
จากนั้นปิดหน้าต่างเชลล์ Ubuntu และเปิดใหม่จากนั้น SSH ลงในเซิร์ฟเวอร์ที่คุณพยายามกำหนดค่าและดูว่าทุกอย่างเรียบร้อยดีหรือไม่ ...
ถ้าไม่เช่นนั้น 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
ดูว่านั่นทำให้ทุกอย่างหยุดบ่นเกี่ยวกับสถานที่เกิดเหตุ
/etc/profile.d/lang.sh
ได้และไม่/etc/bashrc
น่าจะถูกแทนที่ด้วยการอัปเดต