Jinsi ya Kuzima Usasisho wa Kifurushi Kwa Kutumia YUM/DNF katika RHEL Linux


Usambazaji wa Linux unaotegemea Red Hat, ambao hutumika kupata, kusakinisha, kusasisha, kuondoa, na kuuliza maswali kutoka kwa hazina rasmi za programu na hazina za watu wengine.

Wakati wa kusasisha mfumo, wakati mwingine, hatusasishi vifurushi fulani kama vile Apache Server (HTTP), MySQL, PHP, au programu nyingine yoyote kuu, kwa sababu kusasisha programu kama hizi kunaweza kuvunja programu za wavuti zinazoendeshwa kwa sasa kwenye seva na kusababisha matatizo makubwa. Inapendekezwa kusimamisha masasisho ya programu kama hiyo hadi programu ipate viraka na visasisho vipya.

Katika makala haya, tutakuonyesha jinsi tunavyoweza kuwatenga (kuzima) masasisho fulani ya kifurushi kwa kutumia kidhibiti cha kifurushi cha YUM na DNF kwenye usambazaji unaotegemea RPM kama vile RHEL, CentOS, Fedora, Rocky Linux, na AlmaLinux. Tunaweza pia kuwatenga au kuzima masasisho fulani ya kifurushi kutoka kwa hazina zozote za wahusika wengine.

Sintaksia ya kuwatenga itakuwa kama ifuatavyo.

exclude=package package1 packages*

Maagizo ya hapo juu ya kuwatenga yamefafanuliwa katika /etc/yum.conf au /etc/dnf/dnf.conf faili ya usanidi yenye orodha ya vifurushi ili kuwatenga kutoka kwa masasisho au usakinishaji.

Sintaksia iliyo hapo juu haitajumuisha kifurushi, kifurushi1, na orodha ya masasisho au usakinishaji wa furushi. Kila neno kuu linapaswa kutengwa na nafasi kwa kutengwa kwa vifurushi.

Jinsi ya Kutenga Vifurushi katika YUM au DNF

Ili kuwatenga (kuzima) masasisho maalum ya kifurushi, Fungua faili inayoitwa /etc/yum.conf au /etc/dnf/dnf.conf na chaguo lako la kihariri.

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

Ongeza laini ifuatayo chini ya faili bila kujumuisha neno kuu kama inavyoonyeshwa hapa chini.

[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

Katika mfano ulio hapo juu, mstari haujumuishi utalemaza sasisho za vifurushi vya httpd php na mysql. Hebu tujaribu kusakinisha au kusasisha mojawapo kwa kutumia amri ya YUM kama inavyoonyeshwa hapa chini.

# 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

Jinsi ya Kutenga Vifurushi kutoka kwa EPEL Repo

Ili kutenga usakinishaji wa vifurushi au masasisho kutoka kwa hazina ya EPEL, kisha ufungue faili inayoitwa /etc/yum.repos.d/epel.repo.

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

Ongeza laini ya kutenga kwa kubainisha vifurushi vya kutengwa kutoka kwa masasisho.

[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

Sasa jaribu kusasisha faili zilizoainishwa hapo juu kutoka kwa hazina ya EPEL kwa kutumia yum/dnf amri kama inavyoonyeshwa.

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

Unaweza pia kutumia chaguo la mstari wa amri yum/dnf kuwatenga vifurushi bila kuziongeza kwenye faili za hazina.

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

Ili kuwatenga orodha ya vifurushi, tumia amri kama ifuatavyo.

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

Kwa njia hii unaweza kuwatenga masasisho ya vifurushi vyovyote unavyotaka. Kuna njia nyingine nyingi unaweza kufanya hivyo, kwa mfano, hivi karibuni tumekusanya makala juu ya njia 4 muhimu za kuzuia/kuzima au kufunga vifurushi fulani kwa kutumia amri ya yum katika Linux.