Forskel mellem yum-opdatering og yum-installation

Under arbejdet med rpm -kommandoen bemærkede jeg, at hvis jeg installerede some-package-1.0 og derefter udført en anden rpm -ivh some-package-1.1 begge pakker vises, når jeg laver en rpm -qa | grep some-package som følgende :

some-package-1.0 some-package-1.1 

I stedet for at installere 1.1 får jeg dog det ønskede resultat af en hvis jeg opgraderer via rpm -Uvh some-package-1.1 enkelt pakke (1.1) når jeg gør rpm -qa | grep some-package.

Nu gælder den samme adfærd med yum install og yum update?

Jeg spørger, for med rpm -U (opgradering) -kommandoen behøver en pakke ikke at eksistere for at opgradere / installer men med yum update (hvis jeg ikke tager fejl) skal der allerede findes en pakke.

Jeg er især interesseret i at kende resultatet af at specificere pakker med deres versioner såsom some-package-1.0. Så i opsummering er det, jeg vil vide, om jeg har to specifikke versioner som some-package-1.0 og some-package-1.1:

  1. Vil udføre en yum install den 1.1 efter 1.0 allerede er installeret, liste 2 pakker?
  2. Kører yum update some-package-1.1 erstat some-package-1.0?

Svar

Major forskellene mellem YUM og RPM er, at yum ved, hvordan man løser afhængigheder og kan hente disse ekstra pakker, når de udfører sit arbejde. Selvom rpm kan advare dig om disse afhængigheder, er den ikke i stand til at hente yderligere pakker.

Hvad angår installation versus opgradering. Begge værktøjer kan udføre en installation, og RPM giver endda dig mulighed for at installere flere versioner samtidigt, men YUM vil fortælle dig, at denne pakke allerede er installeret. Så ingen YUM tillader dig ikke at installere flere versioner.

Hvad angår yum update, vil dette reagere på en af to måder. Hvis du fortæller det en pakke, som du vil opdatere, forsøger den at gøre det ved at downloade alle de nødvendige afhængigheder og installere dem også. Hvis du kører det uden noget pakkenavn, vil yum update forsøge at opdatere hver pakke, der er installeret på dit system.

Hvis du bruger yum upgrade, det gør det samme som yum update, bortset fra at det forsøger at fjerne eventuelle pakker, der er markeret som “forældede”.

Eksempel

Her er et scenarie, der ikke ligner dit eget. En ny version af vim-X11 er tilgængelig.

$ 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 i øjeblikket i denne version:

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

Når vi prøver at 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 resumé

  1. Vil du udføre en yum install den 1.1 efter 1.0 allerede er installeret, liste 2 pakker?

Nej. YUM udfører stadig en opdatering, selv når du har bedt den om at udføre en installation, hvis pakken allerede er installeret.

  1. Vil <-id = "54c4206021">

erstatte some-package-1.0 med succes?

Ja.

Kommentarer

  • Tak for det meget detaljerede svar. Så som jeg ser det, kan jeg bare fortsætte med at bruge yum install, når jeg angiver pakkenavn med version og ikke er bekymret for, at det installerer flere versioner. En situation, hvor jeg gerne vil bruge yum update, ville være, når jeg kun angiver pakkens navn, korrekt?
  • @aspiringCodeicialan – at ' er delvist korrekt. yum install registrerer, at en pakke allerede er installeret og skifter til opdatering versus installation af den, som mit eksempel viste.
  • @slm – For at afklare kan rpm søge i et arkiv svarende til zypper-søgning efter en bestemt pakke?
  • @Motivated – ingen rpm er som dpkg , det vedrører kun sig selv med administration af filerne på den lokale disk. For lager " management " sort / hvidt dit system + en repo har du brug for noget som yum eller dnf.
  • @Motivated – rpm når det bruges til at installere fra en url, ' Foretag ikke en pakke for at trække dem ind, den downloader kun omdrejningstallet lokalt og installerer det derefter.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *