Beschrijving van het probleem #
Tijdens het upgradeproces van Debian Buster kunnen gebruikers een probleem tegenkomen met het libc6-pakket, wat resulteert in de foutmelding:
/usr/bin/perl: fout tijdens het laden van gedeelde bibliotheken: libcrypt.so.1: kan het gedeelde objectbestand niet openen: Bestand of map bestaat niet (database lezen ... 49108 bestanden en mappen die momenteel zijn geïnstalleerd.) Voorbereiden om uit te pakken ... /libc-dev-bin_2.36-9+deb12u3_amd64.deb ... Libc-dev-bin (2.36-9+deb12u3) uitpakken over (2.28-10+deb10u1) ... libc6:amd64 (2.36-9) instellen +deb12u3) ... /usr/bin/perl: fout tijdens het laden van gedeelde bibliotheken: libcrypt.so.1: kan gedeeld objectbestand niet openen: Bestand of map bestaat niet dpkg: foutverwerkingspakket libc6:amd64 (--configure): geïnstalleerd libc6:amd64 pakket post-installatie script subproces retourneerde fout exit status 127 Er zijn fouten aangetroffen tijdens de verwerking: libc6:amd64 E: Subproces /usr/bin/dpkg retourneert een foutcode (1)
Analyse #
De fout treedt op tijdens de upgrade van Debian Buster naar Bookworm vanwege circulaire afhankelijkheden tussen libc en libcrypt , die in Bookworm bewust zijn vermeden. Door deze circulaire afhankelijkheden ontbreekt de vereiste gedeelde bibliotheek libcrypt.so.1 . Het libc6-pakket kan niet correct worden geconfigureerd, wat een foutmelding oplevert. Deze situatie benadrukt de inspanningen in Bookworm om circulaire afhankelijkheden te doorbreken, wat kan leiden tot potentiële problemen tijdens upgrades.
Oplossingsstappen #
Om dit probleem op te lossen, volgt u de onderstaande stappen voor handmatige oplossing:
1. Open een terminal en navigeer naar een tijdelijke map:
root@noid-ce-01:~# cd $(mktemp -d) root@noid-ce-01:/tmp/tmp.XX#
2. Download het libcrypt1-pakket:
root@noid-ce-01:/tmp/tmp.XX# apt -y download libcrypt1
3. Pak de inhoud van het libcrypt1-pakket uit:
root@noid-ce-01:/tmp/tmp.XX# dpkg-deb -x libcrypt1_*.deb .
4. Kopieer de uitgepakte bibliotheekbestanden naar de bibliotheekmap van het systeem:
root@noid-ce-01:/tmp/tmp.XX# cp -ra lib/* /lib/
5. Voer een reparatie uit aan eventuele defecte installaties:
root@noid-ce-01:/tmp/tmp.XX# apt -y --fix-broken installatie
6. Voltooi de upgrade van de minimale softwarestack:
root@noid-ce-01:~# apt-get upgrade root@noid-ce-01:~# apt-get dist-upgrade
Na het volgen van deze stappen zou de ontbrekende bibliotheek libcrypt.so.1 moeten worden geïnstalleerd en zou het libc6-pakket zonder fouten moeten worden geconfigureerd. Gebruikers kunnen vervolgens doorgaan met de Debian Buster-upgrade zonder de eerder gemelde problemen tegen te komen.
Opmerking: Zorg ervoor dat u over de juiste rechten beschikt om deze opdrachten uit te voeren en overweeg een back-up van kritieke gegevens te maken voordat u systeemupgrades uitvoert.