Wat is het verschil tussen apt-get upgrade en dist-upgrade?

U zult vaak twee veelgebruikte manieren zien om op Debian en Ubuntu gebaseerde distributies bij te werken:

  • sudo apt-get update && sudo apt-get upgrade
  • sudo apt-get update && sudo apt-get dist-upgrade

Het apt-get update-gedeelte werkt de lokale pakketcache bij en vertelt uw systeem dus over de pakketten die kunnen worden geüpgraded.

Veel Linux-gebruikers raken echter in de war tussen het gebruik van apt-get upgrade en apt-get dist-upgrade.

Zijn ze hetzelfde, of is er een verschil? In welke gevallen moet u apt-get upgrade gebruiken en wanneer moet u apt-get dist-upgrade gebruiken?

In dit artikel leg ik het verschil uit tussen apt-get upgrade en dist-upgrade. Ik zal ook bespreken hoe apt upgrade en apt full-upgrade de dingen anders doen.

Verschil tussen apt-get upgrade vs apt-get dist-upgrade

Zowel upgrade als dist-upgrade worden gebruikt voor het upgraden van de geïnstalleerde pakketten op het systeem. De opdracht apt-get upgrade kan echter geen nieuw pakket installeren of een geïnstalleerd pakket van het systeem verwijderen. De dist-upgrade daarentegen kan indien nodig nieuwe pakketten installeren of bestaande pakketten verwijderen.

Het betekent ook je kunt de Linux-kernelversie niet upgraden met apt-get upgrade. Waarom? Uw systeem bewaart ten minste twee kernels tegelijk. Omdat wanneer er een nieuwe kernelversie beschikbaar is, deze wordt geïnstalleerd samen met de versie die al in gebruik is.

Aangezien het gaat om het installeren van nieuwe pakketten, voert apt-get upgrade geen upgrade van de kernel uit.

apt-get upgrade cannot'upgrade' kernel versionapt-get upgrade cannot'upgrade' kernel version
apt-get upgrade kan de kernelversie niet 'upgraden'

De dist-upgrade is een superset van upgrade. Afgezien van de upgradefunctie, kan het ook intelligent omgaan met wijzigingen in de pakketafhankelijkheden. Dit omvat het verwijderen van afhankelijkheidspakketten die niet langer nodig zijn of het oplossen van conflicten tussen pakketten die zijn ontstaan ​​door wijzigingen in de afhankelijkheden. Het kan indien nodig ook nieuwe pakketten installeren.

U kunt in de schermafbeelding zien dat het uitvoeren van apt-get dist-upgrade niet alleen geïnstalleerde pakketten opwaardeert, maar ook de nieuwe kernelversie installeert.

apt-get dist-upgrade kan de kernelversie upgradenapt-get dist-upgrade kan de kernelversie upgraden
apt-get dist-upgrade kan de kernelversie upgraden

Het is niet alleen beperkt tot kernel-upgrades. Wanneer uw systeem scenario's tegenkomt waarin het (afhankelijkheids)pakketten moet installeren of verwijderen voor het upgraden van de geïnstalleerde pakketten, helpt dist-upgrade u. Als je het ziet pakketten zijn achtergehouden bericht, kunt u de dist-upgrade uitvoeren of apt-get install expliciet op die pakketten uitvoeren.

pakketten zijn achtergehoudenpakketten zijn achtergehouden

Als u de distributieversie wilt upgraden, moet u dist-upgrade gebruiken voordat u de distributie-upgrade start, zodat alle afhankelijkheden correct worden afgehandeld. Dit betekent NIET dat u de opdracht dist-upgrade uitvoert en dat uw Ubuntu is geüpgraded naar 22.04 vanaf 20.04.

Om samen te vatten:

  • apt-get upgrade upgrade alleen bestaande pakketten. Het installeert geen nieuwe pakketten en verwijdert geen bestaande pakketten.
  • apt-get upgrade upgrade kernelversie niet
  • dist-upgrade kan afhankelijkheidspakketten verwijderen of nieuwe installeren (indien nodig)
  • dist-upgrade kan ook de kernelversie upgraden
  • dist-upgrade upgradet de distributieversie niet

Waarom gebruik je dan niet altijd dist-upgrade?

Nu, dit is de echte vraag. Als de dist-upgrade het superieure commando is en al die apt-get upgrade doet, waarom zou je het dan niet altijd gebruiken? Waarom zou je überhaupt de moeite nemen om apt-get upgrade te gebruiken?

Het antwoord stabiliteit en voorspelbaarheid.

Als u een desktopgebruiker bent, hoeft u zich misschien niet veel zorgen te maken. Maar stel dat u een systeembeheerder bent die bedrijfskritieke servers beheert waarop verschillende services worden uitgevoerd met verschillende geconfigureerde software. In dat geval kun je de machine niet laten beslissen over het verwijderen van pakketten, hoe 'intelligent' of 'slim' het ook is.

U wilt niet dat uw zorgvuldig geconfigureerde systeem zich vreemd gedraagt ​​omdat een pakket automatisch is verwijderd door apt.

Er was ook een tijd dat het upgraden van de kernel ook een groot probleem was. Het was aan sysadmins om te bepalen of de geïnstalleerde kernelversie zou worden geüpgraded of niet. Ubuntu en andere distributies hebben het de laatste tijd iets beter gemaakt.

Betekent dit dus dat je als desktop Linux-gebruiker apt-get upgrade kunt dumpen en altijd op dist-upgrade kunt vertrouwen? Ik heb hier een beter voorstel.

Gebruik in plaats daarvan de opdracht apt

Nee serieus. apt-get is een legacy, low-level commando dat veel dingen kan doen. Het is geschikt om te worden gebruikt in scripts door andere tools of sysadmins.

De opdracht apt is een vereenvoudigde versie en is bedoeld voor gewone, informele gebruikers. Het doet de dingen een beetje beter en eenvoudiger dan apt-get.

Voor uw Ubuntu-systeem bijwerken, gebruik deze opdracht:

sudo apt update && sudo apt upgrade

In tegenstelling tot apt-get upgrade, kan de apt-upgrade nieuwe pakketten installeren en dus de Linux-kernelversie upgraden.

Er is ook apt full-upgrade wat gelijk staat aan dist-upgrade.

Was het duidelijk?

Ik zou adviseren wat meer te lezen over de apt- en apt-get-opdrachten. Hier zijn een paar artikelen om je op weg te helpen:

Ik hoop dat ik de zaken duidelijk heb kunnen maken en dat u het verschil tussen apt-get upgrade en dist-upgrade beter begrijpt.

Maar als dat niet het geval is en je nog wat vragen hebt, laat het me dan weten in het commentaargedeelte.

Origineel artikel

Gerelateerde artikelen

Terug naar boven knop