Ce matin, je veux appliquer les mises à jour de sécurité sur mon système Debian GNU/Linux Buster et…
Paramétrage de linux-image-4.19.0-8-amd64 (4.19.98-1+deb10u1) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.19.0-8-amd64
E: /usr/share/initramfs-tools/hooks/growroot failed with return 1.
update-initramfs: failed for /boot/initrd.img-4.19.0-8-amd64 with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: erreur de traitement du paquet linux-image-4.19.0-8-amd64 (--configure) :
installed linux-image-4.19.0-8-amd64 package post-installation script subprocess returned error exit status 1
Des erreurs ont été rencontrées pendant l'exécution :
linux-image-4.19.0-8-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
Lançons update-initramfs
nous-même :
# update-initramfs -vuk 4.19.0-8-amd64
Calling hook growroot
Adding binary /sbin/sfdisk
Adding library-link /lib/x86_64-linux-gnu/libfdisk.so.1.1.0
Adding library /lib/x86_64-linux-gnu/libfdisk.so.1.1.0
Adding library-link /lib/x86_64-linux-gnu/libsmartcols.so.1.1.0
Adding library /lib/x86_64-linux-gnu/libsmartcols.so.1.1.0
Adding library-link /lib/x86_64-linux-gnu/libtinfo.so.6.1
Adding library /lib/x86_64-linux-gnu/libtinfo.so.6.1
E: /usr/share/initramfs-tools/hooks/growroot failed with return 1.
Regardons /usr/share/initramfs-tools/hooks/growroot
(premier script qui termine en erreur) :
# cat /usr/share/initramfs-tools/hooks/growroot
#!/bin/sh
set -e
PREREQS=""
case $1 in
prereqs) echo "${PREREQS}"; exit 0;;
esac
. /usr/share/initramfs-tools/hook-functions
##
copy_exec /sbin/sfdisk /sbin
copy_exec /usr/bin/growpart /sbin
[…]
Ça échoue sur « copy_exec /usr/bin/growpart ».
# ls -lh /usr/bin/growpart
ls: impossible d'accéder à '/usr/bin/growpart': Aucun fichier ou dossier de ce type
Intéressant. Il vient d'où, ce fichier ?
$ apt-file search /usr/bin/growpart
cloud-guest-utils: /usr/bin/growpart
Du paquet logiciel cloud-guest-utils
. Cloud-init est utilisé par mon fournisseur de machines virtuelles et, en effet, je l'ai viré de mon VPS (machine virtuelle) depuis quelques mois. Pourquoi ça n'a pas supprimé le hook initramfs ?
$ apt-file search /usr/share/initramfs-tools/hooks/growroot
cloud-initramfs-growroot: /usr/share/initramfs-tools/hooks/growroot
Il est installé par un autre paquet logiciel. Peut-être que ce paquet est toujours installé ?
# apt-cache policy cloud-initramfs-growroot
cloud-initramfs-growroot:
Installé : (aucun)
Candidat : 0.18.debian7
[…]
Non. Peut-être y a-t-il de la configuration résiduelle ?
# dpkg -l | grep cloud-initramfs-growroot
#
Non.
""""Solution"""" : apt-get install --no-install-recommend cloud-initramfs-growroot && apt-get autoremove --purge cloud-guest-utils cloud-image-utils cloud-initramfs-growroot cloud-utils genisoimage qemu-utils
.