Fix: kan problemen niet corrigeren 'U hebt gebroken pakketten aangehouden'
Je zou kunnen merken dat wanneer je een pakket probeert te installeren op Linux, je een gevreesde regel tegenkomt die E aangeeft: Onmogelijk om problemen te corrigeren, je hebt gebroken pakketten gehad. De installatie weigert dan verder te gaan dan dit punt. U vindt dit mogelijk op elke Linux-distributie die apt-get gebruikt om pakketten te beheren, waaronder Debian en de verschillende Linux Mint- en Ubuntu-spin-offs.
Het wordt veroorzaakt door gebroken afhankelijkheden, die een neveneffect zijn van het installeren van pakketten 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 gaan. Enkele eenvoudige opdrachtregeltricks en een grafische tool kunnen alles snel oplossen.
Methode 1: dpkg -configure gebruiken om opgeloste pakketten te repareren
Tijdens het werken op de terminal probeert u sudo dpkg -configure -a uit te voeren om een automatisch updateproces te starten dat op zoek is naar eventuele gebroken afhankelijkheden van uw systeem veroorzaakt door pakketten die niet zijn geïnstalleerd. Deze tool zou automatisch elk pakket moeten installeren dat volgens u verloren gaat zonder tussenkomst van de gebruiker, maar als u wordt gevraagd iets te installeren, moet u op de toets y drukken om op de prompt te reageren.
Als het geen kapotte pakketten vindt, zou u geen enkele uitvoer moeten zien. We hebben dit uitgevoerd op een schone testmachine met Xubuntu, dus er zijn geen fouten aangetroffen, maar als je problemen met het niet corrigeren van problemen hebt gekregen, heb je pakketten met gebroken pakketten ontvangen. Dit kan verschillende pakketten vinden die je moet installeren. Zodra je het hebt uitgevoerd, probeer sudo apt-get install -f vanaf de opdrachtregel.
Dit programma gaat door en bouwt een afhankelijkheidslijst en leest vervolgens de statusinformatie. Als u een bericht ontvangt met de melding dat er 0 is geüpgraded, 0 nieuw is geïnstalleerd, 0 om 0 te verwijderen en 0 niet-geüpgradede pakketten, dan werkte u ofwel zonder gebroken afhankelijkheden of met de vorige opdracht werd alles hersteld. Op dit moment kunt u sudo apt-get clean && sudo apt-get-update uitvoeren 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 problemen met het pakket had.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikkenMethode 2: Gebruik van de opdracht dist-upgrade
Als u een bericht krijgt dat sommige pakketten zijn achtergehouden zodat u de eerdere opdracht niet kon voltooien, moet u sudo apt-get dist-upgrade uitvoeren om de rest van deze pakketten te installeren. Naast het uitvoeren van de functie van een normale upgrade handelt de dist-upgrade-optie gewijzigde afhankelijkheden af met nieuwere versies van pakketten. Omdat apt-get een speciaal conflictsysteem heeft, probeert het meestal de belangrijkste pakketten te upgraden ten koste van niets te doen voor mensen die minder belangrijk zijn voor je systeem. Het gebruik van dit commando dwingt zelfs om deze bij te werken.
Dat gezegd hebbende, als er geen kapotte pakketten worden gedetecteerd, krijg je gewoon een derde bericht dat er niets is bijgewerkt en dat er niets nieuw is geïnstalleerd. Als dit het geval is, kunt u sudo apt-get-upgrade opnieuw proberen, zodat als er wijzigingen zijn, de automatische upgrade-subroutine kan worden gebruikt. Aan de andere kant, als u de specifieke naam van het pakket weet dat u nodig hebt, dan zou u het handmatig kunnen installeren.
Neem bijvoorbeeld aan dat de GNUStep runtime-component was wat u ontbrak omdat u stemsynthese wilde gebruiken. U kunt gewoon sudo apt-get install gnustep-gui-runtime typen 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 wilt installeren. Moderne distributies op basis van de apt-get-standaard hebben enkele duizenden pakketten, maar zolang u de naam weet van degene die u zoekt, wordt deze gedwongen om te installeren.
Methode 3: Gebroken pakketten repareren met Synaptic
Als u de grafische pakketbeheerder van Synaptic hebt, kunt u deze tool ook gebruiken om eventuele defecte pakketten te repareren. Open het programma en selecteer vervolgens het vervolgkeuzemenu Bewerken. Je zou een Fix Broken Packages-optie moeten hebben in dit menu, dus selecteer het als je dit doet. Het duurt niet lang om uit te voeren als er niet veel kapotte pakketten zijn, maar het kan een aantal fouten vinden die de uitvoering zouden vertragen.
Als het eenmaal door alles heen is gegaan, ziet u de woorden Succesvol opgeloste afhankelijkheidsproblemen in de onderste statusregel.
U kunt nu pakketten updaten en installeren, net als normaal. De meeste gebruikers zullen de dingen alleen op deze manier doen als ze al in Synaptic werken, maar het is er wanneer je het nodig hebt. Zodra het is uitgevoerd, kunt u Synaptic sluiten en weer vanaf de opdrachtprompt werken of doorgaven om hier wijzigingen aan te brengen.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken