Bei der Arbeit mit dem Befehl rpm ist mir aufgefallen, dass ich some-package-1.0 und führte dann ein weiteres rpm -ivh some-package-1.1 aus. Beide Pakete werden aufgelistet, wenn ich eine rpm -qa | grep some-package wie folgt mache :
some-package-1.0 some-package-1.1
Wenn ich jedoch anstelle von 1.1 ein Upgrade über rpm -Uvh some-package-1.1 durchführe, erhalte ich das gewünschte Ergebnis von a Einzelpaket (1.1), wenn ich rpm -qa | grep some-package mache.
Jetzt gilt das gleiche Verhalten für yum install und yum update?
Ich frage, weil mit dem Befehl rpm -U (upgrade) ein Paket nicht existieren muss, um ein Upgrade durchzuführen / installieren, aber mit yum update (wenn ich mich nicht irre) muss bereits ein Paket vorhanden sein.
Ich bin besonders daran interessiert, das Ergebnis der Angabe von Paketen mit ihren zu kennen Versionen wie some-package-1.0. Zusammenfassend möchte ich also wissen, ob ich zwei spezifische Versionen wie some-package-1.0 und some-package-1.1 habe:
- Wird eine
yum installunter 1.1 ausgeführt, nachdem 1.0 bereits installiert wurde, und 2 Pakete aufgelistet? - Wird
yum update some-package-1.1erfolgreich ersetzensome-package-1.0?
Antwort
Der Major Unterschiede zwischen YUM und RPM bestehen darin, dass yum weiß, wie Abhängigkeiten aufgelöst werden, und diese zusätzlichen Pakete bei der Arbeit beziehen kann. rpm kann Sie zwar auf diese Abhängigkeiten aufmerksam machen, es können jedoch keine zusätzlichen Pakete bereitgestellt werden.
In Bezug auf Installation und Aktualisierung. Beide Tools können eine Installation durchführen, und mit RPM können Sie sogar mehrere Versionen gleichzeitig installieren. YUM teilt Ihnen jedoch mit, dass dieses Paket bereits installiert ist. Mit YUM können Sie also nicht mehrere Versionen installieren.
yum update reagiert auf zwei Arten. Wenn Sie ihm ein Paket mitteilen, das Sie aktualisieren möchten, wird er dies versuchen, indem er alle erforderlichen Abhängigkeiten herunterlädt und auch installiert. Wenn Sie es ohne Paketnamen ausführen, versucht yum update, jedes Paket zu aktualisieren, das auf Ihrem System installiert ist.
If Wenn Sie yum upgrade verwenden, funktioniert dies genauso wie yum update, außer dass versucht wird, alle als „veraltet“ gekennzeichneten Pakete zu entfernen.
Beispiel
Hier ist ein Szenario, das Ihrem eigenen nicht unähnlich ist. Eine neue Version von vim-X11 ist verfügbar.
$ 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
Und ich bin derzeit in dieser Version:
$ rpm -q vim-X11 | expand vim-X11-7.4.179-1.fc19.x86_64
Wenn wir versuchen, es zu installieren:
$ 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
Also zusammenfassend
- Wird eine
yum installfür 1.1 ausgeführt, nachdem 1.0 bereits installiert wurde, 2 Pakete auflisten?
Nein. YUM führt weiterhin ein Update durch, auch wenn Sie es angewiesen haben, eine Installation durchzuführen, wenn das Paket bereits installiert ist.
- Wird das Ausführen von
yum update some-package-1.1erfolgreich ein Paket 1.0 ersetzen?
Ja.
Kommentare
- Vielen Dank für die ausführliche Antwort. So wie ich es sehe, kann ich
yum installeinfach weiter verwenden, wenn ich den Paketnamen mit der Version spezifiziere und mich nicht darum kümmere, mehrere Versionen zu installieren. Eine Situation, in der ichyum updateverwenden möchte, wäre, wenn ich nur den richtigen Paketnamen angeben würde? - @aspiringCodeArtisan – dass ' ist teilweise korrekt.
yum installerkennt, dass ein Paket bereits installiert ist, und wechselt zur Aktualisierung im Vergleich zur Installation, wie in meinem Beispiel gezeigt. - @slm – Zur Verdeutlichung kann RPM-Suche in einem Repository ähnlich der Zypper-Suche nach einem bestimmten Paket?
- @Motivated – no
rpmentsprichtdpkgEs geht nur darum, die Dateien auf der lokalen Festplatte zu verwalten. Für das Repository " Management " s / w Ihres Systems + eines Repos benötigen Sie etwas wieyumoderdnf. - @Motivated –
rpmbei Verwendung zur Installation von einer URL nicht ' Sie müssen keine Paket-Dep ausführen, um sie auch abzurufen. Sie laden lediglich die Drehzahl lokal herunter und installieren sie dann.