Vraag Kan problemen niet corrigeren, je hebt gebroken pakketten gehad


Na het upgraden van 10.04 naar 12.04 probeer ik verschillende pakketten te installeren. Bijvoorbeeld ia32-libs en skype (4.0).

Wanneer ik probeer deze te installeren, krijg ik het foutbericht 'Kan geen problemen oplossen, u houdt vastgelopen pakketten'.

Uitvoer van commando's:

sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Na het uitvoeren van dit:

sudo dpkg --configure -a
foo@foo:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

177
2017-11-28 23:48


oorsprong


Het kan helpen als je ons het commando laat zien dat je eigenlijk probeert (zoals sudo apt-get install ia32-libs) en de uitvoer van die opdracht. Ook doet sudo apt-get dist-upgrade toon alle beschikbare updates? - thomasrutter
Ik weet niet wat er mis is met uw vraag, ik zie geen echte fout, noch degene die u in uw titel beschrijft. - Braiam
mogelijk duplicaat van Hoe los ik onvervulde afhankelijkheden op? - Eliah Kagan
Verwant: E: Kan problemen niet corrigeren, je hebt gebroken pakketten gehad - Melebius


antwoorden:


Dat specifieke foutbericht kan aangeven dat je pakketten hebt vastgehouden, maar dit kan ook wijzen op een ander probleem.

U kunt een lijst krijgen van werkelijk gehouden pakketten met:

dpkg --get-selections | grep hold

Als er geen of niets aan de hand is, dan is het waarschijnlijk iets anders. Controleer zorgvuldig de uitvoer van de opdracht die u probeerde toen u de foutmelding kreeg, want er kunnen andere aanwijzingen zijn in de volledige uitvoer van die opdracht, afgezien van de foutmelding.

Een andere methode om problemen op te lossen is om aptitude te gebruiken in plaats van apt-get om te proberen uw pakket te installeren:

sudo aptitude install <packagename>

Aptitude zal minder gemakkelijk opgeven en zal proberen oplossingen te vinden die mogelijk andere pakketten kunnen wijzigen. Het geeft u mogelijk meer uitleg over het probleem en opties voor het oplossen ervan.

Af en toe zal aptitude te gretig zijn om grote aantallen pakketten te verwijderen of te downgraden om aan uw verzoek te voldoen. In dat geval zal opnieuw proberen met -f verandert zijn prioriteiten en helpt het oplossingen te bedenken waarbij minder pakketten worden verwijderd / gedowngraded, zelfs als dit betekent dat niet alle wijzigingen die u heeft aangevraagd, kunnen doorgaan:

sudo aptitude -f install <packagename>

198
2017-11-29 01:58



Enig idee hoe een pakket te onthouden? :-) - Eugene van der Merwe
Dat is een aparte vraag. - thomasrutter
Aptitude was mij meer behulpzaam dan apt-get, bedankt voor de hint. - szx
Een ding om op te merken is dat aptitude het gemakkelijker kan maken om meer schade toe te brengen aan je systeem. Als apt-get bijvoorbeeld mislukt om iets te installeren vanwege conflicterende afhankelijkheden, geeft het op. Echter, aptitude kan aanbieden om door te gaan, maar verwijder een heleboel andere pakketten om aan die conflicten te voldoen - of om zelfs pakketten te downgraden. Je moet gewoon weten wat het suggereert en alleen verder gaan als het een goed idee is. - thomasrutter
De "in de wacht zetten" -pakketten hebben niets met de boodschap te maken, alleen dat het conflict werd voorkomen door ze tegen te houden (niet installeren, upgraden, downgraden of verwijderen). - Braiam


Dat is ook met mij gebeurd. Alles wat ik deed was sudo apt-get update en dat heeft mijn probleem opgelost. Succes.


23
2017-08-27 02:43





Ik kwam een ​​vergelijkbaar scenario tegen met betrekking tot ontbrekende afhankelijkheden. In mijn geval probeerde ik krul te installeren op ubuntu saucy salamander 13.10 ...

De fout meldde dat de afhankelijkheid een eerdere versie van de curl3-bibliotheek vereiste.

Ik kon degraderen naar de eerdere versie door te proberen krullen te installeren met behulp van aptitude.

Toen het de ontbrekende afhankelijkheid en de reden opmerkte (vereiste een eerdere versie van het bibliotheekbestand), gaf het me verschillende opties om te reageren ... y //n/q

Y zou de installatie afgebroken hebben, N zou op zoek zijn naar een andere optie, en Q zou gewoon stoppen en niets meer doen, een kapot pakket achterlaten.

ik selecteerde N, en het gaf me de mogelijkheid om het bibliotheekbestand naar een eerdere versie te downgraden. Dus dat is wat ik deed en curl klaar met installeren zonder fouten meer.

  • Ik kan kijken naar het upgraden van het bibliotheekbestand na de installatie, maar hey, tot nu toe zo goed.

7
2018-03-02 06:53





Ik had een soortgelijk scenario in een nieuwe installatie van 14.04, zonder bestanden dpkg --get-selections | grep holden daarna geen vreugde meer sudo apt-get update.

Wat deed repareer het voor mij was een simpel

sudo apt-get autoremove

Toen ik probeerde om het falende pakket opnieuw te installeren, werkte het prima. Yay!


7
2017-07-27 13:41





Had hetzelfde probleem, ik heb die opdracht voor pakketcontrole uitgevoerd vanuit het andere antwoord (dpkg --get-selections | grep hold)  en zag

tomcat7                                         deinstall
tomcat7-common                                  install

dus ik gebruikte "apt-get remove tomcat7-common"

Daarna kon ik Tomcat 6 installeren (ik verwijderde Tomcat 7 en installeerde Tomcat 6 op dezelfde manier als jij).


4
2017-10-03 11:03



De "in de wacht" -pakketten hebben niets met de boodschap te maken, alleen dat het conflict werd voorkomen door ze tegen te houden (niet installeren, upgraden, downgraden of verwijderen) - Braiam
voeg de flag purge toe: apt-get remove --purge packet - Sergio Abreu


Voor mij werkte geen van de bovenstaande punten omdat mijn systeem niet is bijgewerkt. ik deed

Home Key > Software Updater > Install 

en mijn systeem bijgewerkt; daarna kon ik mijn pakket normaal installeren apt.


0
2018-05-25 14:01