RHEL Linux-ൽ YUM/DNF ഉപയോഗിച്ച് പാക്കേജ് അപ്uഡേറ്റുകൾ എങ്ങനെ പ്രവർത്തനരഹിതമാക്കാം


ഔദ്യോഗിക സോഫ്റ്റ്uവെയർ റിപ്പോസിറ്ററികളിൽ നിന്നും തേർഡ് പാർട്ടി റിപ്പോസിറ്ററികളിൽ നിന്നും പാക്കേജുകൾ നേടുന്നതിനും ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനും അപ്uഗ്രേഡ് ചെയ്യുന്നതിനും നീക്കം ചെയ്യുന്നതിനും അന്വേഷിക്കുന്നതിനും ഉപയോഗിക്കുന്ന Red Hat-അധിഷ്ഠിത ലിനക്സ് വിതരണങ്ങൾ.

സിസ്റ്റം അപ്uഡേറ്റ് ചെയ്യുമ്പോൾ, ചിലപ്പോൾ, അപ്പാച്ചെ സെർവർ (HTTP), MySQL, PHP അല്ലെങ്കിൽ മറ്റേതെങ്കിലും പ്രധാന ആപ്ലിക്കേഷനുകൾ പോലുള്ള ചില പാക്കേജുകൾ ഞങ്ങൾ അപ്uഡേറ്റ് ചെയ്യില്ല, കാരണം അത്തരം സോഫ്റ്റ്uവെയർ അപ്uഡേറ്റ് ചെയ്യുന്നത് സെർവറിൽ നിലവിൽ പ്രവർത്തിക്കുന്ന വെബ് ആപ്ലിക്കേഷനുകളെ തകർക്കുകയും വലിയ പ്രശ്uനങ്ങൾ ഉണ്ടാക്കുകയും ചെയ്യും. പുതിയ അപ്uഡേറ്റുകൾ ഉപയോഗിച്ച് ആപ്ലിക്കേഷൻ പാച്ച് ചെയ്യുന്നതുവരെ അത്തരം സോഫ്uറ്റ്uവെയറുകളുടെ അപ്uഡേറ്റുകൾ നിർത്താൻ ശുപാർശ ചെയ്യുന്നു.

RHEL, CentOS, Fedora, Rocky Linux, AlmaLinux തുടങ്ങിയ RPM-അടിസ്ഥാന വിതരണങ്ങളിൽ YUM, DNF പാക്കേജ് മാനേജർ എന്നിവ ഉപയോഗിച്ച് ചില പാക്കേജ് അപ്uഡേറ്റുകൾ എങ്ങനെ ഒഴിവാക്കാം (അപ്രാപ്uതമാക്കാം) എന്ന് ഈ ലേഖനത്തിൽ ഞങ്ങൾ നിങ്ങളെ കാണിക്കും. ഏതെങ്കിലും മൂന്നാം കക്ഷി റിപ്പോസിറ്ററികളിൽ നിന്നും ചില പാക്കേജ് അപ്ഡേറ്റുകൾ നമുക്ക് ഒഴിവാക്കാനോ പ്രവർത്തനരഹിതമാക്കാനോ കഴിയും.

ഒഴിവാക്കൽ വാക്യഘടന ഇനിപ്പറയുന്നതായിരിക്കും.

exclude=package package1 packages*

അപ്uഡേറ്റുകളിൽ നിന്നോ ഇൻസ്റ്റാളുകളിൽ നിന്നോ ഒഴിവാക്കേണ്ട പാക്കേജുകളുടെ ലിസ്റ്റ് സഹിതം /etc/yum.conf അല്ലെങ്കിൽ /etc/dnf/dnf.conf കോൺഫിഗറേഷൻ ഫയലിൽ മുകളിലെ ഒഴിവാക്കൽ നിർദ്ദേശം നിർവചിച്ചിരിക്കുന്നു.

മുകളിലെ വാക്യഘടനയിൽ പാക്കേജ്, പാക്കേജ്1, പാക്കേജ് അപ്ഡേറ്റുകൾ അല്ലെങ്കിൽ ഇൻസ്റ്റാളുകൾ എന്നിവ ഒഴിവാക്കും. ഓരോ കീവേഡും പാക്കേജുകൾ ഒഴിവാക്കുന്നതിനുള്ള ഇടം ഉപയോഗിച്ച് വേർതിരിക്കേണ്ടതാണ്.

YUM അല്ലെങ്കിൽ DNF-ൽ പാക്കേജുകൾ എങ്ങനെ ഒഴിവാക്കാം

നിർദ്ദിഷ്uട പാക്കേജ് അപ്uഡേറ്റുകൾ ഒഴിവാക്കുന്നതിന് (അപ്രാപ്uതമാക്കുക), നിങ്ങൾ തിരഞ്ഞെടുത്ത എഡിറ്റർ ഉപയോഗിച്ച് /etc/yum.conf അല്ലെങ്കിൽ /etc/dnf/dnf.conf എന്ന ഫയൽ തുറക്കുക.

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

താഴെ കാണിച്ചിരിക്കുന്നത് പോലെ എക്uസ്uക്ലൂഡ് കീവേഡ് ഉപയോഗിച്ച് ഫയലിന്റെ ചുവടെ ഇനിപ്പറയുന്ന വരി ചേർക്കുക.

[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

മുകളിലുള്ള ഉദാഹരണത്തിൽ, httpd php, mysql പാക്കേജുകൾക്കുള്ള അപ്uഡേറ്റുകൾ ലൈൻ ഒഴിവാക്കും. ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ YUM കമാൻഡ് ഉപയോഗിച്ച് അവയിലൊന്ന് ഇൻസ്റ്റാൾ ചെയ്യാനോ അപ്ഡേറ്റ് ചെയ്യാനോ ശ്രമിക്കാം.

# 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

EPEL റിപ്പോയിൽ നിന്ന് പാക്കേജുകൾ എങ്ങനെ ഒഴിവാക്കാം

EPEL റിപ്പോസിറ്ററിയിൽ നിന്നുള്ള പാക്കേജുകൾ ഇൻസ്റ്റാളുകളോ അപ്ഡേറ്റുകളോ ഒഴിവാക്കാൻ, /etc/yum.repos.d/epel.repo എന്ന ഫയൽ തുറക്കുക.

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

അപ്uഡേറ്റുകളിൽ നിന്ന് ഒഴിവാക്കേണ്ട പാക്കേജുകൾ വ്യക്തമാക്കി ഒഴിവാക്കൽ ലൈൻ ചേർക്കുക.

[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

ഇപ്പോൾ കാണിച്ചിരിക്കുന്നതുപോലെ yum/dnf കമാൻഡ് ഉപയോഗിച്ച് EPEL റിപ്പോസിറ്ററിയിൽ നിന്ന് മുകളിൽ വ്യക്തമാക്കിയ ഫയലുകൾ അപ്ഡേറ്റ് ചെയ്യാൻ ശ്രമിക്കുക.

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

നിങ്ങൾക്ക് yum/dnf കമാൻഡ്-ലൈൻ ഓപ്ഷൻ ഉപയോഗിച്ച് പാക്കേജുകൾ റിപ്പോസിറ്ററി ഫയലുകളിലേക്ക് ചേർക്കാതെ തന്നെ ഒഴിവാക്കാം.

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

പാക്കേജുകളുടെ ഒരു ലിസ്റ്റ് ഒഴിവാക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

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

ഇതുവഴി നിങ്ങൾക്ക് ആവശ്യമുള്ള പാക്കേജുകൾക്കുള്ള അപ്uഡേറ്റുകൾ ഒഴിവാക്കാനാകും. നിങ്ങൾക്ക് ഇത് ചെയ്യാൻ കഴിയുന്ന മറ്റ് നിരവധി മാർഗങ്ങളുണ്ട്, ഉദാഹരണത്തിന്, Linux-ലെ yum കമാൻഡ് ഉപയോഗിച്ച് ചില പാക്കേജുകൾ തടയുന്നതിനോ അപ്രാപ്തമാക്കുന്നതിനോ ലോക്കുചെയ്യുന്നതിനോ ഉള്ള 4 ഉപയോഗപ്രദമായ വഴികളെക്കുറിച്ച് ഞങ്ങൾ അടുത്തിടെ ഒരു ലേഖനം സമാഹരിച്ചു.