Waarom apt-get upgrade gebruiken in plaats van apt-get dist-upgrade?
Ik gebruik meestal apt-get update && apt-get upgrade
om mijn updates en upgrades uit te voeren in plaats van de GUI omdat het sneller lijkt te gaan.
Echter, ik'heb de laatste tijd gemerkt dat ik vaak een bericht krijg dat een van mijn upgrades werd tegengehouden. Ik voer dan meestal dist-upgrade
uit om het door te voeren en het werkt prima. Voor zover ik kan zien na het lezen van deze vraag en de antwoorden, doet dist-upgrade
al dezelfde dingen en dan nog wat.
Dus, mijn vraag is: Waarom zou je apt-get upgrade
überhaupt gebruiken? Waarom niet de hele tijd apt-get dist-upgrade
gebruiken? Waarom bestaat apt-get upgrade
eigenlijk?
305
3
Ik upgrade mijn machines meestal met:
Hieronder staat een uittreksel van
man apt-get
. Het gebruik van upgrade houdt zich aan de regel: onder geen enkele omstandigheid worden momenteel geïnstalleerde pakketten verwijderd, of pakketten die nog niet geïnstalleerd zijn opgehaald en geïnstalleerd.Als dat's belangrijk voor u, gebruik danapt-get upgrade
. Als u wilt dat dingen "gewoon werken", wilt u waarschijnlijkapt-get dist-upgrade
om ervoor te zorgen dat afhankelijkheden worden opgelost.Om uit te breiden over waarom u
apt-get dist-upgrade
zou willen in plaats vanapt-get dist-upgrade
, als u een systeembeheerder bent, heeft u voorspelbaarheid nodig. Je gebruikt misschien geavanceerde functies zoals apt pinning of trekken uit een verzameling van PPA's (misschien heb je een in-house PPA), met verschillende automatiseringen op zijn plaats om je systeem en beschikbare upgrades te inspecteren in plaats van altijd gretig alle beschikbare pakketten te upgraden. Je zou erg gefrustreerd raken als apt onscripted gedrag vertoont, vooral als dit leidt tot downtime van een productie service.De
upgrade
optie installeert alleen nieuwe versies van de pakketten die al op het systeem geïnstalleerd zijn (en ja, kernel updates horen daar ook bij).Echter, soms veranderen de updates afhankelijkheden: bijvoorbeeld, een nieuwe versie van een pakket zal niet langer afhankelijk zijn van een bibliotheek die u heeft geïnstalleerd, of zal de installatie van extra bibliotheken vereisen. De
upgrade
optie zal nooit geïnstalleerde pakketten verwijderen die u eigenlijk niet meer nodig heeft.Echter, de
dist-upgrade
optie kan "intelligent" omgaan met veranderingen in het afhankelijkheden systeem. Dit omvat het verwijderen van pakketten die niet langer nodig zijn of het oplossen van conflicten tussen pakketten die zijn ontstaan door wijzigingen in de afhankelijkheden.Gebruikers kunnen zijn gaan vertrouwen op pakketten die impliciet werden geïnstalleerd vanwege andere (expliciet geïnstalleerde) pakketten' afhankelijkheid ervan. Het verpakkingssysteem kan dus niet op de hoogte zijn van de wens van een gebruiker/administrator om bepaalde functionaliteit te behouden die anders via een dist-upgrade zou kunnen worden verwijderd.