Description du problème #
Pendant le processus de mise à niveau de Debian Buster, les utilisateurs peuvent rencontrer un problème avec le paquet libc6, entraînant le message d'erreur :
/usr/bin/perl : erreur lors du chargement des bibliothèques partagées : libcrypt.so.1 : impossible d'ouvrir le fichier objet partagé : aucun fichier ou répertoire de ce type (lecture de la base de données... 49108 fichiers et répertoires actuellement installés.) Préparation du décompression... /libc-dev-bin_2.36-9+deb12u3_amd64.deb ... Déballage de libc-dev-bin (2.36-9+deb12u3) sur (2.28-10+deb10u1) ... Configuration de libc6:amd64 (2.36-9 +deb12u3) ... /usr/bin/perl : erreur lors du chargement des bibliothèques partagées : libcrypt.so.1 : impossible d'ouvrir le fichier objet partagé : aucun fichier ou répertoire de ce type dpkg : erreur lors du traitement du package libc6:amd64 (--configure) : Le sous-processus de script de post-installation du package libc6:amd64 installé a renvoyé un état de sortie d'erreur 127 Des erreurs ont été rencontrées lors du traitement : libc6:amd64 E : Le sous-processus /usr/bin/dpkg a renvoyé un code d'erreur (1)
Analyse #
L'erreur survient lors de la mise à niveau de Debian Buster vers Bookworm en raison de dépendances circulaires entre libc et libcrypt qui ont été délibérément évités dans Bookworm. Les dépendances circulaires entraînent l'absence de la bibliothèque partagée requise libcrypt.so.1. Le package libc6 ne parvient pas à se configurer correctement, déclenchant un état de sortie d'erreur. Cette situation met en évidence les efforts de Bookworm pour briser les dépendances circulaires, entraînant des problèmes potentiels lors des mises à niveau.
Étapes de résolution #
Pour résoudre ce problème, suivez les étapes de résolution manuelle décrites ci-dessous :
1. Ouvrez un terminal et accédez à un répertoire temporaire :
root@noid-ce-01:~# cd $(mktemp -d) root@noid-ce-01:/tmp/tmp.XX#
2. Téléchargez le package libcrypt1 :
root@noid-ce-01:/tmp/tmp.XX# apt -y télécharger libcrypt1
3. Extrayez le contenu du package libcrypt1 :
root@noid-ce-01:/tmp/tmp.XX# dpkg-deb -x libcrypt1_*.deb .
4. Copiez les fichiers de bibliothèque extraits dans le répertoire de bibliothèque du système :
root@noid-ce-01:/tmp/tmp.XX# cp -ra lib/* /lib/
5. Effectuez une réparation sur toutes les installations défectueuses :
root@noid-ce-01:/tmp/tmp.XX# apt -y --fix-broken install
6. Terminez la mise à niveau de la pile logicielle minimale :
root@noid-ce-01 : ~# apt-get mise à niveau root@noid-ce-01 :~# apt-get dist-upgrade
Après avoir suivi ces étapes, la bibliothèque libcrypt.so.1 manquante doit être installée et le package libc6 doit être configuré sans erreur. Les utilisateurs peuvent ensuite procéder à la mise à niveau de Debian Buster sans rencontrer les problèmes signalés précédemment.
Remarque : Assurez-vous que vous disposez des privilèges appropriés pour exécuter ces commandes et envisagez de sauvegarder les données critiques avant d'effectuer des mises à niveau du système.