När jag arbetade med kommandot rpm
såg jag att om jag installerade some-package-1.0
och utförde sedan en annan rpm -ivh some-package-1.1
båda paketen kommer att listas när jag gör en rpm -qa | grep some-package
som följande :
some-package-1.0 some-package-1.1
Men istället för att installera 1.1 får jag det önskade resultatet av en om jag uppgraderar via rpm -Uvh some-package-1.1
enda paket (1.1) när jag gör rpm -qa | grep some-package
.
Nu gäller samma beteende med yum install
och yum update
?
Jag frågar för att med paketet rpm -U
(uppgradering) behöver det inte finnas ett paket för att uppgradera / installera men med yum update
(om jag inte tar fel) måste det redan finnas ett paket.
Jag är särskilt intresserad av att veta resultatet av att ange paket med deras versioner som some-package-1.0
. Sammanfattningsvis, vad jag vill veta är om jag har två specifika versioner som some-package-1.0
och some-package-1.1
:
- Kommer att utföra en
yum install
1.1 efter att 1.0 redan är installerad, lista 2 paket? - Kommer
yum update some-package-1.1
ersättsome-package-1.0
?
Svar
Major skillnader mellan YUM och RPM är att yum
vet hur man kan lösa beroenden och kan hämta dessa ytterligare paket när de gör sitt arbete. Även om rpm
kan varna dig för dessa beroenden, kan det inte hämta fler paket.
När det gäller installation jämfört med uppgradering. Båda verktygen kan utföra en installation och RPM tillåter till och med att du installerar flera versioner samtidigt, men YUM kommer att berätta att det paketet redan är installerat. Så ingen YUM tillåter dig inte att installera flera versioner.
När det gäller yum update
kommer detta att reagera på ett av två sätt. Om du berättar för det ett paket som du vill uppdatera kommer det att försöka göra det, ladda ner alla nödvändiga beroenden och installera dem också. Om du kör det utan något paketnamn försöker yum update
att uppdatera alla paket som installeras på ditt system.
Om du använder yum upgrade
det kommer att göra detsamma som yum update
, förutom att det försöker ta bort alla paket som har markerats som ”föråldrade”.
Exempel
Här ”är ett scenario som inte skiljer sig från ditt eget. En ny version av vim-X11
är tillgänglig.
$ 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
Och jag är för närvarande på den här versionen:
$ rpm -q vim-X11 | expand vim-X11-7.4.179-1.fc19.x86_64
När vi försöker installera 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 sammanfattning
- Kommer en
yum install
1.1 efter att 1.0 redan är installerad, lista 2 paket?
Nej. YUM kommer fortfarande att utföra en uppdatering även när du har sagt att den ska göra en installation om paketet redan är installerat.
- Kommer körning av
yum update some-package-1.1
att ersätta some-package-1.0?
Ja.
yum install
när jag anger paketnamn med version och inte är bekymrad över att det installerar flera versioner. En situation där jag skulle vilja användayum update
skulle vara när jag bara anger paketnamnet, rätt?yum install
kommer att upptäcka att ett paket redan är installerat och byter till att uppdatera det jämfört med att installera det, som mitt exempel visade.rpm
är somdpkg
, det gäller bara sig själv med hantering av filerna på den lokala disken. För förvar " management " svartvitt ditt system + en repo behöver du något somyum
ellerdnf
.rpm
när det används för att installera från en webbadress ' t gör något paket för att dra in dem också, det laddar bara ner varvtalet lokalt och installerar det sedan.