Warum erhalte ich bei Verwendung von yum die Meldung "Gebietsschema konnte nicht festgelegt werden, standardmäßig C"?


21

Jedes Mal, wenn ich renne yum installoder yum updatebekomme

Konnte nicht eingestellt locale, säumige bis C

und dann andere Informationen.

Wie kann ich diese Warnung vermeiden?

Antworten:


19

Ich habe die folgenden locale in Bezug auf Einstellung /etc/bashrc(für alle Benutzer, bash):

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

dann renne:

source /etc/bashrc

oder abmelden und anmelden.


2
Dies sollte wohl gehen in /etc/profile.d/lang.shund nicht auf /etc/bashrcdie wahrscheinlich durch ein Update überschrieben werden.
ccpizza

@ccpizza Ich habe diese Zeilen am unteren Ende lang.shund es funktioniert 👍.
Andrew Keeton

6

Lauf

yum reinstall glibc-common

und dann stellen Sie sicher, dass kein Prozess die /usr/lib/locale/locale-archive.* Dateien löscht.


1
Ich habe versucht , diese erste , und es hilft mir (den Prozess nicht überprüft)
chro

Das funktioniert bei mir nicht.
Angelo

3
In neueren Red Hat-basierte Linux - Distributionen (Fedora 24+, RHEL 8+) , wird dies sein glibc-langpack-<language>, zum Beispiel glibc-langpack-en.
Michael Hampton

Im Centos Docker Bild gibt es einen gemeldeten Fehler: bugzilla.redhat.com/show_bug.cgi?id=1392855
Rowinson Gallego

2

Du kannst es versuchen

export LANG=en_US

Oder setzen Sie ihn auf etwas ähnliches. Wenn das das Problem für Sie löst, können Sie es durch Modifizieren der bash Profil persistent machen.


Das hat bei mir nicht funktioniert. Irgendwelche anderen Vorschläge
ctilley79

2

Ich war immer gleiche Fehler auf MacOS. Wenn Sie zu einer Linux-Box sshen, lehnen sie es ab, ein UTF-8Gebietsschema einzurichten. Sie können die Unterschiede in der Gebietsschemaeinstellung sehen, indem Sie den localeBefehl auf Ihrem MacOS-Terminal und der Linux-Box ausführen.

Um diesen Fehler zu beheben, öffnen Sie das Terminal -> Einstellungen -> Profile -> Erweitert und deaktivieren Sie es Set locale environment variables on startupauf Ihrem Mac.

Nun , wenn Sie laufen localeauf dem Mac. Sie können sehen, dass diese Änderung eingestellt wurde, LC_CTYPE="C"die LC_CTYPE="UTF-8"mit der vorherigen Einstellung war.

Sie müssen Ihr Terminal schließen, um diesen Effekt zu erzielen. Melden Sie sich jetzt bei Ihrer Linux-Box an und führen Sie es aus yum update.

Ich hoffe es hilft :)


2

Wenn Sie SSH verwendet , um diesen Host von einem Desktop - Rechner zu verbinden, ist es üblich , /etc/ssh/sshd_configenthält

AcceptEnv LANG LC_*

der es ermöglicht Kunden die Werte dieser Umgebungsvariablen in neue Sitzungen zu propagieren. Dies wird jedoch die locale Variablen verursacht Satz zurück zu sein in Ihrer SSH - Sitzung auf dem Server leeren Sie konfigurieren, wenn das Gebietsschema nicht zuerst richtig eingestellt ist auf Ihrem PC .

Reparieren:

Zum Beispiel in der Windows 10 Ubuntu Shell - Fenster, zuerst tun ( Hinweis: Alle Einträge unten ändern Sie Ihre locale anzupassen , wenn es nicht „en_US.UTF-8“ ist ):

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

Dann schließt Ubuntu-Shell-Fenster und wieder zu öffnen, und dann SSH in den Server versuchen Sie, zu konfigurieren und sehen, ob alles in Ordnung ist jetzt ...

Wenn nicht, dann SSH in Ihren Server und zu tun:

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

Dann traf I„Insert“ -Modus zu gelangen. Dann fügen Sie die folgenden Einträge. Dann ZZzu speichern und zu beenden:

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

Dann führen Sie die folgenden:

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

Dann:

reboot

Sehen, ob das alles Stop macht beschweren sich über locale Vars!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.