yum äquivalent zu apt-get upgrade vs apt-get dist-upgrade?

31

Ich bin ein * .deb-Typ und fühle mich beim Verwalten von RPMs ziemlich unwohl.

Ich bin es gewohnt , laufen apt-get upgradein meinem Debian - basierten Server für „normal“ Upgrades und apt-get dist-upgradefür ermöglichen Kernel - Upgrades oder ermöglichen neue Großpaketversionen Upgrades.

Auf den CentOS-Servern, die ich verwalte, möchte ich eine ähnliche Funktion haben, jedoch scheint man yum ein solches Verhalten nicht zu bieten. Und die Unterschiede zwischen yum updateund yum upgradescheinen nicht das zu sein, wonach ich suche.

Bisher ist es mein bester Ansatz, die folgende Einstellung hinzuzufügen und zu entfernen /etc/yum.conf:

exclude=kernel*

Es muss einen besseren Ansatz geben. Jeder Vorschlag ist willkommen.

BEARBEITET:

Die Beschreibung der Manpage von Yum und der --obsoletesFlagge ist für mich etwas kryptisch. Lassen Sie mich also umformulieren, was ich davon verstehe: Muss ich verstehen, dass yum updatekein neuer Kernel installiert wird, weil dies bedeuten würde, den aktuellen Kernel als veraltet zu markieren? Kann ich davon ausgehen, dass yum upgradedas genauso oder fast genauso funktioniert wie apt-get dist-upgrade?

BEARBEITET 2

Am besten gefällt apt-get upgrademir, dass ich erfahre, welche Pakete erhalten bleiben, damit ich entsprechend vorgehen kann. entweder mit apt-get dist-upgradeoder mit explizit apt-get install package.

Nachdem ich ein bisschen nachgedacht habe, ist mein bester Ansatz in diesem Moment : Deaktiviere die veraltete Einstellung in yum.conf (wie von Steven Pritchard in seiner Antwort beschrieben ) und starte zuerst yum update. Nachdem alle Updates installiert wurden, führen Sie eine zweite aus yum update --obsoletes, um zu überprüfen, welche Pakete beibehalten wurden und in Abhängigkeit von den Ergebnissen zu handeln.

Wird es funktionieren?

hmontoliu
quelle

Antworten:

57

yum updateUrsprünglich wurden nur Pakete auf neue Versionen aktualisiert. Wenn zum Beispiel foo-awesomeveraltet wäre foo, yum updatewürde ich kein Upgrade von fooauf anbieten foo-awesome. Durch Hinzufügen des --obsoletesFlags werden yum updatedie zusätzlichen Überprüfungen durchgeführt, um auch diesen Aktualisierungspfad anzubieten. yum upgradewurde (im Wesentlichen) als Alias ​​für hinzugefügt yum --obsoletes update. Da dies , dass das Verhalten fast jeder die ganze Zeit will die Konfigurationsoption obsoletes=1wurde auf den Standard hinzugefügt /etc/yum.conf, so dass yum updateund yum upgradegleichwertig an einem letzten, Lager, Fedora / RHEL / CentOS / etc.

Wenn Sie Kernel-Updates während der Ausführung vermeiden möchten yum update, können Sie dies einfach tun yum --exclude=kernel* update. Wenn Sie automatische Updates wünschen, aber automatische Kernel-Upgrades vermeiden möchten, ist das Hinzufügen des Ausschlusses zu yum.conf wahrscheinlich die richtige Antwort.

Es gibt wahrscheinlich keine richtige Antwort für Ihre Frage. RHEL- und RHEL-basierte Distributionen haben nicht die gleiche Philosophie wie die Debian-Entwickler, wenn es um Updates geht, so dass die Tools nicht die gleichen Verhaltensweisen fördern.

Steven Pritchard
quelle
+1 Steven; Ich nehme an, es wird keine richtige Antwort geben , deshalb möchte ich so viel Rückmeldung wie möglich. Ihre Antwort ist hervorragend. Lass mich auf andere Leute warten :-)
hmontoliu
Siehe meine EDITED 2 , soweit ich weiß, ist dies ein guter Ansatz, um ein passendes Verhalten nachzuahmen.
hmontoliu
Sie können der Datei yum.conf auch Ausschlüsse hinzufügen.
Nicht jetzt
3

Versuchen

# yum upgrade yum kernel
# yum -y upgrade
af-at-work
quelle