GNU/Linux >> LINUX-Kenntnisse >  >> Linux

10 Beispiele zum Ausschließen von Yum zum Überspringen von Paketen für das Linux-Yum-Update (So schließen Sie Kernel-Updates von Yum aus)

Wenn Sie yum update durchführen, wird es die neueste Version aller Pakete herunterladen, die auf Ihrem System installiert sind, und aktualisieren Sie sie auf die neueste Version.

Möglicherweise befinden Sie sich in einer Situation, in der Sie nicht möchten, dass yum ein (oder mehrere) bestimmtes Paket automatisch aktualisiert.

Verwenden Sie in diesen Situationen die Yum-Exclude-Option, wie in den Beispielen unten gezeigt.

1. Schließen Sie ein einzelnes Paket mit der Option -x

aus

Auf diesem System verwenden wir beispielsweise PHP 5.1, und die benutzerdefinierte PHP-Anwendung, die auf diesem System ausgeführt wird, wurde noch nicht mit anderen neuen Versionen von PHP getestet.

# rpm -q php
php-5.1.0-27.el6_5.x86_64

In diesem Fall möchten wir also bei einem Update nur ein bestimmtes Paket ausschließen, nämlich php. Wie wir unten sehen, zeigt das Folgende an, dass das PHP-Paket auf Version 5.3.3 aktualisiert wird, wenn wir den Befehl „yum update“ ausführen.

# yum check-update php
php.x86_64    5.3.3-40.el6_6      updates

Das Folgende schließt nur ein Paket (php) während des Yum-Updates aus.

# yum -x php update

2. Schließen Sie mehrere Pakete mit der Option -x

aus

Sie können mehrere Pakete ausschließen, indem Sie mehrere -x-Optionen wie unten gezeigt angeben:

yum -x php -x httpd update

Sie können auch mehr als ein Paket ausschließen, indem Sie die Liste der Pakete durch Kommas getrennt angeben. Das Folgende verhält sich genauso wie oben.

yum -x php,httpd update

3. Mehrere Pakete (z. B. Kernel-Pakete) mit Wildcard ausschließen

In den meisten Situationen möchten Sie vielleicht nicht, dass yum update den Kernel automatisch aktualisiert.

Bevor Sie das echte yum-Update durchführen, können Sie yum check-update durchführen, das alle Pakete anzeigt, die während des yum-Updates aktualisiert werden.

Wie Sie unten sehen, gibt es in diesem Beispiel drei Kernel-bezogene Pakete, die von yum update aktualisiert werden.

# yum check-update | grep -i kernel
kernel.x86_64            2.6.32-504.1.3.el6  updates
kernel-firmware.noarch   2.6.32-504.1.3.el6  updates
kernel-headers.x86_64    2.6.32-504.1.3.el6  updates

Anstatt alle einzelnen Paketnamen in der Ausschlussliste -x anzugeben, können wir einfach die Shell-Glob-Platzhalter verwenden, wie unten gezeigt. Das Folgende schließt alle Kernel-bezogenen Pakete aus, die während des Yum-Updates aktualisiert werden.

yum -x kernel* update

4. Mehrere Wildcard-Listen in der Option -x

Sie können auch mehrere Wildcard-Listen in der Option -x angeben.

Wie Sie unten sehen, weist das Folgende darauf hin, dass es mehrere PHP-Pakete gibt, die während des nächsten Yum-Updates aktualisiert werden.

# yum check-update | grep -i php
php.x86_64         5.3.3-40.el6_6   updates
php-cli.x86_64     5.3.3-40.el6_6   updates
php-common.x86_64  5.3.3-40.el6_6   updates
php-xml.x86_64     5.3.3-40.el6_6   updates

Wenn Sie alle PHP- und Kernel-bezogenen Pakete während des nächsten Yum-Updates ausschließen möchten, können Sie Folgendes verwenden. Bitte beachten Sie, dass Sie in diesem Beispiel „ “ verwenden sollten.

yum -x 'php*' -x 'kernel*' update

5. Verwendung von –exclude anstelle von -x

Sie können auch –exclude anstelle von -x verwenden, wie unten gezeigt:

yum --exclude php update
yum --exclude httpd update
yum --exclude kernel update

yum -exclude php*,httpd*,kernel* update

6. Pakete mit yum.conf-Datei ausschließen

Anstatt die auszuschließenden Pakete in der Befehlszeile anzugeben, können Sie sie in der Datei /etc/yum.conf angeben.

Um beispielsweise alle php-, httpd- und Kernel-Pakete auszuschließen, die vom yum-Update ausgeschlossen werden sollen, fügen Sie die folgende Zeile hinzu:

exclude=php* httpd* kernel*

Oder führen Sie den folgenden Befehl aus:

echo "exclude=php* httpd* kernel*" >> /etc/yum.conf

7. Kommagetrennte Liste verwenden

Sie können auch mehr als ein Paket ausschließen, indem Sie die Liste der Platzhalterpakete durch Kommas getrennt angeben. Das Folgende verhält sich genauso wie oben.

yum -x php*,kernel* update

Um konsistent mit der Art und Weise zu sein, wie wir die anderen Beispiele mit der Option -x oben gezeigt haben, können Sie auch Kommas (statt nur Leerzeichen) verwenden, um die mehreren Pakete zu trennen, wie unten gezeigt:

# vi /etc/yum.conf
exclude=php*,httpd*,kernel*

8. Parameter in benutzerdefinierter Repo-Datei ausschließen

Anstatt den Exclude-Parameter in der Hauptdatei yum.conf anzugeben, können Sie ihn auch in der individuellen Repository-Datei angeben.

Wenn Sie beispielsweise mongodb installiert haben, finden Sie mongodb.repo im Verzeichnis /etc/yum.repos.d. Sie können die Ausschlusspaketliste für das mongodb-Repository in dieser mongodb.repo-Datei angeben.

# vi /etc/yum.repos.d/mongodb.repo
exclude=mongo*

9. Simulieren Sie Yum Exclude Check mit check-update (Dry-run -x)

Sie können die Option -x auch zusammen mit check-update angeben. Dies hilft Ihnen zu überprüfen, ob die Option -x, die Sie entweder in der Befehlszeile oder in der Datei yum.conf angegeben haben, wie erwartet funktioniert.

Das Folgende zeigt beispielsweise an, dass der Kernel während des Yum-Updates aktualisiert wird.

# yum check-update | grep -i kernel
kernel.x86_64                        2.6.32-504.1.3.el6                  updates
kernel-firmware.noarch               2.6.32-504.1.3.el6                  updates
kernel-headers.x86_64                2.6.32-504.1.3.el6                  updates

Das Folgende zeigt, dass das Flag -x wie erwartet funktioniert, da es nichts im Ergebnis zurückgibt.

# yum -x kernel* check-update | grep -i kernel

Sagen wir zum Beispiel, die folgende Exclude-Zeile ist in der Datei yum.conf vorhanden.

# grep exclude /etc/yum.conf
exclude=php*,httpd*,kernel*

Dann weist das Folgende darauf hin, dass die in der obigen /etc/yum.conf angegebene Ausschlussliste wie erwartet funktioniert, da check-update diese Pakete (einschließlich Kernel) in der folgenden Ausgabe nicht angezeigt hat.

# yum check-update | egrep 'php|httpd|kernel'

10. Ignorieren Sie den Ausschluss aus der yum.conf-Datei

Wenn Sie die in der Datei yum.conf erwähnten Ausschlüsse deaktivieren möchten. d.h. wenn Sie nicht möchten, dass yum update die Ausschlussliste berücksichtigt, die in der Datei yum.conf angegeben ist, können Sie die Option –disableexcludes von der Befehlszeile aus verwenden.

In unserem vorherigen Beispiel haben wir php-, httpd- und Kernel-Pakete ausgeschlossen, die durch das yum-Update aktualisiert werden sollen.

Wenn Sie jedoch möchten, dass yum diese Ausschlussliste ignoriert (d. h. den Ausschluss deaktiviert) und weiterhin php, httpd und Kernel als Teil des regulären yum-Update-Befehls aktualisiert, führen Sie Folgendes aus:

yum --disableexcludes=all update

Im Folgenden sind die drei möglichen Werte aufgeführt, die Sie für disableexcludes

angeben können
  • all Alle Ausschlüsse deaktivieren
  • Hauptausschlüsse deaktivieren, die im Hauptabschnitt der Datei yum.conf angegeben sind
  • Repoid-Deaktivierungsausschlüsse für die angegebene Repo-ID angegeben

Wenn Sie die Ausschlüsse nur für ein bestimmtes benutzerdefiniertes Repository deaktivieren möchten, können Sie die Repo-ID angeben (dies ist die erste Spalte im Befehl yum repolist, wie unten gezeigt).

# yum repolist
repo id   repo name           status
mongodb   MongoDB Repository    240
base      CentOS-6 - Base     6,518
extras    CentOS-6 - Extras      35
updates   CentOS-6 - Updates    315

Das Folgende deaktiviert (ignoriert) die Ausschlussliste, die in der Datei mongodb.repo im Verzeichnis /etc/yum.repos.d angegeben ist.

yum --disableexcludes=mongodb update

Linux
  1. Linux – Wie aktiviere ich User_namespaces im Kernel? (für Unprivilegiertes `unshare`.)?

  2. Über 15 Beispiele für den Befehl yum update

  3. So verwenden Sie Beispiele für C-Mutex-Sperren für die Linux-Thread-Synchronisierung

  4. 15 aptitude-Befehlsbeispiele für die Paketverwaltung unter Linux

  5. CentOS / RHEL :Ausschluss mit Yum für Kernel-Updates

So installieren Sie Updates auf CentOS 7

So richten Sie automatische Kernel-Updates unter Linux ein

Verschiedene Möglichkeiten zum Aktualisieren des Linux-Kernels für Ubuntu

So richten Sie automatische Kernel-Updates unter Linux ein

15 Beispiele für Linux-Yum-Befehle – Pakete installieren, deinstallieren, aktualisieren

Wie kann ich Codeabdeckung für Swift-Pakete unter Linux oder OS X generieren?