Das Ändern des Gebietsschemas in CentOS 7 mit localectl funktioniert nicht

Das Ändern des Gebietsschemas in CentOS 7 mit localectl funktioniert nicht

Ich möchte die Lokalisierung ändern, en_US.utf8sodass alle Logmeldungen von Anwendungen auf Englisch angezeigt werden. Das funktioniert, wenn ich dem Befehl das Präfix füge LANG=en_US.utf ./my-command, dann ist jede Ausgabe von ./my-commandEnglisch.

localectlscheint das richtige Werkzeug zu sein, um es dauerhaft zu machen, also habe ich es versucht

[root@cnx65 ~]# localectl set-locale LANG=en_US.utf8

Aber wenn jetzt ausgeführt wird ./my-command, ist die Ausgabe immer noch auf Deutsch. Laut localectlhaben wir Folgendes en_US.utf8eingestellt:

[root@cnx65 ~]# localectl
   System Locale: LANG=en_US.utf8
       VC Keymap: de_alt_UTF-8
      X11 Layout: us

wobei localeauch die $LANGVariable noch deutsch anzeigt:

[root@cnx65 ~]# locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
[root@cnx65 ~]# echo $LANG
de_DE.UTF-8

Ich habe außerdem mit Folgendem überprüft, ob das Gebietsschema vorhanden ist localectl -a:

[root@cnx65 ~]# locale -a | grep en_US.utf8
en_US.utf8

Warum funktioniert das nicht? Das ist für mich nicht nachvollziehbar. Wie man sieht, wurden alle Befehle als Root ausgeführt, ein Berechtigungsproblem kann also nicht vorliegen.

Ich möchte die LANGUmgebungsvariable nicht einfach irgendwo global festlegen, wie hier, /etc/profilesda der Server von Ansible bereitgestellt wurde und es daher keine interaktive Anmelde-Shell gibt.

verwandte Informationen