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

So schließen Sie ein bestimmtes Repository für das Yum-Update in CentOS / Red Hat aus

F:Ich habe mehrere Yum-Repositories auf meinem System. Zum Beispiel Centos, Epel, Docker, Mongo usw. Wenn ich den Befehl yum update ausführe, werden installierte Pakete aus allen Repositories aktualisiert. Wie kann ich ein bestimmtes Repository während des Yum-Updates ausschließen?

A:Verwenden Sie während des Yum-Updates zum Ausschließen von Paketen, die zu einem bestimmten Repository gehören, eine der beiden Methoden, die in diesem Tutorial erklärt werden.

Denken Sie auch daran, dass Sie, anstatt ein ganzes Repository auszuschließen kann auch ein bestimmtes Paket ausschließen:10 Yum-Exclude-Beispiele zum Überspringen von Paketen für das Linux-Yum-Update (How to Yum Exclude Kernel Updates)

1. Repository-Liste abrufen

Um alle verfügbaren Repositories auf Ihrem System anzuzeigen, führen Sie yum repolist wie unten gezeigt aus.

# yum repolist
repo id                repo name              status
base                   CentOS-6 - Base        6,575
extras                 CentOS-6 - Extras         62
updates                CentOS-6 - Updates     1,622
dockerrepo             Docker Repository          2
mongodb-org-3.0        MongoDB Repository        75
repolist: 8,336

Im obigen Beispiel haben wir Folgendes:

  • Die ersten drei oben aufgeführten Repositories sind die wichtigsten CentOS-Repositories:Basis, Extras und Updates
  • dockerrepo ist ein Drittanbieter-Repository, das Docker-Container-bezogene Pakete enthält
  • mongodb-org-3.0 ist ein Drittanbieter-Repository, das MongoDB-bezogene Pakete enthält.

Wenn Sie yum update wie unten gezeigt durchführen, werden alle Pakete, die bereits auf Ihrem System installiert sind, auf die neueste Version aktualisiert, die in allen oben genannten Repositories verfügbar ist.

yum update

Wenn Sie Mongodb bereits auf Ihrem System installiert haben und das obige „Yum-Update“ ausführen, werden auch die Mongodb-Pakete auf die neueste Version aktualisiert.

Wenn Sie mongodb nicht aktualisieren möchten, wenn Sie „yum update“ durchführen, sollten Sie dies während des yum-Updates ausschließen, wie im folgenden Abschnitt erläutert.

Wenn Sie außerdem wissen möchten, zu welchem ​​Repository ein bestimmtes Paket gehört, damit Sie dieses Repository von der Aktualisierung ausschließen können, verwenden Sie den Befehl yum info wie unten gezeigt.

yum info package-name | grep -i repo

Wenn Sie neu beim Befehl yum sind:15 Beispiele für Linux-Yum-Befehle – Installieren, Deinstallieren, Aktualisieren von Paketen

2. Schließen Sie ein Repository von Yum Update aus (Methode 1)

Sie können die Option –disablerepo=Repository-Name zusammen mit yum update verwenden. Dadurch werden die Pakete, die zum angegebenen Repository-Namen gehören, nicht aktualisiert.

Im folgenden Beispiel aktualisiert yum update alle installierten Pakete mit Ausnahme aller installierten Pakete, die zum MongoDB-Repository gehören.

yum --disablerepo=mongodb-org-3.0 update

Sie können auch die Option –disablerepo am Ende nach dem Yum-Update angeben. Folgendes schließt Pakete aus, die während des Yum-Updates zum Docker-Repository gehören.

yum update --disablerepo=dockerrepo

Sie können den genauen Repository-Namen, den Sie ausschließen möchten, erhalten, indem Sie sich die erste Spalte der Ausgabe des Befehls „yum repolist“ ansehen.

3. Schließen Sie ein Repository mithilfe des aktivierten Parameters vom Yum-Update aus (Methode 2)

Anstatt ein bestimmtes Repository von der yum-Update-Befehlszeile auszuschließen, können Sie ein Paket dauerhaft von yum-Update ausschließen, indem Sie den Parameter enabled in der Repository-Konfigurationsdatei auf 0 setzen.

Die Repository-Konfigurationsdateien befinden sich im Verzeichnis /etc/yum.repos.d, wie unten gezeigt.

# ls -l /etc/yum.repos.d/
-rw-r--r--. 1 root root 1926 Jan 30  2016 CentOS-Base.repo
-rw-r--r--  1 root root  166 Feb 18  2016 docker.repo
-rw-r--r--  1 root root  142 Feb  5  2016 mongodb-org-3.0.repo
..
..

Um das mongodb-Repository auszuschließen, öffnen Sie die mongodb-Repository-Datei und ändern Sie den Wert von enabled auf 0, wie unten gezeigt.

# vi /etc/yum.repos.d/mongodb-org-3.0.repo 
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=0

Wenn Sie jetzt yum repolist ausführen, sehen Sie das MongoDB-Repository nicht in der Ausgabe.

# yum repolist
repo id           repo name              status
base              CentOS-6 - Base        6,575
extras            CentOS-6 - Extras         62
updates           CentOS-6 - Updates     1,622
dockerrepo        Docker Repository          2
repolist: 8,261

Das bedeutet auch, dass Mongodb-Pakete nicht mehr aktualisiert werden, obwohl Sie Mongodb-bezogene Pakete auf Ihrem System installiert haben, wenn Sie das folgende „Yum-Update“ durchführen.

yum update

4. Mehrere Repositories von der Yum-Update-Befehlszeile ausschließen

Sie können auch mehrere Repositories während des Yum-Updates ausschließen, indem Sie die Repositories wie unten gezeigt durch Kommas getrennt angeben.

Das folgende Beispiel schließt das MongoDB-, Docker- und EPEL-Repository während des Yum-Updates aus.

yum update --disablerepo=mongodb-org-3.0,dockerrepo,epel

5. Aktivieren Sie ein Repository für Yum-Update

Wenn Sie ein Repository durch Setzen von „enabled=0“ in der Repository-Konfigurationsdatei deaktiviert haben, können Sie dies dennoch während Ihres „yum-Updates“ einschließen, indem Sie die Option –enablerepo verwenden, wie unten gezeigt.

Das folgende Beispiel schließt die Pakete aus dem MongoDB-Repository während „yum update“ ein, obwohl dieses Repository in der Repository-Datei im Verzeichnis /etc/yum.repos.d/ deaktiviert ist.

yum update --enablerepo=mongodb-org-3.0

6. Kombinieren Sie EnableRepo und DisableRepo in Yum Update

Sie können auch kreativ werden, indem Sie die Optionen enablerepo und disablerepo kombinieren.

Beispielsweise aktualisiert der folgende Befehl yum update nur Pakete aus dem MongoDB-Repository.

yum update --disablerepo=* --enablerepo=mongodb-org-3.0

Oben:

  • –disablerepo=* Dies zeigt an, dass alle Repositories zuerst deaktiviert werden sollten und nicht für ein Yum-Update in Betracht gezogen werden
  • –enablerepo=mongo Dies zeigt an, dass nur das MongoDB-Repository während des Yum-Updates berücksichtigt werden sollte (in Kombination mit der obigen Deaktivierungsoption)

Linux
  1. So deaktivieren Sie das YUM-Paket-Repository auf CentOS

  2. So erstellen Sie ein lokales Red Hat-Repository

  3. So fügen Sie ein Yum-Repository hinzu

  4. So spiegeln Sie ein Repository unter Linux

  5. Wie aktiviere ich das PowerTools-Repository in CentOS 8?

Vorbereitung zum Anwenden von Updates auf Red Hat Linux

So aktualisieren Sie CentOS

Wie ich eine interaktive OpenShift-Vorlesung für die Red Hat Academy erstellt habe

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)

So aktivieren Sie das Remi-Repository auf Fedora/Red Hat, um LAMP Stack zu installieren

8 YUM-Repositories von Drittanbietern für CentOS und RHEL