Kuinka asentaa tai päivittää Kernel 5.0 -ohjelmaan CentOS 7: ssä


Vaikka jotkut ihmiset käyttävät sanaa Linux edustamaan käyttöjärjestelmää kokonaisuutena, on tärkeää huomata, että tiukasti ottaen Linux on vain ydin. Toisaalta jakelu on täysin toimiva järjestelmä, joka on rakennettu ytimen päälle ja jossa on laaja valikoima sovellustyökaluja ja kirjastoja.

Normaalien toimintojen aikana ydin on vastuussa kahden tärkeän tehtävän suorittamisesta:

  1. toimii liitäntänä laitteiston ja järjestelmässä toimivien ohjelmistojen välillä.
  2. Järjestelmäresurssien hallinta mahdollisimman tehokkaasti.

Tätä varten ydin kommunikoi laitteiston kanssa sisäänrakennettujen ohjainten kautta tai niiden, jotka voidaan myöhemmin asentaa moduulina.

Esimerkiksi kun koneellasi käynnissä oleva sovellus haluaa muodostaa yhteyden langattomaan verkkoon, se lähettää pyynnön ytimeen, joka vuorostaan käyttää oikeaa ohjainta muodostaakseen yhteyden verkkoon.

Uusien laitteiden ja tekniikan tullessa ajoittain on tärkeää pitää ytimemme ajan tasalla, jos haluamme hyödyntää niitä kaikessa. Lisäksi ytimen päivittäminen auttaa meitä hyödyntämään uusia ytimen toimintoja ja suojautumaan aiemmissa versioissa havaituilta haavoittuvuuksilta.

Oletko valmis päivittämään ytimesi CentOS 7: ssä tai yhdessä sen johdannaisista, kuten RHEL 7 ja Fedora? Jos on, jatka lukemista!

Vaihe 1: Asennetun ytimen version tarkistaminen

Kun asennamme jakelun, se sisältää tietyn version Linux-ytimestä. Voit näyttää järjestelmäämme asennetun nykyisen version seuraavasti:

# uname -sr

Seuraava kuva näyttää yllä olevan komennon lähdön CentOS 7 -palvelimessa:

Jos siirrymme nyt osoitteeseen https://www.kernel.org/, näemme, että uusin ytimen versio on 5.0 tämän kirjoituksen aikaan (muita versioita on saatavana samalta sivustolta).

Tämä uusi Kernel 5.0 -versio on pitkäaikainen julkaisu, ja sitä tuetaan 6 vuoden ajan, aiemmin kaikkia Linux-ytimen versioita tuettiin vain kahden vuoden ajan.

Yksi tärkeä huomioitava asia on ytimen version elinkaari - jos tällä hetkellä käyttämäsi versio lähestyy käyttöikänsä loppua, enää virhekorjauksia ei toimiteta kyseisen päivämäärän jälkeen. Lisätietoja on ytimen julkaisut -sivulla.

Vaihe 2: Ytimen päivittäminen CentOS 7: ssä

Useimmat modernit jakelut tarjoavat mahdollisuuden päivittää ydin käyttämällä paketinhallintajärjestelmää, kuten yum ja virallisesti tuettua arkistoa.

Tärkeää: Jos haluat suorittaa mukautetun käännetyn ytimen, sinun tulee lukea artikkeli, jossa selitetään Linux-ytimen kääntäminen CentOS 7: lle lähteistä.

Tämä kuitenkin suorittaa päivityksen vain uusimpaan versioon, joka on saatavana jakelun arkistoista - ei viimeisimpään versioon, joka on saatavana osoitteessa https://www.kernel.org/. Valitettavasti Red Hat sallii ytimen päivittämisen vain edellisellä vaihtoehdolla.

Päinvastoin kuin Red Hat, CentOS sallii ELRepon käytön, kolmannen osapuolen arkiston, joka tekee päivityksestä uusimpaan versioon ytimen.

Ota ELRepo-arkisto käyttöön CentOS 7: ssä seuraavasti:

# 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 

Kun arkisto on otettu käyttöön, voit käyttää käytettävissä olevia kernel.related-paketteja seuraavalla komennolla:

# 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

Asenna seuraavaksi uusin vakaa päälinjan ydin:

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

Lopuksi uudelleenkäynnistä koneesi viimeisimmän ytimen käyttämiseksi ja valitse sitten viimeisin ydin valikosta kuvan osoittamalla tavalla.

Kirjaudu pääkäyttäjänä ja suorita seuraava komento tarkistaaksesi ytimen version:

# uname -sr

Vaihe 3: Aseta ytimen oletusversio GRUB: ssa

Jotta äskettäin asennetusta versiosta tulisi oletuskäynnistysvaihtoehto, sinun on muutettava GRUB-kokoonpanoa seuraavasti:

Avaa ja muokkaa tiedostoa/etc/default/grub ja aseta GRUB_DEFAULT = 0 . Tämä tarkoittaa, että GRUB-aloitusnäytön ensimmäistä ydintä käytetään oletuksena.

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"

Suorita seuraava komento luodaksesi ytimen kokoonpano uudelleen.

# 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

Käynnistä uudelleen ja tarkista, että viimeisintä ydintä käytetään nyt oletuksena.

Onnittelut! Olet päivittänyt ytimesi CentOS 7: ssä!

Tässä artikkelissa olemme selittäneet kuinka päivittää Linux-ydin helposti järjestelmässäsi. On vielä yksi menetelmä, jota emme ole käsitelleet, koska siihen kuuluu ytimen kokoaminen lähteestä, joka ansaitsee kokonaisen kirjan ja jota ei suositella tuotantojärjestelmille.

Vaikka se edustaa yhtä parhaista oppimiskokemuksista ja sallii ytimen tarkan kokoonpanon, voit tehdä järjestelmästä käyttökelvottoman ja joutua asentamaan sen uudelleen alusta alkaen.

Jos olet edelleen kiinnostunut rakentamaan ytimen oppimiskokemukseksi, löydät ohjeet sen tekemiseen Kernel Newbies -sivulta.

Kuten aina, voit käyttää alla olevaa lomaketta, jos sinulla on kysyttävää tai kommentteja tästä artikkelista.