Ich erhalte diese Meldung jedes Mal, wenn ich einen Dienst starte oder stoppe.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_MESSAGES = "en_US.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 21173 files and directories currently installed.)
Removing bind9 ...
* Stopping domain name service... bind9 [ OK ]
Processing triggers for man-db ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Wie behebe ich diesen Fehler?
command-line
server
locale
HackToHell
quelle
quelle
Antworten:
Führen Sie zunächst
locale
die folgenden Schritte aus, um die aktuell für das aktuelle Benutzerkonto definierten Ländereinstellungen aufzulisten:Generieren Sie dann das fehlende Gebietsschema und konfigurieren Sie die Gebietsschemas neu, um dies zu beachten:
Jetzt sehen Sie keine Fehler mehr!
quelle
en_GB
standardmäßig auf konfiguriert , aber Sie haben es auf eingerichteten_US
. Sie müssen manuell kommentierenen_GB
und Kommentar-en_US
in/etc/locale.gen
. Siehe meine Antwort askubuntu.com/a/790373/25388 in der Hardware Raspberry Pi 3b und dem System Raspbian Jessie.In meinem Fall hat nichts oben vorgeschlagenes funktioniert (Ubuntu Server 12.04LTS). Was schließlich geholfen hat, war das Ablegen der Datei
/etc/environment
:Aus irgendeinem Grund fehlte es. Die Ausgaben für das Gebietsschema und andere Befehle schienen so zu sein, als wären die Variablen richtig definiert. Mit anderen Worten, nehmen Sie nicht als selbstverständlich an, dass alle grundlegenden Dinge dort deklariert werden, wo sie deklariert werden sollen.
quelle
/etc/default/locale
./etc/default/locale
und keine Warnungen mehr. Dankesudo sh -c "echo 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/environment"
echo
mit aktivierter Interpretation von umgekehrten Schrägstrichen ausgeführt werden muss. Dies ist das gleiche wie bei Ihnen, jedoch mit dem oben genannten Fix:sh -c "echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale"
Sie sollten nach der Ausstellung verschwinden:
dpkg-reconfigure
konfiguriert Pakete neu, nachdem sie bereits installiert wurden. Übergeben Sie ihm die Namen eines Pakets oder von Paketen, die neu konfiguriert werden sollen. Es werden Konfigurationsfragen gestellt, ähnlich wie bei der Erstinstallation des Pakets.quelle
en
,en_AU
,en_CA
,en_GB
sind standardmäßig vorhanden , aber nichten_US
?dpkg-reconfigure
.makemessage
braucht das. Das hat perfekt funktioniert! Vielen Dank.LC_ALL
es richtig eingestellt war..bashrc
Fügen Sie Ihrer Datei einfach Folgendes hinzu (vorausgesetzt, Sie verwenden bash)quelle
LC_ALL
konnte ich endlich nutzensudo dpkg-reconfigure locales
.Dies ist ein häufiges Problem, wenn Sie eine Remoteverbindung herstellen. Daher besteht die Lösung darin, Ihr Gebietsschema nicht weiterzuleiten. Zeile bearbeiten
/etc/ssh/ssh_config
und auskommentierenSendEnv LANG LC_*
.quelle
/etc/ssh_config
sed -e '/SendEnv/ s/^#*/#/' -i /etc/ssh/ssh_config
(nützlich für die Serverbereitstellung)Dafür gibt es einen Befehl:
Es wird
/etc/default/locale
mit den angegebenen Werten aktualisiert .quelle
locale
noch keine utf-Werte angezeigt.locale-gen
fehlt. Vorher muss man machenapt-get install locales
.Was für mich am 12.10 funktioniert hat war:
Damit wurden nachher
dpkg-reconfigure locales
keine Ergebnisse erzielt.quelle
chroot
unter Debian. Danke :)Vergessen Sie nicht, Ihre SSH-Sitzung (oder Ihre X11-Sitzung) durch Beenden und erneutes Anmelden zu beenden. Alle diese Vorschläge haben bei mir nur funktioniert, wenn ich mich erneut angemeldet habe.
quelle
Für Ubuntu 12.10 funktionierte bis auf Ratzs 'Lösung nichts. Ich empfehle, dies zu Ihrer /etc/bash.bashrc-Datei hinzuzufügen:
quelle
Ich war in einem seltsamen Zustand festgefahren, in dem mein lokaler Computer auf eingestellt ist,
es
und daher wurde der Remote-Computer (übervagrant
) in einem unbehandelten Zustand bereitgestellt. Daher musste ich das Handbuchexport=
nur nutzen, um einen erfolgreichen Ablauf zu ermöglichendpkg-reconfigure
. Dann ist das System in Ordnung.quelle
dpkg-recofigure
zeigt Mojibake.Ich habe ein Bash-Skript geschrieben , um dieses Problem zu beheben. Die obigen Antworten sind nützlich, aber das Festlegen der Gebietsschemavariablen durch einfaches Exportieren der Werte in die Shell-Variable funktioniert nur für eine Sitzung. Ich habe dieses Problem dauerhaft gelöst, indem ich die Gebietsschemavariablen in die Datei .bash_profile exportiert habe. Sie können
/etc/profile
anstelle von auch file verwenden.bash_profile
.Vergessen Sie nicht,
source
die.bash_profile
und die folgen Skript in einfache Einrichtung.quelle
Du kannst es versuchen:
Wo
ru_RU
ist deine Landesvorwahl?quelle
Die aktuell akzeptierte Antwort ist in der Problembehandlungsstrategie nicht ausreichend, da ein menschliches Versagen auftreten kann. Sie richten Ihr System so ein,
en_US
aber Sie haben esen_GB
aktiviert,/etc/locale.gen
wie ich es im Thread hier für Raspberry Pi 3b getan habe. Sie sollten alle verwendeten Gebietsschemas in aktiviert haben/etc/locale.gen
.Ich hatte
en_GB.UTF-8 UTF-8
nur aktiviert/etc/locale.gen
. Ich sollte dort nuren_US.UTF-8 UTF-8
wegen anderer dafür ausgeführter Befehle freigeschaltet haben . Also habe ich GB kommentiert und US unkommentiert, und jetzt funktioniert allesJetzt erhalte ich diese Gebietsschemafehler nicht mit irgendwelchen Befehlen.
System: Raspbian Jessie
Hardware: Raspberry Pi 3b
quelle
Wie hier im Debian-Wiki gesagt , können
/etc/locale.gen
Sie alle Gebietsschemas bearbeiten und hinzufügen (oder sie auskommentieren, ich hatte eine Liste aller Gebietsschemas, aber aller, die ich als Kommentare verwendet habe), für die Sie Unterstützung auf Ihrem System wünschen. Führen Sie dann ausum die Ländereinstellungen auf Ihrem System zu aktualisieren. Jetzt sind alle von Ihnen hinzugefügten / nicht kommentierten Gebietsschemas
/etc/locale.gen
auf Ihrem System ohne Warnungen verfügbar.quelle
Wenn Sie eine KDE-Umgebung verwenden, überprüfen Sie die
setlocale.sh
Datei in~/.kde/env/
:quelle
Sie müssen möglicherweise
sudo dpkg-reconfigure
auch für die Anwendung ausgeführt werden, die Sie installiert haben, während die Einstellungen für "Gebietsschema" ungültig / nicht übereinstimmend waren.Während das Systemgebietsschema falsch eingerichtet war, habe ich es installiert
vim
. Später , als Systemgebietsschema festgelegt wurde , sah ich eine Situation , dievim
während utf-8 - Zeichen fälschlicherweise als seltsame Symbole zeigtenano
undless
sich richtig zeigte. Laufenschien das Problem zu beheben, nachdem die Systemeinstellungen behoben wurden.
Das Gleiche ist mir auch aufgefallen, wie bereits erwähnt: Möglicherweise müssen Sie SSH trennen / erneut verbinden, um die Änderungen sichtbar zu machen.
quelle
Den folgenden Text
~/.profile
hinzufügen, um für mich zu arbeiten:Ich benutze Ubuntu 16.04 LTS 64-Bit-Server unter Linode.
quelle
Dies funktionierte für mich, als ich das gleiche Problem hatte (basierend auf der von dman bereitgestellten Lösung ):
quelle
>
statt dessen>>
verlangt) wie eine Antwort auf dmans scheint. Ich weiß eigentlich nicht, welcher Weg richtig oder am besten ist, aber wenn Sie einen Einblick haben, können Sie diese Antwort mit weiteren Informationen erweitern. (