auf Beaglebone Black mit Debian defekte Lokalisierungen

3594
Chris

Das alles begann, als ich meinen benutzerdefinierten Dämon auf meinem Beaglebone Black mit Debian installieren wollte, update-rc.d mydaemon defaults 97wie ich es schon oft während seiner Entwicklung auf meinem Mint-Host getan habe. Und ich werde begrüßt mit:

perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_PAPER = "es_CL.UTF-8", LC_ADDRESS = "es_CL.UTF-8", LC_MONETARY = "es_CL.UTF-8", LC_NUMERIC = "es_CL.UTF-8", LC_TELEPHONE = "es_CL.UTF-8", LC_IDENTIFICATION = "es_CL.UTF-8", LC_MEASUREMENT = "es_CL.UTF-8", LC_NAME = "es_CL.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). update-rc.d: using dependency based boot sequencing 

Was ich später versucht habe zu beheben dpkg-reconfigure locales, worauf es antwortet

perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_PAPER = "es_CL.UTF-8", LC_ADDRESS = "es_CL.UTF-8", LC_MONETARY = "es_CL.UTF-8", LC_NUMERIC = "es_CL.UTF-8", LC_TELEPHONE = "es_CL.UTF-8", LC_IDENTIFICATION = "es_CL.UTF-8", LC_MEASUREMENT = "es_CL.UTF-8", LC_NAME = "es_CL.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 /usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory /usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory /usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory Generating locales (this might take a while)... en_US.ISO-8859-1...locale alias file `/usr/share/locale/locale.alias' not found: No such file or directory done Generation complete. perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_MONETARY = "es_CL.UTF-8", LC_ADDRESS = "es_CL.UTF-8", LC_TELEPHONE = "es_CL.UTF-8", LC_NAME = "es_CL.UTF-8", LC_MEASUREMENT = "es_CL.UTF-8", LC_IDENTIFICATION = "es_CL.UTF-8", LC_NUMERIC = "es_CL.UTF-8", LC_PAPER = "es_CL.UTF-8", LANG = "C" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_MONETARY = "es_CL.UTF-8", LC_ADDRESS = "es_CL.UTF-8", LC_TELEPHONE = "es_CL.UTF-8", LC_NAME = "es_CL.UTF-8", LC_MEASUREMENT = "es_CL.UTF-8", LC_IDENTIFICATION = "es_CL.UTF-8", LC_NUMERIC = "es_CL.UTF-8", LC_PAPER = "es_CL.UTF-8", LANG = "C" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 

Ich habe keine Ahnung, wie ich dieses Problem beheben kann, da es mich nicht zulässt, Pakete zu installieren oder zu aktualisieren. Hat jemand Ideen? Ich bin verblüfft ...

ps Ich habe gesehen, Locales unter Debian zu konfigurieren, und dies funktioniert bei mir nicht (dh source /etc/default/locale)

pps Ich habe auch /etc/locales.genShell überprüft und en_US.UTF-8 UTF-8ist unkommentiert, wie es sein soll, und das Shell-Skript schlägt vor zu laufen locale-genund ich bekomme

Generating locales (this might take a while)... en_US.UTF-8...locale alias file `/usr/share/locale/locale.alias' not found: No such file or directory 
1

1 Antwort auf die Frage

3
Chris

Nachdem ich alle Debian-Handbücher und den BeagleBone-Build durchgesehen hatte, habe ich endlich herausgefunden, was passiert ist! Ich dachte, ich würde das aufstellen, falls jemand auf dieses Problem stößt. Um die Gebietsschemas zu korrigieren, musste ich die /etc/default/localeDatei manuell neu schreiben mit: (Wenn Sie in Nordamerika beispielsweise "en_US.UTF-8" für alle verwenden).

LANG="en_US.UTF-8" LC_NUMERIC="es_CL.UTF-8" LC_MONETARY="es_CL.UTF-8" LC_PAPER="es_CL.UTF-8" LC_NAME="es_CL.UTF-8" LC_ADDRESS="es_CL.UTF-8" LC_TELEPHONE="es_CL.UTF-8" LC_MEASUREMENT="es_CL.UTF-8" LC_IDENTIFICATION="es_CL.UTF-8" 

Sie müssen dann sicherstellen, dass das Shell-Skript /etc/locale.genalle Gebietsschemas enthält, die Sie unkommentiert verwenden möchten, dh sudo nano /etc/locale.gen.

Sie müssen dann den symbolischen Link korrigieren, den locales erwartet, den der Kernel bei der Installation erstellt haben sollte. Dies geschieht durch: sudo ln -s /etc/locale.alias /usr/share/locale/locale.alias

Zum Abschluss führen Sie dpkg-reconfigure localesdie Verknüpfung aus, und jetzt sollte alles in Ordnung sein.

(Nebenbemerkung: Ich habe später festgestellt, dass das update-rc.dältere Tool in den späteren Debian-Releases vorhanden ist, wie das auf dem BeagleBone-Black. Die Daemon-Shell sollte stattdessen mit installiert werden. insserv mydaemon)

Dies funktionierte bei einem Debian-Container-Build. Vielen Dank! bryanmac vor 5 Jahren 0