Dlaczego pojawia się komunikat „Nie udało się ustawić ustawień narodowych, domyślnie C” podczas używania yum?

21

Za każdym razem, gdy biegam yum installlub yum updatedostaję

Nie udało się ustawić ustawień narodowych, domyślnie C

a następnie inne informacje.

Jak mogę uniknąć tego ostrzeżenia?

Wyskakuje
źródło

Odpowiedzi:

19

Umieszczam następujące ustawienie dotyczące ustawień regionalnych w /etc/bashrc(dla wszystkich użytkowników bash):

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

następnie uruchomić:

source /etc/bashrc

lub wyloguj się i zaloguj.

ohho
źródło
2
Powinno to prawdopodobnie wejść /etc/profile.d/lang.shi nie do /etc/bashrcktórego prawdopodobnie zostanie nadpisana aktualizacja.
ccpizza
@ccpizza Umieściłem te linie na dole lang.shi zadziałało 👍.
Andrew Keeton,
6

Biegać

yum reinstall glibc-common

a następnie upewnij się, że żaden proces nie usuwa plików /usr/lib/locale/locale-archive.*.

ZaSter
źródło
1
Próbowałem tego pierwszy i to pomaga mi (nie sprawdziłem procesu)
chro,
To mi nie działa.
Angelo,
3
W nowszych dystrybucjach Linuksa opartych na Red Hat (Fedora 24+, RHEL 8+) będzie to glibc-langpack-<language>np glibc-langpack-en.
Michael Hampton,
Na obrazie
Centos
2

Możesz spróbować

export LANG=en_US

Lub ustaw na coś podobnego. Jeśli to rozwiąże problem, możesz uczynić go trwałym, modyfikując profil bash.

OldWolf
źródło
To nie działało dla mnie. Wszelkie inne sugestie
ctilley79
2

Otrzymałem ten sam błąd w systemie MacOS. Kiedy ssh do Linux-a, odmawia ustawienia UTF-8ustawień regionalnych. Możesz zobaczyć różnice w ustawieniach regionalnych, uruchamiając localepolecenie na terminalu MacOS i Linux.

Aby naprawić ten błąd, otwórz terminal -> preferencje -> profile -> Zaawansowane i rozbrojone Set locale environment variables on startupna komputerze Mac.

Teraz, gdy działasz localena komputerze Mac. widać, że ta zmiana ustawił LC_CTYPE="C"który był LC_CTYPE="UTF-8"z poprzedniego ustawienia.

będziesz musiał zamknąć terminal, aby uzyskać ten efekt, a teraz zaloguj się do swojego Linux-a i uruchom yum update.

Mam nadzieję, że to pomoże :)

Tarun Vashisth
źródło
2

Jeśli korzystałeś z SSH do łączenia się z tym hostem z komputera stacjonarnego, zwykle /etc/ssh/sshd_configzawiera

AcceptEnv LANG LC_*

co pozwala klientom propagować wartości tych zmiennych środowiskowych do nowych sesji. Spowoduje to jednak, że zmienne ustawień narodowych zostaną przywrócone do stanu pustego w ramach sesji SSH na konfigurowanym serwerze, jeśli ustawienia narodowe nie zostaną najpierw poprawnie ustawione NA TWOJEJ KOMPUTERZE .

Naprawić:

Na przykład w oknie Ubuntu Shell systemu Windows 10 najpierw wykonaj ( UWAGA: zmień wszystkie poniższe wpisy, aby pasowały do ​​ustawień regionalnych, jeśli nie jest to „en_US.UTF-8” ):

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

Następnie zamknij okno powłoki Ubuntu i ponownie otwórz, a następnie SSH na serwerze, który próbujesz skonfigurować, i sprawdź, czy wszystko jest w porządku ...

Jeśli nie, włącz SSH do swojego serwera i wykonaj:

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

Następnie naciśnij, Iaby przejść do trybu „wstaw”. Następnie wklej poniższe wpisy. Następnie, ZZaby zapisać i wyjść:

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

Następnie wykonaj następujące czynności:

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

Następnie:

reboot

Sprawdź, czy to sprawi, że wszystko przestanie narzekać na zmienne regionalne!

FirstFraktal
źródło