Почему при использовании yum появляется сообщение «Не удалось установить языковой стандарт с значением по умолчанию C»?


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.
Майкл Хэмптон

На изображении Centos Docker сообщается об ошибке: bugzilla.redhat.com/show_bug.cgi?id=1392855
Ровинсон Гальего,

2

Можешь попробовать

export LANG=en_US

Или установите это к чему-то подобному. Если это решит проблему для вас, вы можете сделать ее постоянной, изменив профиль bash.


Это не сработало для меня. Любые другие предложения
ctilley79

2

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

Чтобы исправить эту ошибку, откройте терминал -> настройки -> профили -> расширенные и не установлены Set locale environment variables on startupна вашем Mac.

Теперь, когда вы работаете localeна Mac. Вы можете видеть , что это изменение установлено , LC_CTYPE="C"которое было LC_CTYPE="UTF-8"с предыдущей настройкой.

Вы должны будете закрыть свой терминал, чтобы воспользоваться этим эффектом, а затем войдите в свой ящик Linux и запустите yum update.

Надеюсь, это поможет :)


2

Если вы использовали SSH для подключения к этому хосту с настольным компьютером, это общая для /etc/ssh/sshd_configсодержать

AcceptEnv LANG LC_*

что позволяет клиентам распространять значения этих переменных среды в новые сеансы. Однако это приведет к тому, что переменные языкового стандарта будут сброшены обратно в рамках вашего сеанса SSH на сервере, который вы настраиваете, если языковой стандарт сначала не был правильно установлен на вашей машине DESKTOP .

Чинить:

Например, в окне 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

Посмотрите, заставит ли это все прекратить жаловаться на локаль варс!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.