Si të çaktivizoni përditësimet e paketës duke përdorur YUM/DNF në RHEL Linux


Shpërndarjet Linux të bazuara në Red Hat, që përdoren për marrjen, instalimin, përmirësimin, heqjen dhe kërkimin e paketave nga depot zyrtare të softuerit dhe depot e palëve të treta.

Gjatë përditësimit të sistemit, nganjëherë, ne nuk përditësojmë paketa të caktuara si Apache Server (HTTP), MySQL, PHP ose ndonjë aplikacion tjetër madhor, sepse përditësimi i një softueri të tillë mund të prishë aplikacionet e uebit që funksionojnë aktualisht në një server dhe të shkaktojë probleme të mëdha. Rekomandohet të ndaloni përditësimet për një softuer të tillë derisa aplikacioni të rregullohet me përditësime të reja.

Në këtë artikull, ne do t'ju tregojmë se si mund të përjashtojmë (çaktivizojmë) përditësime të caktuara të paketave duke përdorur menaxherin e paketave YUM dhe DNF në shpërndarjet e bazuara në RPM si RHEL, CentOS, Fedora, Rocky Linux dhe AlmaLinux. Ne gjithashtu mund të përjashtojmë ose çaktivizojmë përditësime të caktuara të paketave nga çdo depo e palëve të treta.

Sintaksa e përjashtimit do të ishte si më poshtë.

exclude=package package1 packages*

Direktiva e mësipërme e përjashtimit përcaktohet në skedarin e konfigurimit /etc/yum.conf ose /etc/dnf/dnf.conf me listën e paketave që duhen përjashtuar nga përditësimet ose instalimet.

Sintaksa e mësipërme do të përjashtojë paketa, paketë1 dhe listën e përditësimeve ose instalimeve të paketës. Çdo fjalë kyçe duhet të ndahet me hapësirë për përjashtimin e paketave.

Si të përjashtoni paketat në YUM ose DNF

Për të përjashtuar (çaktivizuar) përditësimet specifike të paketave, hapni skedarin e quajtur /etc/yum.conf ose /etc/dnf/dnf.conf me redaktuesin që keni zgjedhur.

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

Shtoni rreshtin e mëposhtëm në fund të skedarit me fjalë kyçe përjashto siç tregohet më poshtë.

[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

Në shembullin e mësipërm, rreshti përjashtues do të çaktivizojë përditësimet për paketat httpd php dhe mysql. Le të provojmë të instalojmë ose përditësojmë njërën prej tyre duke përdorur komandën YUM siç tregohet më poshtë.

# 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

Si të përjashtoni paketat nga EPEL Repo

Për të përjashtuar instalimet ose përditësimet e paketave nga depoja EPEL, hapni skedarin e quajtur /etc/yum.repos.d/epel.repo.

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

Shtoni linjën e përjashtimit duke specifikuar paketat që do të përjashtohen nga përditësimet.

[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

Tani përpiquni të përditësoni skedarët e specifikuar më sipër nga depoja EPEL duke përdorur komandën yum/dnf siç tregohet.

# 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.

Ju gjithashtu mund të përdorni opsionin e linjës së komandës yum/dnf për të përjashtuar paketat pa i shtuar ato në skedarët e ruajtjes.

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

Për të përjashtuar një listë të paketave, përdorni komandën si më poshtë.

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

Në këtë mënyrë ju mund të përjashtoni përditësimet për çdo paketë që dëshironi. Ka shumë mënyra të tjera që mund ta bëni, për shembull, së fundmi ne kemi përpiluar një artikull mbi 4 mënyra të dobishme për të bllokuar/çaktivizuar ose bllokuar paketa të caktuara duke përdorur komandën yum në Linux.