[ Gelöst ] Problem: dpkg-reconfigure -fnoniteractive locales

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
chmeyer
Beiträge: 96
Registriert: 03.02.2010 21:09:12
Wohnort: RLP

[ Gelöst ] Problem: dpkg-reconfigure -fnoniteractive locales

Beitrag von chmeyer » 10.05.2015 21:55:14

Guten Abend zusammen,

ich habe ein Problem mit dpkg-reconfigure -noninteractive locales.

Interessanterweise funktioniert dpkg-reconfigure locales (mit dialog Eingabe), nicht aber dpkg-reconfigure -fnoninteractive locales.
Was mache ich falsch?

Nicht weitergeholfen haben bisher:
https://www.thomas-krenn.com/de/wiki/Pe ... ter_Debian
https://www.thomas-krenn.com/de/wiki/Lo ... figurieren
http://www.debiananwenderhandbuch.de/debconf.html

Hintergrund:
Ich möchte mehrere Clients per FAI (Fully Automated Installation) installieren. Während der Installation müssen Benutzername und Passwort für einen WindowsDC eingegeben werden (LDAP, Samba, etc.). Deshalb brauche ich deutsche locales im Installationssystem (NFSROOT) von FAI. Dieses wird ja zunächst per debootstrap erstellt und dann mittels Skripten angepasst. Das funktioniert soweit auch ganz gut.

Das Problem:
Ich möchte dem recht schlanken System de_DE.UTF-8 beibringen.
Mit

Code: Alles auswählen

chroot $NFSROOT dpkg-reconfigure locales
klappt das auch problemlos, allerdings muss ich die Einstellungen "von Hand" auswählen.
Da ich (im Moment) das NFSROOT regelmäßig neu baue wäre es schön, dies auch automatisiert während der Erstellung durch FAI zu erledigen. Also versuche ich es (per Skript in /etc/fai/nfsroot/hooks/ ) mit debconf-communicate und dpkg-reconfigure -fnoninteractive:

Code: Alles auswählen

echo "set locales/locales_to_be_generated de_DE.UTF-8 UTF-8" | chroot $NFSROOT debconf-communicate
echo "set locales/default_environment_locale de_DE.UTF-8" | chroot $NFSROOT debconf-communicate
chroot $NFSROOT dpkg-reconfigure -fnoninteractive locales
und erhalte (ebenso wie beim testweisen händischen ausführen):

Code: Alles auswählen

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "de_DE.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
0 value set
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "de_DE.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
0 value set
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "de_DE.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
Generating locales (this might take a while)...
Am "0 value set" erkenne ich, dass debconf meine Wünsche akzeptiert hat. Trotzdem schlägt die Konfiguration fehl und das System fällt auf die standard locale ("C") zurück.

Wo liegt mein Fehler oder was habe ich übersehen?

Viele Grüße
Christian
Zuletzt geändert von chmeyer am 17.05.2015 10:58:36, insgesamt 1-mal geändert.

gbotti
Beiträge: 846
Registriert: 16.07.2010 14:24:43
Wohnort: München

Re: Problem mit dpkg-reconfigure -fnoniteractive locales

Beitrag von gbotti » 11.05.2015 09:50:35

Hi.

Probiers mal so:

Code: Alles auswählen

locale-gen de_DE.UTF-8 && update-locale LANG=de_DE.UTF-8
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft

chmeyer
Beiträge: 96
Registriert: 03.02.2010 21:09:12
Wohnort: RLP

Re: Problem mit dpkg-reconfigure -fnoniteractive locales

Beitrag von chmeyer » 11.05.2015 11:12:57

Habe mittlerweile "chroot $NFSROOT" durch "$ROOTCMD" und "debconf-communicate" durch "debconf-set-selections" (mit anderer Syntax bei den debconf Werten) ersetzt.

Danke für den Hinweis mit locale-gen. Die zusammengesetzte Zeile habe ich in zwei kürzere Zeilen zerlegt:
chroot $NFSROOT locale-gen de_DE.UTF-8
ist erfolgreich, locales werden generiert. (Aber das ging ja auch schon vorher).
Anders hingegen bei:
chroot $NFSROOTupdate-locale LANG=de_DE.UTF-8

Code: Alles auswählen

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "de_DE.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
*** update-locale: Error: invalid locale Settings: LANG=de_DE.UTF-8
Am meisten irritiert mich, dass
chroot $NFSROOT dpkg-reconfigure locales
interaktiv problemlos funktioniert.

Viele Grüße
Christian

chmeyer
Beiträge: 96
Registriert: 03.02.2010 21:09:12
Wohnort: RLP

Re: Problem mit dpkg-reconfigure -fnoniteractive locales

Beitrag von chmeyer » 17.05.2015 10:56:54

Das Problem ist offenbar ein (ziemlich alter, aus dem Jahr 2010 stammender) Bug mit Preseeding im Paket locales:

https://bugs.debian.org/cgi-bin/bugrepo ... bug=592216
wurde (angeblich gefixt) geschlossen, aber wieder neu gefunden:
https://bugs.debian.org/cgi-bin/bugrepo ... bug=697765

Der Workaround besteht darin, die Konfiguration vor der Installation des Paketes festzulegen.
Installieren - Ändern der Konfiguration - dpkg-reconfigure (noninteractive) hingegen funktioniert nicht.
Die Lösung für die Anwendung im NFSROOT von FAI heißt also:
Installiere die locales nicht mit den andeen Paketen, sondern erst nach der Konfiguration in nfsroot-hooks:
https://lists.uni-koeln.de/pipermail/li ... 10922.html

Danke an alle, die sich Gedanken darüber gemacht haben.

Christian

Antworten