Oplossing: kan problemen niet oplossen ‘U heeft kapotte pakketten’



Probeer Ons Instrument Voor Het Oplossen Van Problemen

Je zou kunnen ontdekken dat wanneer je een pakket op Linux probeert te installeren, je een gevreesde regel vindt met de tekst E: Kan problemen niet corrigeren, je hebt kapotte pakketten vastgehouden. De installatie weigert dan verder te gaan dan dit punt. U kunt dit vinden op elke Linux-distributie die apt-get gebruikt om pakketten te beheren, waaronder zowel Debian als de verschillende Linux Mint- en Ubuntu-spin-offs.



Het wordt veroorzaakt door verbroken afhankelijkheden, die een neveneffect zijn van het hebben van pakketten die zijn geïnstalleerd die afhankelijk zijn van andere pakketten die niet zijn geïnstalleerd. Wanneer apt-get iets gaat installeren, merkt het dat het geen toegang heeft tot iets dat het nodig heeft en daarom niet verder kan. Een paar eenvoudige commandoregel-trucs en een grafische tool kunnen alles snel oplossen.



Methode 1: dpkg –configure gebruiken om vastgehouden kapotte pakketten te herstellen

Terwijl je op de terminal werkt, probeer je te rennen sudo dpkg - configureer -a om een ​​automatisch updateproces te starten dat zoekt naar verbroken afhankelijkheden op uw systeem die worden veroorzaakt door pakketten die niet zijn geïnstalleerd. Deze tool zou automatisch elk pakket moeten installeren waarvan het denkt dat je het mist zonder tussenkomst van de gebruiker, maar als je wordt gevraagd iets te installeren, moet je op de y-toets drukken om op de prompt te reageren.



Als het geen kapotte pakketten vindt, zou je geen uitvoer moeten zien. We hebben dit uitgevoerd op een schone testmachine waarop Xubuntu draait, dus er zijn geen fouten gevonden, maar als je problemen krijgt met 'Unable to Correct Problems, You have Held Broken Packages', dan kan dit verschillende pakketten vinden die je moet installeren . Probeer het als u het eenmaal heeft uitgevoerd sudo apt-get install -f vanaf de opdrachtregel.



Dit programma zal een lijst met afhankelijkheden doorlopen en bouwen en vervolgens statusinformatie lezen. Als je een bericht krijgt waarin staat dat er pakketten waren '0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd', dan werkte je ofwel zonder verbroken afhankelijkheden of het vorige commando loste alles op. Op dit punt kun je rennen sudo apt-get clean && sudo apt-get update gevolgd door sudo apt-get upgrade om elk pakket op uw systeem bij te werken. Dit kan even duren, afhankelijk van hoe lang uw systeem deze pakketproblemen had.

Methode 2: de opdracht dist-upgrade gebruiken

Als u een bericht krijgt dat 'sommige pakketten zijn tegengehouden', zodat u de eerdere opdracht niet met succes kunt voltooien, moet u het uitvoeren sudo apt-get dist-upgrade om de rest van deze pakketten te installeren. Naast het uitvoeren van de functie van een reguliere upgrade, behandelt de dist-upgrade-optie gewijzigde afhankelijkheden met nieuwere versies van pakketten. Aangezien apt-get een speciaal conflictsysteem heeft, probeert het gewoonlijk de belangrijkste pakketten te upgraden ten koste van niets te doen aan degenen die minder belangrijk zijn voor uw systeem. Het gebruik van dit commando dwingt zelfs degenen om te updaten.

Dat gezegd hebbende, als er geen defecte pakketten worden gedetecteerd, krijgt u gewoon een derde bericht dat er niets is geüpgraded en niets nieuw is geïnstalleerd. Als dit het geval is, kunt u het proberen sudo apt-get upgrade nogmaals, zodat als er wijzigingen waren, de automatische upgrade-subroutine kan worden vastgehouden. Aan de andere kant, als u de specifieke naam kent van het pakket dat u nodig heeft, dan kunt u het handmatig installeren.

Stel bijvoorbeeld dat de GNUStep-runtime-component was wat u miste, aangezien u spraaksynthese wilde gebruiken. U kunt gewoon typen sudo apt-get install gnustep-gui-runtime om dit essentiële pakket te installeren. Houd er rekening mee dat dit slechts een voorbeeld is en dat u gnustep-gui-runtime kunt vervangen door de naam van elk pakket dat u moet installeren. Moderne distributies die zijn gebaseerd op de apt-get-standaard hebben duizenden pakketten, maar zolang je de naam kent van degene die je zoekt, zal dit het installeren ervan dwingen.

Methode 3: Repareer defecte pakketten met Synaptic

Als u de grafische pakketbeheerder van Synaptic heeft, kunt u deze tool ook gebruiken om defecte pakketten te repareren. Open het programma en selecteer vervolgens het vervolgkeuzemenu Bewerken. U zou in dit menu de optie 'Gebroken pakketten repareren' moeten hebben, dus selecteer deze als u dat doet. Het duurt niet lang als er niet veel kapotte pakketten zijn, maar het kan een aantal fouten vinden die de uitvoering vertragen.

Zodra alles is doorlopen, ziet u de woorden 'Met succes opgeloste afhankelijkheidsproblemen' in de onderste statusregel.

U kunt nu pakketten bijwerken en installeren zoals normaal. De meeste gebruikers zullen de dingen alleen op deze manier doen als ze al in Synaptic werkten, maar het is er wanneer u het nodig heeft. Als het eenmaal is uitgevoerd, kunt u Synaptic sluiten en weer vanaf de opdrachtprompt werken of hier wijzigingen blijven aanbrengen.

3 minuten gelezen