Tại sao tôi nhận được Lỗi không thể đặt ngôn ngữ, mặc định thành Cv khi sử dụng yum?


21

Mỗi khi tôi chạy yum installhoặc yum update, tôi nhận được

Không thể đặt ngôn ngữ, mặc định là C

và sau đó thông tin khác.

Làm thế nào tôi có thể tránh nhận được cảnh báo này?

Câu trả lời:


19

Tôi đặt cài đặt liên quan đến ngôn ngữ sau đây /etc/bashrc(cho tất cả người dùng, bash):

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

sau đó chạy:

source /etc/bashrc

hoặc đăng xuất và đăng nhập.


2
Điều này có lẽ nên đi vào /etc/profile.d/lang.shvà không /etc/bashrccó khả năng bị ghi đè bởi một bản cập nhật.
ccpizza

@ccpizza Tôi đặt những dòng đó ở dưới cùng lang.shvà nó hoạt động.
Andrew Keeton

6

Chạy

yum reinstall glibc-common

và sau đó đảm bảo rằng không có quá trình nào xóa các tệp /usr/lib/locale/locale-archive.*.


1
Tôi đã thử cái này trước và nó giúp tôi (không kiểm tra quy trình)
chro

Điều này không làm việc cho tôi.
Angelo

3
Trong các bản phân phối Linux dựa trên Red Hat mới hơn (Fedora 24+, RHEL 8+), điều này sẽ có glibc-langpack-<language>, ví dụ glibc-langpack-en.
Michael Hampton

Trong hình ảnh Docker của Centos có một lỗi được báo cáo: bugzilla.redhat.com/show_orms.cgi?id=1392855
Rowinson Gallego

2

Bạn co thể thử

export LANG=en_US

Hoặc đặt nó thành một cái gì đó tương tự. Nếu điều đó giải quyết vấn đề cho bạn, bạn có thể giải quyết vấn đề bằng cách sửa đổi cấu hình bash.


Điều đó đã không làm việc cho tôi. Bất kỳ đề xuất nào khác
ctilley79

2

Tôi đã nhận được cùng một lỗi trên MacOS. Khi bạn ssh đến một hộp linux, họ từ chối thiết lập UTF-8ngôn ngữ. Bạn có thể thấy sự khác biệt trong cài đặt ngôn ngữ bằng cách chạy localelệnh trên thiết bị đầu cuối MacOS và hộp Linux của bạn.

Để khắc phục lỗi này, hãy mở terminal -> Preferences -> profile -> Advanced và unset Set locale environment variables on startuptrên máy mac của bạn.

Bây giờ khi bạn chạy localetrên mac. bạn có thể thấy rằng sự thay đổi này đã đặt ra LC_CTYPE="C"đó là LC_CTYPE="UTF-8"với cài đặt trước đó.

bạn sẽ phải đóng thiết bị đầu cuối của mình để có hiệu ứng này và bây giờ đăng nhập vào hộp linux của bạn và chạy yum update.

Hy vọng nó giúp :)


2

Nếu bạn đã sử dụng SSH để kết nối với máy chủ này từ máy tính để bàn, thì /etc/ssh/sshd_configviệc chứa

AcceptEnv LANG LC_*

cho phép khách hàng tuyên truyền các giá trị của các biến môi trường đó thành các phiên mới. Tuy nhiên, điều này sẽ khiến các biến cục bộ được đặt trở lại trống trong phiên SSH của bạn trên máy chủ mà bạn đang định cấu hình, nếu ngôn ngữ đó trước tiên không được đặt chính xác TRÊN MÁY MÔ TẢ CỦA BẠN .

Sửa chữa:

Ví dụ: trong cửa sổ Windows 10 Ubuntu Shell, trước tiên hãy làm ( LƯU Ý: thay đổi tất cả các mục bên dưới để khớp với ngôn ngữ của bạn nếu đó không phải là "en_US.UTF-8" ):

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

Sau đó, đóng cửa sổ shell Ubuntu và mở lại, sau đó SSH vào máy chủ mà bạn đang cố gắng định cấu hình và xem mọi thứ đã ổn chưa ...

Nếu không, hãy SSH vào máy chủ của bạn và thực hiện:

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

Sau đó nhấn Iđể vào chế độ "chèn". Sau đó dán các mục dưới đây. Sau đó ZZđể lưu và thoát:

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

Sau đó thực hiện như sau:

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

Sau đó:

reboot

Xem nếu điều đó làm cho tất cả mọi thứ ngừng phàn nàn về vars địa phương!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.