
[Linux] Réparer une installation en mode « recovery »
Lors de la mise à jour vers Debian 12, quelque chose s’est mal passé lors de la mise à jour de libcrypt
:
/usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
et cela a bloqué mon sudo
ainsi que toutes mes authentifications. Voilà comment j’ai réparé l’installation.
Mon serveur étant hébergé chez OVH (Kimsufi), je n’avais pas la possibilité de démarrer un live CD.
Je me suis connecté à mon compte Kimsufi, et j’ai sélectionné l’option « NetBoot » > « Rescue ». Une fois validé, j’ai demandé un redémarrage.
J’ai reçu un mail avec un lien vers un mot de passe pour le compte root
.
Je me suis connecté en SSH directement avec root.
Avec la commande fdisk -l
j’ai trouvé le disque sur lequel le système est installé, et je l’ai monté avec la commande mount /dev/sda2 /mnt/
. Une fois monté, je suis passé dessus avec la commande chroot /mnt/
.
L’idée est de télécharger la version de la librairie et de l’installer :
cd /tmp
apt -y download libcrypt1
dpkg-deb -x libcrypt1_1%3a4.4.33-2_amd64.deb .
cp -av lib/x86_64-linux-gnu/* /lib/x86_64-linux-gnu/
apt -y --fix-broken install
Une fois installée, j’ai vérifié que mon utilisateur habituel était bien dans la liste des /etc/sudoers
.
Dans l’interface Kimsufi, j’ai refait un « NetBoot » > « Disque dur » et redémarré.
J’ai enfin pu me connecter et terminer ma mise à jour.