it-swarm.com.de

Problem von Gebietsschema kann nicht festgelegt werden; Stellen Sie sicher, dass $ LC_ * und $ LANG korrekt sind!

Wenn ich immer versuche, ein neues Paket zu installieren, wird folgende Meldung angezeigt:

Can't set locale; make sure $LC_* and $LANG are correct!
Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
    LANGUAGE = "en_GB:en",
    LC_ALL = (unset),
    LC_CTYPE = "en_GB.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_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Mein Betriebssystem ist Debian Jessie 8.3 (Mate) mit Englisch und französischer Tastatur. Wenn ich das Gebietsschema eingebe, erhalte ich Folgendes:

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
LANG=en_US.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE=en_GB.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
52
Ismail Sensei

Debian versendet Gebietsschemas in Quellform. Sie müssen explizit kompiliert werden. Der Grund dafür ist, dass kompilierte Gebietsschemas viel mehr Speicherplatz belegen, die meisten Benutzer jedoch nur wenige davon.

Lauf dpkg-reconfigure locales Wählen Sie als root die gewünschten Gebietsschemas in der Liste aus (mit Ihren Einstellungen benötigen Sie en_GB und en_US.UTF-8 - Ich empfehle die Auswahl von en_US und en_GB.UTF-8 auch) dann drücken Sie <OK>.

Alternativ können Sie /etc/locale.gen, kommentieren Sie die Zeilen für die gewünschten Gebietsschemas aus und führen Sie locale-gen als root.

(Hinweis: Unter Ubuntu funktioniert dies anders: run locale-gen mit den Gebietsschemas, die Sie als Argumente generieren möchten, z. Sudo locale-gen en_GB en_US en_GB.UTF-8 en_US.UTF-8.)

Alternativ hat Debian jetzt ein Paket locales-all die Sie anstelle von locales installieren können. Es sind alle Gebietsschemas vorgeneriert. Der Nachteil ist, dass sie mehr Speicherplatz verbrauchen (112 MB gegenüber 16 MB).

Die bestbewertete Lösung hat in meinem Fall nicht geholfen, deshalb habe ich diese verwendet:

export LC_ALL="en_US.UTF-8"
Sudo dpkg-reconfigure locales

Danach habe ich mich abgemeldet und angemeldet und es fehlte ein Fehler.

21
ssasa

Diese Befehle haben mir das Leben gerettet

# echo "LC_ALL=en_US.UTF-8" >> /etc/environment
# echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
# echo "LANG=en_US.UTF-8" > /etc/locale.conf
# locale-gen en_US.UTF-8
8
Taras Vaskiv

Wenn Sie dieses Problem auf einem Raspberry Pi (oder einem anderen?) Haben und die Fehlermeldung erhalten, wenn Sie auf den Pi ssh, gibt es zwei andere Lösungen

Einer ist edit /etc/ssh/sshd_config auf dem pi und kommentiere die Zeile aus

AcceptEnv LANG LC_*

beispielsweise Sudo nano /etc/ssh/sshd_config

Danach sollten Sie den SSH-Server neu starten

Sudo systemctl restart ssh

Der andere befindet sich auf Ihrem Client-Computer (nicht der pi) edit /etc/ssh/ssh_config (anderer Pfad als oben) und kommentiere die Zeile aus

SendEnv LANG LC_*
6
gman

Sie müssen das Paket locales (oder locales-all Oder das Gebietsschema en_GB installieren, je nachdem, welche Debian-Version Sie haben).

Eine Problemumgehung, um solche Fehler nicht zu haben: Setzen Sie LANG=C Auf root, damit no locales verwendet wird.

2