Wéi deaktivéiert Package Updates mat YUM/DNF an RHEL Linux


D'Red Hat-baséiert Linux Verdeelungen, déi benotzt gi fir Pakete vun den offiziellen Software Repositories an Drëtt Partei Repositories ze kréien, z'installéieren, ze upgraden, ze läschen an ze froen.

Wärend de System aktualiséieren, heiansdo aktualiséieren mir verschidde Packagen net wéi Apache Server (HTTP), MySQL, PHP oder all aner grouss Applikatioun, well d'Aktualiséierung vun esou Software kann aktuell lafend Webapplikatiounen op engem Server briechen a grouss Problemer verursaachen. Et ass recommandéiert Updates fir sou Software ze stoppen bis d'Applikatioun mat neien Updates gepatched gëtt.

An dësem Artikel wäerte mir Iech weisen wéi mir verschidde Packageupdates ausgeschloss (deaktivéieren) mat dem YUM an DNF Package Manager op RPM-baséiert Distributiounen wéi RHEL, CentOS, Fedora, Rocky Linux, an AlmaLinux. Mir kënnen och bestëmmte Packageupdates vun Drëtt-Partei Repositories ausschléissen oder deaktivéieren.

D'Syntax auszeschléissen wier wéi follegt.

exclude=package package1 packages*

Déi uewe genannte Ausgrenzungsdirektiv ass definéiert an /etc/yum.conf oder /etc/dnf/dnf.conf Konfiguratiounsdatei mat der Lëscht vu Pakete fir aus Updates oder Installatiounen auszeschléissen.

Déi uewe genannte Syntax wäert Package, Package1, a Lëscht vun Package Updates oder Installatiounen ausschléissen. All Schlësselwuert soll mat Plaz fir d'Ausgrenzung vu Packagen getrennt ginn.

Wéi ausgeschloss Packagen an YUM oder DNF

Fir spezifesch Packageupdates auszeschléissen (deaktivéieren), Open Datei mam Numm /etc/yum.conf oder /etc/dnf/dnf.conf mat Ärer Wiel vum Editor.

# vi /etc/yum.conf
OR
# vi /etc/dnf/dnf.conf

Füügt déi folgend Zeil um Enn vun der Datei mat Schlësselwuert auszeschléissen wéi hei ënnendrënner.

[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=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

# This is the default, if you make this bigger yum won't see if the metadata 
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

## Exclude following Packages Updates ##
exclude=httpd php mysql

Am uewe genannte Beispill wäert d'Linn ausschléissen Updates fir httpd php an mysql Packagen auszeschalten. Loosst eis probéieren ee vun hinnen z'installéieren oder ze aktualiséieren mam YUM Kommando wéi hei ënnendrënner.

# yum update httpd
OR
# dnf update httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.01link.hk
 * extras: centos.01link.hk
 * updates: mirrors.hns.net.in
base                                                   | 3.7 kB     00:00
extras                                                 | 3.0 kB     00:00
updates                                                | 3.5 kB     00:00
updates/primary_db                                     | 2.7 MB     00:16
Setting up Update Process
No Packages marked for Update

Wéi ausgeschloss Packagen aus EPEL Repo

Fir Paketeinstallatiounen oder Updates vum EPEL Repository auszeschléissen, öffnen dann d'Datei mam Numm /etc/yum.repos.d/epel.repo.

# vi /etc/yum.repos.d/epel.repo

Füügt d'Ausgrenzungslinn un andeems Dir Packagen spezifizéiert fir aus den Updates ausgeschloss ze ginn.

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

Elo probéiert déi uewe spezifizéiert Dateien aus dem EPEL Repository ze aktualiséieren mam yum/dnf Kommando wéi gewisen.

# dnf update perl php python
OR
# yum update perl php python
Last metadata expiration check: 0:00:37 ago on Wednesday 17 November 2021 03:41:28 AM EST.
Package perl available, but not installed.
No match for argument: perl
No match for argument: php
No match for argument: python
Error: No packages marked for upgrade.

Dir kënnt och d'yum/dnf Kommandozeiloptioun benotzen fir Packagen auszeschléissen ouni se an d'Repositorydateien ze addéieren.

# yum --exclude=httpd update
Or
# dnf --exclude=httpd update

Fir eng Lëscht vu Packagen auszeschléissen, benotzt de Kommando wéi follegt.

# yum --exclude=mysql\* --exclude=httpd\* update
Or
# dnf --exclude=mysql\* --exclude=httpd\* update

Op dës Manéier kënnt Dir Updates fir all Packagen ausschléissen déi Dir wëllt. Et gi vill aner Weeër wéi Dir et maache kënnt, zum Beispill, viru kuerzem hu mir en Artikel iwwer 4 nëtzlech Weeër zesummegesat fir verschidde Packagen ze blockéieren/auszeschalten oder ze spären mat dem yum Kommando am Linux.