Kako instalirati ili nadograditi na Kernel 5.0 u CentOS 7


Iako neki ljudi koriste riječ Linux za predstavljanje operativnog sustava u cjelini, važno je napomenuti da je, strogo govoreći, Linux samo jezgra. S druge strane, distribucija je potpuno funkcionalan sustav izgrađen na vrhu kernela sa širokim izborom aplikacijskih alata i biblioteka.

Tijekom normalnih operacija, kernel je odgovoran za obavljanje dva važna zadatka:

  1. Djeluje kao sučelje između hardvera i softvera koji se izvodi na sustavu.
  2. Upravljanje resursima sustava što učinkovitije.

Da bi to učinio, kernel komunicira s hardverom putem upravljačkih programa koji su ugrađeni u njega ili onih koji se kasnije mogu instalirati kao modul.

Na primjer, kada se aplikacija pokrenuta na vašem računalu želi spojiti na bežičnu mrežu, ona šalje taj zahtjev kernelu, koji zauzvrat koristi pravi upravljački program za povezivanje s mrežom.

Predloženo za čitanje: Kako nadograditi kernel u Ubuntuu

S novim uređajima i tehnologijom koja se povremeno pojavljuje, važno je održavati našu jezgru ažurnom ako ih želimo maksimalno iskoristiti. Osim toga, ažuriranje naše jezgre pomoći će nam da iskoristimo nove funkcije jezgre i da se zaštitimo od ranjivosti koje su otkrivene u prethodnim verzijama.

Jeste li spremni ažurirati svoju jezgru na CentOS 7 ili jednu od njihovih izvedenica kao što suRHEL 7 i Fedora? Ako je tako, nastavite čitati!

Korak 1: Provjera instalirane verzije kernela

Kada instaliramo distribuciju, ona uključuje određenu verziju Linux kernela. Za prikaz trenutne verzije instalirane na našem sustavu možemo učiniti:

uname -sr

Sljedeća slika prikazuje izlaz gornje naredbe na poslužitelju CentOS 7:

Ako sada odemo na https://www.kernel.org/, vidjet ćemo da je najnovija verzija kernela 5.0 u vrijeme pisanja ovog teksta (ostale verzije su dostupne na istoj stranici).

Ova nova verzija Kernel 5.0 dugoročno je izdanje i bit će podržana 6 godina, ranije su sve verzije Linux kernela bile podržane samo 2 godine.

Jedna važna stvar koju treba uzeti u obzir je životni ciklus verzije kernela – ako se verzija koju trenutno koristite približava kraju svog životnog vijeka, nakon tog datuma više neće biti ispravci grešaka. Za više informacija, pogledajte stranicu Izdanja kernela.

Korak 2: Nadogradnja kernela u CentOS 7

Većina modernih distribucija pruža način nadogradnje kernela pomoću sustava za upravljanje paketima kao što je yum i službeno podržanog repozitorija.

Važno: Ako želite pokrenuti prilagođeno kompajlirani kernel, trebali biste pročitati naš članak koji objašnjava kako kompajlirati Linux kernel na CentOS 7 iz izvora.

Međutim, ovo će izvršiti nadogradnju samo na najnoviju verziju dostupnu iz repozitorija distribucije – ne na najnoviju dostupnu na https://www.kernel.org/. Nažalost, Red Hat dopušta samo nadogradnju kernela korištenjem prethodne opcije.

Za razliku od Red Hata, CentOS dopušta korištenje ELRepo, spremišta treće strane koje nadogradnju na noviju verziju čini kernelom.

Da biste omogućili ERLepo repozitorij na CentOS 7, učinite sljedeće:

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 

Nakon što je repozitorij omogućen, možete koristiti sljedeću naredbu za popis dostupnih paketa 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

Zatim instalirajte najnoviji mainline stabilni 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!

Na kraju, ponovno pokrenite svoje računalo kako biste primijenili najnoviji kernel, a zatim odaberite najnoviji kernel iz izbornika kao što je prikazano.

Prijavite se kao root i pokrenite sljedeću naredbu da provjerite verziju kernela:

uname -sr

Korak 3: Postavite zadanu verziju kernela u GRUB-u

Kako bi novoinstalirana verzija bila zadana opcija pokretanja, morat ćete izmijeniti GRUB konfiguraciju na sljedeći način:

Otvorite i uredite datoteku /etc/default/grub i postavite GRUB_DEFAULT=0. To znači da će se prva jezgra na GRUB početnom zaslonu koristiti kao zadana.

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"

Zatim pokrenite sljedeću naredbu za ponovno stvaranje konfiguracije kernela.


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

Ponovno pokrenite sustav i provjerite koristi li se najnoviji kernel prema zadanim postavkama.

Čestitamo! Nadogradili ste svoju jezgru u CentOS 7!

Sažetak

U ovom smo članku objasnili kako jednostavno nadograditi Linux kernel na vašem sustavu. Postoji još jedna metoda koju nismo pokrili jer uključuje kompajliranje kernela iz izvornog koda, što bi zavrijedilo cijelu knjigu i ne preporučuje se na proizvodnim sustavima.

Iako predstavlja jedno od najboljih iskustava učenja i omogućuje finu konfiguraciju kernela, možete učiniti svoj sustav neupotrebljivim i možda ćete ga morati ponovno instalirati ispočetka.

Ako ste još uvijek zainteresirani za izgradnju kernela kao iskustvo učenja, pronaći ćete upute kako to učiniti na stranici Kernel Newbies.

Kao i uvijek, slobodno upotrijebite obrazac u nastavku ako imate pitanja ili komentara o ovom članku.