Відповіді:
Я розміщую таку локальну настройку, що стосується /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. Коли ви переходите до скриньки 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.
Сподіваюся, це допомагає :)
Якщо ви використовували 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
Подивіться, чи це змушує все перестати скаржитися на місцевості!
/etc/profile.d/lang.shа не до того,/etc/bashrcяке, ймовірно, буде перезаписане оновленням.