In diesem Artikel tauchen wir tief ein und sehen, wie wir bestimmte Pakete auf CentOS-Distributionen aktualisieren können. Von Zeit zu Zeit müssen Sie möglicherweise bestimmte Pakete aktualisieren und andere in ihren Standardversionen belassen. Ein Grund dafür ist die Aufrechterhaltung der Stabilität von Paketen, die zum Ausführen wichtiger Dienste wie Datenbanken und Webserver verwendet werden. Manchmal kann ein Upgrade zu Änderungen im Paket führen, die den normalen Betrieb von Diensten beeinträchtigen können.
Yum verwenden, um bestimmte Pakete in CentOS zu aktualisieren
Vor allem anderen müssen wir möglicherweise zuerst die Pakete mit ausstehenden Updates überprüfen. Führen Sie dazu den folgenden Befehl aus
yum list updates
Möglicherweise müssen Sie mehrere Versionen eines Pakets anzeigen, das in Ihrem System vorhanden ist. Führen Sie dazu den folgenden Befehl aus
yum --showduplicates list httpd | expand
Im obigen Beispiel zeigen Sie mehrere Versionen des httpd-Pakets an.
Installed Packages
httpd.x86_64 2.4.6-67.el7_4.6 @rhui-REGION-rhel-server-releases
Available Packages
httpd.x86_64 2.4.6-17.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-18.el7_0 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-19.el7_0 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-31.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-31.el7_1.1 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-40.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-40.el7_2.1 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-40.el7_2.4 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-45.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-45.el7_3.4 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-67.el7 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-67.el7_4.2 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-67.el7_4.5 rhui-REGION-rhel-server-releases
httpd.x86_64 2.4.6-67.el7_4.6 rhui-REGION-rhel-server-releases
Aus den obigen Ergebnissen sehen wir, dass das derzeit installierte httpd-Paket Version 2.4.6-67.el7_4.6 ist, die neueste. Was wäre, wenn Sie eine bestimmte Version des Pakets installieren möchten, wie würden Sie vorgehen? Die Syntax dafür ist wie unten gezeigt
yum install packagename version
Wenn Sie beispielsweise ein Downgrade auf Version 2.4.6-67.el7_4.5 durchführen möchten, müssen Sie zuerst die neueste Version wie gezeigt entfernen.
yum remove httpd
Installieren Sie danach Ihre bevorzugte httpd-Version wie gezeigt.
yum install httpd 2.4.6-67.el7_4.5
Um die von uns installierte Version des Pakets zu sperren und zukünftige Updates zu verhindern, verwenden wir das Versionlock-Plugin. Um das Plugin zu installieren, führen Sie
ausyum install yum-versionlock
Beispielausgabe
yum-plugin-versionlock-1.1.31-42.el7.noarch.rpm | 32 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : yum-plugin-versionlock-1.1.31-42.el7.noarch 1/1
Verifying : yum-plugin-versionlock-1.1.31-42.el7.noarch 1/1
Installed:
yum-plugin-versionlock.noarch 0:1.1.31-42.el7
Complete!
Um unsere httpd-Paketversion zu sperren, führen wir den folgenden Befehl aus
yum versionlock httpd
Ausgabe
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos, versionlock
Adding versionlock on: 0:httpd-2.4.6-67.el7_4.5
versionlock added: 1
Um bestimmte Pakete zu aktualisieren
yum upgrade package-name
Führen Sie den folgenden Befehl aus, um ein Paket vorübergehend von einem Upgrade auszuschließen
yum --exclude update package-name
Alternativ können Sie auch das -x
verwenden Flag anstelle von --exclude
yum -x exclude httpd,php
Der obige Befehl schließt die httpd- und php-Pakete von der Aktualisierung aus, während die restlichen Pakete aktualisiert werden.
Wenn Sie Updates für ein Paket dauerhaft deaktivieren möchten, suchen Sie yum.conf
in /etc/yum/yum.conf
Hier ist ein Schnappschuss, wie es aussieht
Um ein Paket auszuschließen, hängen Sie exclude=package-name
an am Ende der Konfigurationsdatei. In diesem Beispiel schließen wir Samba-, httpd-, PHP- und Mariadb-Pakete von der Aktualisierung aus, wie unten gezeigt.
Wenn Sie versuchen, eines dieser Pakete zu aktualisieren, erhalten Sie die Meldung No packages marked for update
Fehler.
Verwandtes Lesen:
- So schließen Sie bestimmte Pakete von Yum Update aus
- So schließen Sie ein bestimmtes Paket von apt-get Upgrade aus
Sie können die Befehle gerne ausprobieren. Ihr Feedback ist sehr willkommen. Danke.