CentOS 7-ൽ കേർണൽ 5.0 എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം അല്ലെങ്കിൽ അപ്uഗ്രേഡ് ചെയ്യാം


ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തെ മൊത്തത്തിൽ പ്രതിനിധീകരിക്കാൻ ചിലർ ലിനക്സ് എന്ന വാക്ക് ഉപയോഗിക്കുന്നുണ്ടെങ്കിലും, കൃത്യമായി പറഞ്ഞാൽ, ലിനക്സ് കേർണൽ മാത്രമാണെന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്. മറുവശത്ത്, വൈവിധ്യമാർന്ന ആപ്ലിക്കേഷൻ ടൂളുകളും ലൈബ്രറികളും ഉപയോഗിച്ച് കേർണലിന് മുകളിൽ നിർമ്മിച്ച പൂർണ്ണമായും പ്രവർത്തനക്ഷമമായ ഒരു സിസ്റ്റമാണ് ഡിസ്ട്രിബ്യൂഷൻ.

സാധാരണ പ്രവർത്തനങ്ങളിൽ, രണ്ട് പ്രധാന ജോലികൾ നിർവഹിക്കുന്നതിന് കേർണൽ ഉത്തരവാദിയാണ്:

  1. സിസ്റ്റത്തിൽ പ്രവർത്തിക്കുന്ന ഹാർഡ്uവെയറും സോഫ്റ്റ്uവെയറും തമ്മിലുള്ള ഒരു ഇന്റർഫേസ് ആയി പ്രവർത്തിക്കുന്നു.
  2. സിസ്റ്റം ഉറവിടങ്ങൾ കഴിയുന്നത്ര കാര്യക്ഷമമായി കൈകാര്യം ചെയ്യുക.

ഇത് ചെയ്യുന്നതിന്, കേർണൽ ഹാർഡ്uവെയറുമായി ആശയവിനിമയം നടത്തുന്നത് അതിൽ നിർമ്മിച്ചിരിക്കുന്ന ഡ്രൈവറുകൾ വഴിയോ പിന്നീട് ഒരു മൊഡ്യൂളായി ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയുന്നവയിലൂടെയോ ആണ്.

ഉദാഹരണത്തിന്, നിങ്ങളുടെ മെഷീനിൽ പ്രവർത്തിക്കുന്ന ഒരു ആപ്ലിക്കേഷൻ ഒരു വയർലെസ് നെറ്റ്uവർക്കിലേക്ക് കണക്റ്റുചെയ്യാൻ ആഗ്രഹിക്കുമ്പോൾ, അത് ആ അഭ്യർത്ഥന കേർണലിലേക്ക് സമർപ്പിക്കുന്നു, അത് നെറ്റ്uവർക്കിലേക്ക് കണക്റ്റുചെയ്യുന്നതിന് ശരിയായ ഡ്രൈവർ ഉപയോഗിക്കുന്നു.

പുതിയ ഉപകരണങ്ങളും സാങ്കേതികവിദ്യകളും കാലാകാലങ്ങളിൽ പുറത്തുവരുന്നതിനാൽ, അവ പരമാവധി പ്രയോജനപ്പെടുത്തണമെങ്കിൽ നമ്മുടെ കേർണൽ കാലികമായി നിലനിർത്തേണ്ടത് പ്രധാനമാണ്. കൂടാതെ, ഞങ്ങളുടെ കേർണൽ അപ്uഡേറ്റ് ചെയ്യുന്നത് പുതിയ കേർണൽ ഫംഗ്uഷനുകൾ പ്രയോജനപ്പെടുത്തുന്നതിനും മുൻ പതിപ്പുകളിൽ കണ്ടെത്തിയ കേടുപാടുകളിൽ നിന്ന് സ്വയം പരിരക്ഷിക്കുന്നതിനും ഞങ്ങളെ സഹായിക്കും.

CentOS 7-ലോ RHEL 7, Fedora പോലുള്ള അവയുടെ ഡെറിവേറ്റീവുകളിലോ നിങ്ങളുടെ കേർണൽ അപ്uഡേറ്റ് ചെയ്യാൻ തയ്യാറാണോ? അങ്ങനെയാണെങ്കിൽ, വായന തുടരുക!

ഘട്ടം 1: ഇൻസ്റ്റാൾ ചെയ്ത കേർണൽ പതിപ്പ് പരിശോധിക്കുന്നു

നമ്മൾ ഒരു ഡിസ്ട്രിബ്യൂഷൻ ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ അതിൽ ലിനക്സ് കേർണലിന്റെ ഒരു പ്രത്യേക പതിപ്പ് ഉൾപ്പെടുന്നു. ഞങ്ങളുടെ സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്ന നിലവിലെ പതിപ്പ് കാണിക്കാൻ നമുക്ക് ഇനിപ്പറയുന്നവ ചെയ്യാം:

# uname -sr

CentOS 7 സെർവറിൽ മുകളിലുള്ള കമാൻഡിന്റെ ഔട്ട്uപുട്ട് ഇനിപ്പറയുന്ന ചിത്രം കാണിക്കുന്നു:

നമ്മൾ ഇപ്പോൾ https://www.kernel.org/ എന്നതിലേക്ക് പോയാൽ, ഇത് എഴുതുന്ന സമയത്ത് ഏറ്റവും പുതിയ കേർണൽ പതിപ്പ് 5.0 ആണെന്ന് നമുക്ക് കാണാം (മറ്റ് പതിപ്പുകൾ ഇതേ സൈറ്റിൽ നിന്ന് ലഭ്യമാണ്).

ഈ പുതിയ കേർണൽ 5.0 പതിപ്പ് ഒരു ദീർഘകാല റിലീസാണ്, 6 വർഷത്തേക്ക് പിന്തുണയ്uക്കും, നേരത്തെ എല്ലാ ലിനക്uസ് കേർണൽ പതിപ്പുകളും 2 വർഷത്തേക്ക് മാത്രമേ പിന്തുണച്ചിരുന്നുള്ളൂ.

പരിഗണിക്കേണ്ട ഒരു പ്രധാന കാര്യം ഒരു കേർണൽ പതിപ്പിന്റെ ജീവിത ചക്രമാണ് - നിങ്ങൾ നിലവിൽ ഉപയോഗിക്കുന്ന പതിപ്പ് അതിന്റെ ജീവിതാവസാനത്തോട് അടുക്കുകയാണെങ്കിൽ, ആ തീയതിക്ക് ശേഷം കൂടുതൽ ബഗ് പരിഹാരങ്ങൾ നൽകില്ല. കൂടുതൽ വിവരങ്ങൾക്ക്, കേർണൽ റിലീസ് പേജ് കാണുക.

ഘട്ടം 2: CentOS 7-ൽ കേർണൽ നവീകരിക്കുന്നു

ഒട്ടുമിക്ക ആധുനിക വിതരണങ്ങളും yum പോലെയുള്ള ഒരു പാക്കേജ് മാനേജ്മെന്റ് സിസ്റ്റവും ഔദ്യോഗികമായി പിന്തുണയ്ക്കുന്ന ഒരു റിപ്പോസിറ്ററിയും ഉപയോഗിച്ച് കേർണൽ നവീകരിക്കുന്നതിനുള്ള ഒരു മാർഗ്ഗം നൽകുന്നു.

പ്രധാനപ്പെട്ടത്: നിങ്ങൾ ഇഷ്uടാനുസൃത കംപൈൽ ചെയ്uത കേർണൽ പ്രവർത്തിപ്പിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഉറവിടങ്ങളിൽ നിന്ന് CentOS 7-ൽ ലിനക്സ് കേർണൽ എങ്ങനെ കംപൈൽ ചെയ്യാം എന്ന് വിശദീകരിക്കുന്ന ഞങ്ങളുടെ ലേഖനം നിങ്ങൾ വായിക്കണം.

എന്നിരുന്നാലും, ഇത് വിതരണത്തിന്റെ ശേഖരണങ്ങളിൽ നിന്ന് ലഭ്യമായ ഏറ്റവും പുതിയ പതിപ്പിലേക്ക് മാത്രമേ അപ്uഗ്രേഡ് ചെയ്യൂ - https://www.kernel.org/-ൽ ലഭ്യമായ ഏറ്റവും പുതിയതല്ല. നിർഭാഗ്യവശാൽ, മുൻ ഐച്ഛികം ഉപയോഗിച്ച് കേർണൽ നവീകരിക്കാൻ മാത്രമേ Red Hat അനുവദിക്കൂ.

Red Hat-ന് വിപരീതമായി, CentOS, ELRepo എന്ന മൂന്നാം-കക്ഷി ശേഖരത്തിന്റെ ഉപയോഗം അനുവദിക്കുന്നു, അത് സമീപകാല പതിപ്പിലേക്ക് നവീകരിക്കുന്നത് ഒരു കേർണൽ ആക്കുന്നു.

CentOS 7-ൽ ELRepo റിപ്പോസിറ്ററി പ്രവർത്തനക്ഷമമാക്കാൻ, ചെയ്യുക:

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 

റിപ്പോസിറ്ററി പ്രവർത്തനക്ഷമമാക്കിക്കഴിഞ്ഞാൽ, ലഭ്യമായ kernel.related പാക്കേജുകൾ ലിസ്റ്റുചെയ്യുന്നതിന് നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കാം:

# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * elrepo-kernel: mirror-hk.koddos.net
Available Packages
kernel-lt.x86_64                        4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-devel.x86_64                  4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-doc.noarch                    4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-headers.x86_64                4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools.x86_64                  4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools-libs.x86_64             4.4.176-1.el7.elrepo        elrepo-kernel
kernel-lt-tools-libs-devel.x86_64       4.4.176-1.el7.elrepo        elrepo-kernel
kernel-ml.x86_64                        5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-devel.x86_64                  5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-doc.noarch                    5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-headers.x86_64                5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools.x86_64                  5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools-libs.x86_64             5.0.0-1.el7.elrepo          elrepo-kernel
kernel-ml-tools-libs-devel.x86_64       5.0.0-1.el7.elrepo          elrepo-kernel
perf.x86_64                             5.0.0-1.el7.elrepo          elrepo-kernel
python-perf.x86_64                      5.0.0-1.el7.elrepo          elrepo-kernel

അടുത്തതായി, ഏറ്റവും പുതിയ മെയിൻലൈൻ സ്റ്റേബിൾ കേർണൽ ഇൻസ്റ്റാൾ ചെയ്യുക:

# yum --enablerepo=elrepo-kernel install kernel-ml
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.mirror.net.in
 * elrepo: mirror-hk.koddos.net
 * elrepo-kernel: mirror-hk.koddos.net
 * epel: repos.del.extreme-ix.org
 * extras: centos.mirror.net.in
 * updates: centos.mirror.net.in
Resolving Dependencies
--> Running transaction check
---> Package kernel-ml.x86_64 0:5.0.0-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================
 Package                Arch        Version                 Repository        Size
====================================================================================
Installing:
 kernel-ml              x86_64      5.0.0-1.el7.elrepo      elrepo-kernel     47 M

Transaction Summary
====================================================================================
Install  1 Package

Total download size: 47 M
Installed size: 215 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-5.0.0-1.el7.elrepo.x86_64.rpm                           |  47 MB  00:01:21     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : kernel-ml-5.0.0-1.el7.elrepo.x86_64                1/1 
  Verifying  : kernel-ml-5.0.0-1.el7.elrepo.x86_64                1/1 

Installed:
  kernel-ml.x86_64 0:5.0.0-1.el7.elrepo                                                                                                                                                                            

Complete!

അവസാനമായി, ഏറ്റവും പുതിയ കേർണൽ പ്രയോഗിക്കുന്നതിന് നിങ്ങളുടെ മെഷീൻ റീബൂട്ട് ചെയ്യുക, തുടർന്ന് കാണിച്ചിരിക്കുന്നതുപോലെ മെനുവിൽ നിന്ന് ഏറ്റവും പുതിയ കേർണൽ തിരഞ്ഞെടുക്കുക.

റൂട്ട് ആയി ലോഗിൻ ചെയ്യുക, തുടർന്ന് കേർണൽ പതിപ്പ് പരിശോധിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

# uname -sr

ഘട്ടം 3: GRUB-ൽ ഡിഫോൾട്ട് കേർണൽ പതിപ്പ് സജ്ജമാക്കുക

പുതുതായി ഇൻസ്uറ്റാൾ ചെയ്uത പതിപ്പ് സ്ഥിരസ്ഥിതി ബൂട്ട് ഐച്ഛികമാക്കുന്നതിന്, നിങ്ങൾ GRUB കോൺഫിഗറേഷൻ ഇനിപ്പറയുന്ന രീതിയിൽ പരിഷ്uക്കരിക്കേണ്ടതുണ്ട്:

ഫയൽ /etc/default/grub തുറന്ന് എഡിറ്റ് ചെയ്ത് GRUB_DEFAULT=0 സജ്ജമാക്കുക. GRUB പ്രാരംഭ സ്ക്രീനിലെ ആദ്യത്തെ കേർണൽ സ്ഥിരസ്ഥിതിയായി ഉപയോഗിക്കുമെന്നാണ് ഇതിനർത്ഥം.

GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

അടുത്തതായി, കേർണൽ കോൺഫിഗറേഷൻ പുനഃസൃഷ്ടിക്കുന്നതിന് താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.0.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.20.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.20.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.11-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.11-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-4.19.0-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.19.0-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-957.1.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.1.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-1e2b46dbc0c04b05b592c837c366bb76
Found initrd image: /boot/initramfs-0-rescue-1e2b46dbc0c04b05b592c837c366bb76.img
done

ഏറ്റവും പുതിയ കേർണൽ ഇപ്പോൾ ഡിഫോൾട്ടായി ഉപയോഗിക്കുന്നുണ്ടോ എന്ന് റീബൂട്ട് ചെയ്ത് സ്ഥിരീകരിക്കുക.

അഭിനന്ദനങ്ങൾ! നിങ്ങൾ CentOS 7-ൽ നിങ്ങളുടെ കേർണൽ നവീകരിച്ചു!

നിങ്ങളുടെ സിസ്റ്റത്തിലെ ലിനക്സ് കേർണൽ എങ്ങനെ എളുപ്പത്തിൽ അപ്uഗ്രേഡ് ചെയ്യാം എന്ന് ഈ ലേഖനത്തിൽ ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. ഉറവിടത്തിൽ നിന്ന് കേർണൽ കംപൈൽ ചെയ്യുന്നത് ഉൾപ്പെടുന്നതിനാൽ ഞങ്ങൾ ഉൾപ്പെടുത്താത്ത മറ്റൊരു രീതിയുണ്ട്, അത് ഒരു മുഴുവൻ പുസ്തകത്തിനും അർഹമായതും പ്രൊഡക്ഷൻ സിസ്റ്റങ്ങളിൽ ശുപാർശ ചെയ്യാത്തതുമാണ്.

ഇത് മികച്ച പഠനാനുഭവങ്ങളിൽ ഒന്നിനെ പ്രതിനിധീകരിക്കുന്നുവെങ്കിലും കേർണലിന്റെ സൂക്ഷ്മമായ കോൺഫിഗറേഷൻ അനുവദിക്കുന്നുണ്ടെങ്കിലും, നിങ്ങളുടെ സിസ്റ്റം ഉപയോഗശൂന്യമാക്കുകയും ആദ്യം മുതൽ അത് വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യേണ്ടിവരുകയും ചെയ്തേക്കാം.

ഒരു പഠനാനുഭവമായി കേർണൽ നിർമ്മിക്കാൻ നിങ്ങൾക്ക് ഇപ്പോഴും താൽപ്പര്യമുണ്ടെങ്കിൽ, അത് എങ്ങനെ ചെയ്യണമെന്നതിനുള്ള നിർദ്ദേശങ്ങൾ കേർണൽ ന്യൂബീസ് പേജിൽ നിങ്ങൾ കണ്ടെത്തും.

എല്ലായ്പ്പോഴും എന്നപോലെ, ഈ ലേഖനത്തെക്കുറിച്ച് നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ ചുവടെയുള്ള ഫോം ഉപയോഗിക്കാൻ മടിക്കേണ്ടതില്ല.