Відповіді:
Я розміщую таку локальну настройку, що стосується /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
яке, ймовірно, буде перезаписане оновленням.