Dist upgrade échoue de bullseye à bookworm
Dist upgrade échoue de bullseye à bookworm jppEnnui "bizarre" lors d'une migration de bullseye à bookworm.
J'ai déjà migré plusieurs systèmes (physiques ou virtuels) sans rencontrer le moindre ennui lors du passage de "apt dist-upgrade", mais ici j'ai rencontré un problème très bizarre.
dpkg: unrecoverable fatal error, aborting:
unknown system user 'geoclue' in statoverride file; the system user got removed
before the override, which is most probably a packaging bug, to recover you
can remove the override manually with dpkg-statoverride
La commande : dpkg-statoverride --list retourne :
geoclue geoclue 755 /var/lib/geoclue
root postdrop 2555 /usr/sbin/postqueue
postfix postdrop 2710 /var/spool/postfix/public
root crontab 2755 /usr/bin/crontab
root ssl-cert 710 /etc/ssl/private
root messagebus 4754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
root postdrop 2555 /usr/sbin/postdrop
On y voit bien ce fichu utilisateur "geoclue", pas de "geoclue" installé sur cette machine.
la commande :
dpkg-statoverride --remove /var/lib/geoclue
supprime bien le chemin /var/lib/geoclue .
Mais d'autres essais mènent toujours au même type d'erreur, un "apt --fix-broken install" retourne :
Processing triggers for man-db (2.9.4-2) ...
/usr/bin/mandb: the setuid man user "man" does not exist
Processing triggers for install-info (6.7.0.dfsg.2-6) ...
Processing triggers for libc-bin (2.36-9+deb12u3) ...
Errors were encountered while processing:
rpcbind
W: No sandbox user '_apt' on the system, can not drop privileges
E: Sub-process /usr/bin/dpkg returned an error code (1)
Après quelque recherche il s'avère que le système ne "sait" plus lire les users, par exemple la commande "id" donne :
id
uid=0 gid=0 groups=0
Il semble que tous les ennuis viennent de cette non-reconnaissance des users ...
Le fichier /etc/nsswitch.conf contient des valeurs "bizarres" non conformes à celles présentes sur d'autres systèmes, après correction de ce foutu fichier tout semble revenir à le normale et la commande "id" renvoie des choses beaucoup plus sympathiques :
id
uid=0(root) gid=0(root) groups=0(root)
Le passage de "apt --fix-broken install" retourne un message "normal" et depuis tout est OK sur cette machine.