Jinsi ya Kusakinisha au Kuboresha hadi Kernel 5.0 katika CentOS 7


Ingawa watu wengine hutumia neno Linux kuwakilisha mfumo wa uendeshaji kwa ujumla, ni muhimu kutambua kwamba, kusema madhubuti, Linux ni kernel tu. Kwa upande mwingine, usambazaji ni mfumo unaofanya kazi kikamilifu uliojengwa juu ya punje na anuwai ya zana za utumaji na maktaba.

Wakati wa shughuli za kawaida, kernel inawajibika kwa kufanya kazi mbili muhimu:

  1. Inafanya kama kiolesura kati ya maunzi na programu inayoendeshwa kwenye mfumo.
  2. Kudhibiti rasilimali za mfumo kwa ufanisi iwezekanavyo.

Ili kufanya hivyo, kernel huwasiliana na vifaa kupitia viendeshi ambavyo vimejengwa ndani yake au zile ambazo zinaweza kusanikishwa baadaye kama moduli.

Kwa mfano, wakati programu inayoendesha kwenye mashine yako inataka kuunganishwa kwenye mtandao usiotumia waya, inawasilisha ombi hilo kwa kernel, ambayo kwa zamu hutumia kiendeshi sahihi kuunganisha kwenye mtandao.

Huku vifaa na teknolojia mpya ikitoka mara kwa mara, ni muhimu kusasisha kernel yetu ikiwa tunataka kunufaika nazo. Zaidi ya hayo, kusasisha kernel yetu kutatusaidia kutumia vitendaji vipya vya kernel na kujilinda kutokana na udhaifu ambao umegunduliwa katika matoleo ya awali.

Je, uko tayari kusasisha kernel yako kwenye CentOS 7 au mojawapo ya derivatives zao kama vile RHEL 7 na Fedora? Ikiwa ndivyo, endelea kusoma!

Hatua ya 1: Kuangalia Toleo la Kernel Iliyosakinishwa

Tunaposakinisha usambazaji ni pamoja na toleo fulani la kinu cha Linux. Ili kuonyesha toleo la sasa lililosakinishwa kwenye mfumo wetu tunaweza kufanya:

# uname -sr

Picha ifuatayo inaonyesha matokeo ya amri hapo juu kwenye seva ya CentOS 7:

Ikiwa sasa tutaenda kwa https://www.kernel.org/, tutaona kwamba toleo la hivi punde la kernel ni 5.0 wakati wa uandishi huu (matoleo mengine yanapatikana kutoka kwa tovuti sawa).

Toleo hili jipya la Kernel 5.0 ni toleo la muda mrefu na litatumika kwa miaka 6, awali matoleo yote ya Linux Kernel yalitumika kwa miaka 2 pekee.

Jambo moja muhimu la kuzingatia ni mzunguko wa maisha wa toleo la kernel - ikiwa toleo unalotumia sasa linakaribia mwisho wa maisha, hakuna marekebisho ya hitilafu yatatolewa baada ya tarehe hiyo. Kwa habari zaidi, rejelea ukurasa wa Matoleo ya kernel.

Hatua ya 2: Kuboresha Kernel katika CentOS 7

Usambazaji mwingi wa kisasa hutoa njia ya kuboresha kernel kwa kutumia mfumo wa usimamizi wa kifurushi kama vile yum na hazina inayoungwa mkono rasmi.

Muhimu: Ikiwa unatafuta kuendesha Kernel maalum iliyokusanywa, basi unapaswa kusoma nakala yetu inayoelezea Jinsi ya Kukusanya Kernel ya Linux kwenye CentOS 7 kutoka kwa vyanzo.

Hata hivyo, hii itafanya tu uboreshaji hadi toleo la hivi punde zaidi linalopatikana kutoka hazina za usambazaji - sio toleo jipya zaidi linalopatikana katika https://www.kernel.org/. Kwa bahati mbaya, Red Hat inaruhusu tu kuboresha kernel kwa kutumia chaguo la zamani.

Kinyume na Red Hat, CentOS inaruhusu matumizi ya ELRepo, hazina ya wahusika wengine ambayo hufanya uboreshaji wa toleo la hivi karibuni kuwa kernel.

Ili kuwezesha hazina ya ELRepo kwenye CentOS 7, fanya:

# 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 

Mara tu hazina imewashwa, unaweza kutumia amri ifuatayo kuorodhesha vifurushi vinavyopatikana vya 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

Ifuatayo, sakinisha kernel ya hivi karibuni ya msingi kuu:

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

Hatimaye, washa upya mashine yako ili kutumia punje ya hivi punde, na kisha uchague kernel ya hivi punde kutoka kwa menyu kama inavyoonyeshwa.

Ingia kama mzizi, na uendeshe amri ifuatayo ili kuangalia toleo la kernel:

# uname -sr

Hatua ya 3: Weka Toleo Chaguo-msingi la Kernel katika GRUB

Ili kufanya toleo jipya lililosanikishwa kuwa chaguo-msingi la boot, itabidi urekebishe usanidi wa GRUB kama ifuatavyo:

Fungua na uhariri faili /etc/default/grub na uweke GRUB_DEFAULT=0. Hii inamaanisha kuwa kerneli ya kwanza kwenye skrini ya awali ya GRUB itatumika kama chaguo-msingi.

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"

Ifuatayo, endesha amri ifuatayo ili kuunda tena usanidi wa kernel.

# 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

Washa upya na uthibitishe kuwa kernel ya hivi punde sasa inatumiwa na chaguo-msingi.

Hongera! Umeboresha kernel yako katika CentOS 7!

Katika makala hii tumeelezea jinsi ya kuboresha kwa urahisi kinu cha Linux kwenye mfumo wako. Bado kuna njia nyingine ambayo hatujashughulikia kwani inahusisha kukusanya punje kutoka kwa chanzo, ambayo ingestahili kitabu kizima na haipendekezwi kwenye mifumo ya uzalishaji.

Ingawa inawakilisha mojawapo ya uzoefu bora wa kujifunza na inaruhusu usanidi mzuri wa kernel, unaweza kuufanya mfumo wako ushindwe kutumika na unaweza kulazimika kuusakinisha tena kuanzia mwanzo.

Ikiwa bado una nia ya kujenga kernel kama uzoefu wa kujifunza, utapata maagizo ya jinsi ya kuifanya kwenye ukurasa wa Kernel Newbies.

Kama kawaida, jisikie huru kutumia fomu iliyo hapa chini ikiwa una maswali au maoni yoyote kuhusu nakala hii.