Forskjellen mellom yum update vs yum install

Mens jeg jobbet med rpm kommandoen, la jeg merke til at hvis jeg installerte some-package-1.0 og deretter utført en annen rpm -ivh some-package-1.1 begge pakkene vil bli oppført når jeg gjør en rpm -qa | grep some-package som følgende :

some-package-1.0 some-package-1.1 

I stedet for å installere 1.1, men hvis jeg oppgraderer via rpm -Uvh some-package-1.1, får jeg ønsket resultat av en enkeltpakke (1.1) når jeg gjør rpm -qa | grep some-package.

Nå gjelder den samme oppførselen med yum install og yum update?

Jeg spør fordi med rpm -U (oppgradering) -kommandoen trenger en pakke ikke eksistere for å oppgradere / installere men med yum update (hvis jeg ikke tar feil) må det allerede eksistere en pakke.

Jeg er spesielt interessert i å vite resultatet av å spesifisere pakker med deres versjoner som some-package-1.0. Så i sammendrag, det jeg vil vite er om jeg har to spesifikke versjoner som some-package-1.0 og some-package-1.1:

  1. Vil du utføre en yum install 1.1 etter at 1.0 allerede er installert, liste opp 2 pakker?
  2. Kjører yum update some-package-1.1 vellykket erstatt some-package-1.0?

Svar

Major Forskjellene mellom YUM og RPM er at yum vet hvordan de skal løse avhengigheter og kan hente disse tilleggspakkene når de gjør jobben sin. Selv om rpm kan varsle deg om disse avhengighetene, er det ikke i stand til å hente flere pakker.

Når det gjelder installasjon mot oppgradering. Begge verktøyene kan utføre en installasjon, og RPM lar deg til og med installere flere versjoner samtidig, men YUM vil fortelle deg at den pakken allerede er installert. Så ingen YUM vil ikke tillate deg å installere flere versjoner.

Når det gjelder yum update, vil dette reagere på en av to måter. Hvis du forteller den en pakke du vil oppdatere, vil den prøve å gjøre det, laste ned alle nødvendige avhengigheter og installere dem også. Hvis du kjører det uten noe pakkenavn, vil yum update prøve å oppdatere alle pakker som er installert på systemet ditt.

Hvis du bruker yum upgrade det vil gjøre det samme som yum update, bortsett fra at det vil prøve å fjerne eventuelle pakker som er merket som «foreldet».

Eksempel

Her er et scenario som ikke er ulikt ditt eget. En ny versjon av vim-X11 er tilgjengelig.

$ 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 

Og jeg er for øyeblikket i denne versjonen:

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

Når vi prøver å installere det:

$ 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 

Så i sammendrag

  1. Vil du utføre en yum install på 1.1 etter at 1.0 allerede er installert, liste opp 2 pakker?

Nei. YUM vil fremdeles utføre en oppdatering selv når du har bedt den om å gjøre en installasjon hvis pakken allerede er installert.

  1. Kommer yum update some-package-1.1 til å erstatte some-package-1.0?

Ja.

Kommentarer

  • Takk for det mye detaljerte svaret. Så slik jeg ser det, kan jeg bare fortsette å bruke yum install når jeg spesifiserer pakkenavn med versjon og ikke er opptatt av at det installerer flere versjoner. En situasjon der jeg ønsker å bruke yum update, ville være når jeg bare spesifiserer pakkenavnet, riktig?
  • @aspiringCodegmentan – at ' er delvis riktig. yum install vil oppdage at en pakke allerede er installert og vil bytte til å oppdatere den mot å installere den, som eksemplet mitt viste.
  • @slm – For å avklare, kan rpm søke i et lager som ligner på zypper-søk etter en bestemt pakke?
  • @Motivated – nei rpm er som dpkg , det gjelder bare seg selv med administrering av filene på den lokale disken. For depot " management " s / v systemet ditt + en repo trenger du noe sånt som yum eller dnf.
  • @Motivated – rpm når det brukes til å installere fra en url, ' Ikke gjør noen pakkeavhengig for å trekke dem inn, den laster bare ned o / min lokalt og installerer den deretter.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *