Чому я отримую "Не вдалося встановити локаль, дефолт - C" під час використання yum?


21

Кожен раз, коли бігаю yum installабо yum update, я отримую

Не вдалося встановити локаль, дефолт - C

а потім інша інформація.

Як я можу уникнути отримання цього попередження?

Відповіді:


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і це спрацювало 👍.
Ендрю Кітон

6

Біжи

yum reinstall glibc-common

а потім переконайтесь, що жоден процес не видаляє файли /usr/lib/locale/locale-archive.*.


1
Я спробував це першим, і це допомагає мені (не перевіряли процес)
chro

Це не працює для мене.
Анджело

3
У нових дистрибутивах Linux Red Hat (Fedora 24+, RHEL 8+) це буде glibc-langpack-<language>, наприклад glibc-langpack-en.
Майкл Хемптон

На зображенні Docker Centos є повідомлення про помилку: bugzilla.redhat.com/show_bug.cgi?id=1392855
Rowinson Gallego

2

Ви можете спробувати

export LANG=en_US

Або встановити його на щось подібне. Якщо це вирішить проблему для вас, ви можете зробити її стійкою, змінивши профіль bash.


Це не працювало для мене. Будь-які інші пропозиції
ctilley79

2

Я отримував таку ж помилку на MacOS. Коли ви переходите до скриньки linux, вони відмовляються від налаштування UTF-8локалі. Ви можете побачити відмінності в налаштуваннях локальної мови, виконавши localeкоманду на вашому терміналі MacOS та вікні Linux.

Щоб виправити цю помилку, відкрийте термінал -> уподобання -> профілі -> Розширено та вимкнено Set locale environment variables on startupваш комп'ютер.

Тепер, коли ти працюєш localeна mac. ви можете бачити, що ця зміна встановлена, LC_CTYPE="C"що було LC_CTYPE="UTF-8"з попередніми налаштуваннями.

вам доведеться закрити свій термінал, щоб скористатися цим ефектом, і тепер увійдіть у свій linux box та запустіть yum update.

Сподіваюся, це допомагає :)


2

Якщо ви використовували SSH для підключення до цього хоста з настільної машини, його зазвичай прийнято /etc/ssh/sshd_configмістити

AcceptEnv LANG LC_*

що дозволяє клієнтам поширювати значення цих змінних середовища в нові сеанси. Однак це призведе до того, що змінні локалі будуть повернені порожніми протягом вашого сеансу SSH на налаштованому сервері, якщо локаль спочатку не правильно встановлений НА ВАШІЙ МАШИНИ ДЕКСТОПУ .

Виправити:

Наприклад, у вікні оболонки Ubuntu Windows 10 спочатку зробіть ( ПРИМІТКА: змініть всі записи нижче, щоб вони відповідали вашій локальній точці, якщо це не "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

Подивіться, чи це змушує все перестати скаржитися на місцевості!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.