dpkg-reconfigure n'écoute pas debconf-set-selections (pour tzdata)

2 réponses
Avatar
Daniel Caillibaud
Bonjour,

J'essaie d'imposer une timezone en mode non interactif avec
debconf-set-selections et y'a un truc qui m'échappe…

# je veux avoir Europe/Paris sans avoir Í  répondre Í  une question, je me mets d'abord sur une autre timezone
# par ex en répondant Europe/Riga
dpkg-reconfigure tzdata
Current default time zone: 'Europe/Riga'

# on vérifie debconf
debconf-show tzdata|grep ^*
* tzdata/Zones/Europe: Riga
* tzdata/Areas: Europe
* tzdata/Zones/Etc: UTC

# je select Europe/Paris
printf 'tzdata tzdata/Areas select Europe\ntzdata tzdata/Zones/Europe select Paris\n'|debconf-set-selections

# je vérifie qu'il a compris ce que je voulais
debconf-show tzdata|grep ^*
* tzdata/Areas: Europe
* tzdata/Zones/Etc: UTC
* tzdata/Zones/Europe: Paris

# ok, j'applique la sélection
dpkg-reconfigure tzdata -fnoninteractive

Current default time zone: 'Europe/Riga'

WTF ????

--
Daniel

Le génie consiste Í  voir ce que tout le monde a vu
et Í  penser ce que personne n'a pensé.

2 réponses

Avatar
Daniel Caillibaud
Le 03/12/20 Í  7h46, Charles Plessy a écrit :
je pense que ce n'est pas un bug, parce que «Â debconf n'est pas conçu
pour être un système d'enregistrement et ne peut pas être utilisé comme
tel », dixit man debconf-devel(7).
https://manpages.debian.org/debconf-devel
Les paquets ne vont chercher des informations dans debconf que lorsque
/etc n'en a pas encore.

Merci, je comprends mieux… debconf doit être vu les paramètres
d'installation par défaut lorsque rien n'est précisé dans /etc.
Paramètres qu'on peut préciser Í  l'installation ou plus tard (avec
debconf-set-selections), mais qui ne doivent surtout pas prendre le pas sur
une modification qu'aurait fait l'admin.
Et effectivement ça semble mieux comme ça.
On m'a soufflé un exemple o͹ ce serait fÍ¢cheux s'il en était autrement :
- choix d'une zone Í  l'install (mettons Seoul parce que c'est un pc
préinstallé en corée, ou une install faite avec en preseed coréen)
- l'admin fixe sa zone Europe/Paris via /etc/localtime et /etc/timezone
- lors de l'upgrade suivant du paquet tzdata, si debconf était la source
d'autorité on se retrouverait avec Asie/Seoul
Plus généralement, o͹ peut-on trouver l'info des choix que ferait un
dpkg-reconfigure -f noninteractive xxx
Faut aller fouiner dans /var/lib/dpkg/info/xxx.config ?
Pour /var/lib/dpkg/info/tzdata.config on comprend comment c'est sensé
fonctionner (même sans connaÍ®tre le shell car les commentaires sont clairs),
mais je sais pas si y'a un moyen plus rapide et générique pour avoir
l'info.
--
Daniel
Une maxime de charcutier chinois : la rondelle ne fait pas le printemps.
Coluche
Avatar
Charles Plessy
Le Thu, Dec 03, 2020 at 05:00:00PM +0200, Daniel Caillibaud a écrit :
Plus généralement, o͹ peut-on trouver l'info des choix que ferait un
dpkg-reconfigure -f noninteractive xxx
Faut aller fouiner dans /var/lib/dpkg/info/xxx.config ?
Pour /var/lib/dpkg/info/tzdata.config on comprend comment c'est sensé
fonctionner (même sans connaÍ®tre le shell car les commentaires sont clairs),
mais je sais pas si y'a un moyen plus rapide et générique pour avoir
l'info.

Je ne connais pas de meilleure méthode...
Bonne journée,
--
Charles