Verschil tussen yum update en yum install

Tijdens het werken met het rpm commando merkte ik dat als ik some-package-1.0 en vervolgens nog een rpm -ivh some-package-1.1 uitgevoerd, beide pakketten worden weergegeven als ik een rpm -qa | grep some-package zoals het volgende doe :

some-package-1.0 some-package-1.1 

In plaats van 1.1 te installeren, als ik upgrade via de rpm -Uvh some-package-1.1, krijg ik het gewenste resultaat van een enkel pakket (1.1) als ik rpm -qa | grep some-package doe.

Nu is hetzelfde gedrag van toepassing met yum install en yum update?

Ik vraag het omdat met het rpm -U (upgrade) commando een pakket niet “hoeft te bestaan om te upgraden / installeer maar met yum update (als ik me niet vergis) moet er al een pakket bestaan.

Ik ben vooral geïnteresseerd in het resultaat van het specificeren van pakketten met hun versies zoals some-package-1.0. Dus samengevat, wat ik wil weten is of ik twee specifieke versies heb, zoals some-package-1.0 en some-package-1.1:

  1. Zal het uitvoeren van een yum install op 1.1 nadat 1.0 al is geïnstalleerd, 2 pakketten weergeven?
  2. Zal yum update some-package-1.1 met succes some-package-1.0 vervangen?

Antwoord

De belangrijkste verschillen tussen YUM en RPM zijn dat yum weet hoe afhankelijkheden moeten worden opgelost en deze aanvullende pakketten kan vinden als hij zijn werk doet. Hoewel rpm u kan waarschuwen voor deze afhankelijkheden, is het niet in staat om aanvullende pakketten te vinden.

Wat betreft installeren versus upgraden. Beide tools kunnen een installatie uitvoeren, en met RPM kun je zelfs meerdere versies tegelijk installeren, maar YUM zal je vertellen dat dat pakket al is geïnstalleerd. Dus geen enkele YUM staat je niet toe om meerdere versies te installeren.

Wat betreft yum update, dit zal op twee manieren reageren. Als u een pakket vertelt dat u wilt bijwerken, zal het proberen dit te doen, alle noodzakelijke afhankelijkheden downloaden en ze ook installeren. Als u het zonder enige pakketnaam uitvoert, zal yum update proberen om elk pakket dat op uw systeem is geïnstalleerd bij te werken.

Als je gebruikt yum upgrade het zal hetzelfde doen als yum update, behalve dat het zal proberen om alle pakketten te verwijderen die zijn gemarkeerd als “verouderd”.

Voorbeeld

Hier is een scenario dat niet veel lijkt op het uwe. Een nieuwe versie van vim-X11 is beschikbaar.

$ yum check-update vim-X11 | expand Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit vim-X11.x86_64 2:7.4.417-1.fc19 updates 

En ik heb momenteel deze versie:

$ rpm -q vim-X11 | expand vim-X11-7.4.179-1.fc19.x86_64 

Wanneer we het proberen te installeren:

$ sudo yum install vim-X11 ... ================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================= Updating: vim-X11 x86_64 2:7.4.417-1.fc19 updates 1.2 M Updating for dependencies: vim-common x86_64 2:7.4.417-1.fc19 updates 5.9 M vim-enhanced x86_64 2:7.4.417-1.fc19 updates 1.0 M .... Running transaction Updating : 2:vim-common-7.4.417-1.fc19.x86_64 1/6 Updating : 2:vim-enhanced-7.4.417-1.fc19.x86_64 2/6 Updating : 2:vim-X11-7.4.417-1.fc19.x86_64 3/6 Cleanup : 2:vim-X11-7.4.179-1.fc19.x86_64 4/6 Cleanup : 2:vim-enhanced-7.4.179-1.fc19.x86_64 5/6 Cleanup : 2:vim-common-7.4.179-1.fc19.x86_64 6/6 Verifying : 2:vim-enhanced-7.4.417-1.fc19.x86_64 1/6 Verifying : 2:vim-X11-7.4.417-1.fc19.x86_64 2/6 Verifying : 2:vim-common-7.4.417-1.fc19.x86_64 3/6 Verifying : 2:vim-enhanced-7.4.179-1.fc19.x86_64 4/6 Verifying : 2:vim-X11-7.4.179-1.fc19.x86_64 5/6 Verifying : 2:vim-common-7.4.179-1.fc19.x86_64 6/6 

Dus samenvattend

  1. Zal het uitvoeren van een yum install op 1.1 nadat 1.0 al is geïnstalleerd, 2 pakketten weergeven?

Nee. YUM zal nog steeds een update uitvoeren, zelfs als je “hebt gezegd dat het moet installeren als het pakket al is geïnstalleerd.

  1. Zal het uitvoeren van yum update some-package-1.1 met succes een pakket-1.0 vervangen?

Ja.

Reacties

  • Bedankt voor het veel gedetailleerde antwoord. Dus zoals ik het zie, kan ik gewoon yum install blijven gebruiken wanneer ik de pakketnaam specificeer met de versie en me niet druk maak om het installeren van meerdere versies. Een situatie waarin ik yum update zou willen gebruiken, is wanneer ik alleen de pakketnaam specificeer, correct?
  • @aspiringCodeArtisan – dat ' s gedeeltelijk correct. yum install zal detecteren dat een pakket al is geïnstalleerd en zal overschakelen naar updaten in plaats van installeren, zoals mijn voorbeeld toonde.
  • @slm – Ter verduidelijking, kan rpm doorzoekt een repository vergelijkbaar met zypper, zoek naar een bepaald pakket?
  • @Motivated – no rpm is als dpkg , het betreft alleen zichzelf met het beheren van de bestanden op de lokale schijf. Voor repository " beheer " b / w je systeem + een repo heb je iets nodig als yum of dnf.
  • @Motivated – rpm wanneer gebruikt om te installeren vanaf een url heeft ' doe geen pakket dep om ze ook binnen te halen, het downloadt alleen de rpm lokaal en installeert het dan.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *