Jeg har nettopp lagt til et PPA-depot for utviklingsversjonen av GIMP, men jeg får denne feilen:
$ apt-get update && apt-get upgrade
...
The following packages have been kept back:
gimp gimp-data libgegl-0.0-0 libgimp2.0
Hvorfor og hvordan kan jeg løse det slik at jeg kan bruke den nyeste versjonen i stedet for den jeg har nå?
Ifølge en artikkel på debian-administration.org,
Hvis avhengighetene har endret seg for en av pakkene du har installert, slik at en ny pakke må installeres for å utføre oppgraderingen, vil den bli oppført som "holdt tilbake".
Forsiktig løsning 1:
Per Pablo&# 39s svar, kan du kjøre sudo apt-get --with-new-pkgs upgrade
, og det vil installere de tilbakeholdte pakkene.
Dette har fordelen av å ikke merke de tilbakeholdte pakkene som "manuelt installert", noe som kan tvinge mer brukerintervensjon nedover linjen (se kommentarer).
Hvis Pablos løsning fungerer for deg, kan du stemme den opp. Hvis ikke, vennligst kommenter hva som gikk galt.
Forsiktig løsning 2:
Den forsiktige løsningen er å kjøre sudo apt-get install <list of packages kept back>
. I de fleste tilfeller vil dette gi de tilbakeholdte pakkene det de trenger for å kunne oppgradere.
Aggressiv løsning:
En mer aggressiv løsning er å kjøre sudo apt-get dist-upgrade
, som vil tvinge installasjonen av de nye avhengighetene.
Men dist-upgrade
kan være ganske farlig. I motsetning til oppgradering det kan fjerne pakker for å løse komplekse avhengighetssituasjoner. I motsetning til deg er ikke APT alltid smart nok til å vite om disse tilleggene og fjerningene kan skape kaos.
Så hvis du befinner deg på et sted der den "forsiktige løsningen" ikke fungerer, kan det hende at "dist-upgrade" fungerer ... men det er sannsynligvis bedre å lære litt mer om APT og løse avhengighetsproblemene "for hånd" ved å installere og fjerne pakker fra sak til sak.
Tenk på det som å fikse en bil ... hvis du har tid og er hendig med en skiftenøkkel, vil du få litt ro i sjelen ved å lese deg opp og gjøre reparasjonen selv. Hvis du føler deg heldig, kan du levere bilen din til kusinen din dist-upgrade
og håpe at hun kan tingene sine.
Det er vanligvis to grunner til at du ser denne meldingen.
Hvis oppgradering av programmet (via sudo apt-get upgrade
) vil føre til at pakker blir lagt til eller fjernet, vil programmet bli holdt tilbake. Du kan bruke sudo apt-get dist-upgrade
i dette tilfellet, som da vil tilby å legge til eller fjerne tilleggsprogrammene.
Dette er ganske vanlig og vanligvis ikke et problem. Av og til (spesielt under en Ubuntu-alfa) vil en dist-upgrade
tilby å fjerne mange andre programmer, i så fall vil du sannsynligvis avbryte den.
Hvis programmet er avhengig av pakker eller versjoner som ikke er tilgjengelige, vil programmet bli holdt tilbake. Du kan egentlig ikke gjøre noe annet enn å vente i denne omstendigheten, siden pakken i utgangspunktet ikke kan avinstalleres. Dette kan skje når pakker blir lagt til depotet ute av drift, når en pakke blir omdøpt, eller når en pakke slutter å levere en virtuell pakke.
Sannsynligvis holdes disse pakkene tilbake fordi installasjonen av dem vil skape avhengighetsinkonsistenser. Dette kan enten skje fordi du bruker arkiver under aktiv utvikling, ppas, eller fordi speilet du bruker ikke er fullstendig oppdatert.
I det siste tilfellet er det bare å vente, når avhengighetene er løst, vil det bli installert neste gang.
Rediger:
Det er en annen mulighet, pakker kan bli holdt tilbake hvis det er satt et hold på dem, eller hvis de er festet.