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

4 Möglichkeiten zum Deaktivieren/Sperren bestimmter Paketaktualisierungen mit dem Yum-Befehl

Paket-Manager ist Software, die es einem Benutzer ermöglicht, neue Software zu installieren, das System zu aktualisieren oder eine bestimmte Software und dergleichen zu aktualisieren. Im Falle von Linux-basierten Systemen, bei denen eine Software viele Abhängigkeiten hat, die für eine vollständige Installation dieser Software auf dem System vorhanden sein müssen, werden solche Software wie der Paketmanager zu einem dringend benötigten Werkzeug auf jedem System.

Jede Linux-Distribution wird mit ihrem Standard-Paketmanager für die oben genannten Funktionen ausgeliefert, aber von all diesen am häufigsten gefundenen sind:yum auf RHEL und Fedora Systeme (wo es derzeit durch DNF ersetzt wird von Fedora 22+ ab) und passend von Debian.

Wenn Sie nach APT suchen Tool zum Blockieren oder Deaktivieren bestimmter Paketaktualisierungen, dann sollten Sie diesen Artikel lesen.

Deaktivieren/Sperren oder Sperren von Certian-Paketaktualisierungen mit APT

Dnf oder Dänisch yum ersetzt yum auf Fedora Systeme, die ein weiteres in unserer Liste ist. Bei richtiger Untersuchung können diese Paketmanager für folgende Funktionen verwendet werden:

  1. Installieren neuer Software aus dem Repository.
  2. Beheben Sie Abhängigkeiten der Software, indem Sie diese Abhängigkeiten installieren, bevor Sie die Software installieren.
  3. Pflege einer Datenbank mit Abhängigkeiten jeder Software.
  4. Downgrade-Version vorhandener Software.
  5. Upgrade der Kernel-Version.
  6. Zur Installation verfügbare Pakete auflisten.

Wir haben bereits detaillierte Artikel zu jedem einzelnen Paketmanager mit praktischen Beispielen separat behandelt, Sie sollten sie lesen, um die Paketverwaltung in Ihren jeweiligen Linux-Distributionen zu steuern und zu verwalten.

Lesen Sie auch:

  1. Yum Command mit diesen 20 praktischen Beispielen meistern
  2. 27 DNF-Befehle zum Verwalten von Paketen in Versionen von Fedora 22+
  3. Lernen Sie 25 APT-Befehle zum Verwalten von Ubuntu-Paketen

In diesem Artikel erfahren Sie, wie Sie bestimmte Paketaktualisierungen sperren/deaktivieren Verwendung des Yum-Paketmanagers in RHEL/CentOS- und Fedora-Systemen (gilt bis Fedora 21 , spätere neuere Fedora-Versionen werden mit dnf als Standard-Paketmanager ausgeliefert).

Paketaktualisierungen mit Yum deaktivieren/sperren

Gelber Hund Updater, geändert (lecker ) ist ein Paketverwaltungstool in RedHat-basierten Distributionen wie CentOS und Fedora. Im Folgenden werden verschiedene Strategien zum Sperren/Deaktivieren von Paketaktualisierungen mit Yum erläutert:

1. Paket für Installation oder Update dauerhaft deaktivieren

1. Öffnen und bearbeiten Sie die yum.conf Datei, die sich in /etc/yum.conf befindet oder in /etc/yum/yum.conf .

Es sieht wie folgt aus:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
...

Um hier bestimmte Pakete von der Installation oder Aktualisierung auszuschließen, müssen Sie nur die Ausschlussvariable zusammen mit dem Namen des Pakets hinzufügen, das Sie ausschließen möchten. Zum Beispiel, wenn ich alle python-3 ausschließen möchte Pakete nicht aktualisiert werden, dann füge ich einfach die folgende Zeile an yum.conf an :

exclude=python-3*

Um mehr als ein Paket auszuschließen, trennen Sie einfach ihre Namen durch Leerzeichen.

exclude=httpd php 
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
exclude=python-3*        [Exclude Single Package]
exclude=httpd php        [Exclude Multiple Packages]
...

Hinweis :um diese Pakete einzubinden, wobei Einträge in yum.conf ignoriert werden , verwenden Sie „-disableexcludes “ und setzen Sie es auf all|main|repoid , wobei 'main' sind die in yum.conf eingetragenen und „repoid“ sind diejenigen, deren Ausschluss in repos.d angegeben ist Verzeichnis, wie später erklärt.

Versuchen wir nun, die angegebenen Pakete zu installieren oder zu aktualisieren, und sehen Sie, dass der Befehl yum ihre Installation oder Aktualisierung deaktiviert.

# yum install httpd php

Loaded plugins: fastestmirror, langpacks, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
Nothing to do
# yum update httpd php

Loaded plugins: fastestmirror, langpacks, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
No packages marked for update

2. Paket vorübergehend für Installation oder Aktualisierung deaktivieren

2. Oben war eine dauerhafte Lösung, um ein Paket auszuschließen, da dieses Paket nicht aktualisiert wird, wenn die Datei nicht bearbeitet wird. Hier ist auch dafür eine vorübergehende Lösung. Verwenden Sie einfach zu dem Zeitpunkt, an dem Sie nach einem Update suchen, -x Schalten Sie den Befehl yum ein, um Pakete auszuschließen, die Sie nicht aktualisieren möchten, wie:

# yum -x python-3 update

Der obige Befehl aktualisiert alle Pakete, deren Updates verfügbar sind, mit Ausnahme von python-3 auf Ihrem System.

Verwenden Sie hier zum Ausschließen mehrerer Pakete -x mehrfach oder getrennte Paketnamen mit ',' in einem einzigen Schalter.

# yum -x httpd -x php update
OR
# yum -x httpd,php update

3. Verwenden von --exclude Schalter funktioniert genauso wie -x , müssen nur -x ersetzen mit –ausschließen und übergeben Sie ',' getrennte Liste von Paketnamen dazu.

# yum --exclude httpd,php

3. Paketaktualisierungen mit Repository deaktivieren

4. Für jedes Paket, das von einer externen Quelle über das Hinzufügen eines Repositorys installiert wurde, gibt es eine andere Möglichkeit, seine Aktualisierung in Zukunft zu stoppen. Dies kann durch Bearbeiten des .repo erfolgen Datei, die in /etc/yum/repos.d/ erstellt wird oder /etc/yum.repos.d Verzeichnis.

Fügen Sie die Exclude-Option mit dem Paketnamen im Repository hinzu . Zum Beispiel:Um ein Paket auszuschließen, sagen Sie Wein aus epel repo , fügen Sie die folgende Zeile in epel.repo hinzu Datei:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
exclude=wine

Versuchen Sie nun, den Wein zu aktualisieren Paket erhalten Sie eine Fehlermeldung wie unten gezeigt:

# yum update wine

Loaded plugins: fastestmirror, langpacks, versionlock
epel/x86_64/metalink                                    | 5.6 kB     00:00     
Loading mirror speeds from cached hostfile
 * base: mirror.nbrc.ac.in
 * epel: mirror.wanxp.id
 * extras: mirror.nbrc.ac.in
 * updates: mirror.nbrc.ac.in
No Match for argument: wine
No package wine available.
No packages marked for update

4. Paketaktualisierung mit Versionlock-Option deaktivieren

5. Eine andere Möglichkeit in yum, die Version eines beliebigen Pakets zu maskieren und es somit für Upgrades nicht verfügbar zu machen, ist die Verwendung von versionlock Option von yum, aber dazu müssen Sie yum-plugin-versionlock verwenden Paket auf dem System installiert.

# yum -y install yum-versionlock

Um beispielsweise die Version des Pakets zu sperren, sagen Sie httpd bis 2.4.6 schreiben Sie einfach den folgenden Befehl als root.

# yum versionlock add httpd
Beispielausgabe
Loaded plugins: fastestmirror, langpacks, versionlock
Adding versionlock on: 0:httpd-2.4.6-40.el7.centos
versionlock added: 1

Um gesperrte Pakete anzuzeigen, verwenden Sie den folgenden Befehl, um die Pakete aufzulisten, deren Version gesperrt wurde.

# yum versionlock list httpd
Beispielausgabe
Loaded plugins: fastestmirror, langpacks, versionlock
0:httpd-2.4.6-40.el7.centos.*
versionlock list done

Schlussfolgerung

Dies sind ein paar Tipps, die Ihnen helfen werden, Paketaktualisierungen mit dem Yum-Paketmanager zu deaktivieren/sperren. Wenn Sie andere Tricks haben, um die gleichen Dinge zu tun, können Sie sie mit uns kommentieren.


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

  2. Befehlsersetzung mit „?

  3. YUM-Befehlsbeispiele zum Installieren, Entfernen und Aktualisieren von Paketen

  4. yum-Befehlsbeispiele in Linux

  5. Deaktivieren Sie die Yum-Transaktionsprüfung für Dateikonflikte

YUM-Befehle

Die 50 besten YUM-Befehlsbeispiele für RHEL- oder CentOS-Benutzer

4 Möglichkeiten zum Überprüfen der CentOS-Version in der Linux-Befehlszeile

Verwenden des Watch-Befehls unter Linux

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

Yum-Befehl – ​​RPM-basiertes Paketverwaltungsprogramm