CentOS 7'de Çekirdek 5.0 Nasıl Kurulur veya Yükseltilir


Her ne kadar bazı kişiler işletim sistemini bir bütün olarak temsil etmek için Linux kelimesini kullansa da, kesin konuşmak gerekirse Linux'un yalnızca çekirdek olduğunu belirtmek önemlidir. Öte yandan dağıtım, çok çeşitli uygulama araçları ve kitaplıklara sahip, çekirdeğin üzerine kurulmuş, tamamen işlevsel bir sistemdir.

Normal işlemler sırasında çekirdek iki önemli görevi yerine getirmekten sorumludur:

  1. Sistemde çalışan donanım ile yazılım arasında arayüz görevi görür.
  2. Sistem kaynaklarını mümkün olduğunca verimli bir şekilde yönetmek.

Bunu yapmak için çekirdek, donanımla, içinde yerleşik olan veya daha sonra modül olarak kurulabilen sürücüler aracılığıyla iletişim kurar.

Örneğin, makinenizde çalışan bir uygulama kablosuz bir ağa bağlanmak istediğinde, bu isteği çekirdeğe gönderir ve çekirdek de ağa bağlanmak için doğru sürücüyü kullanır.

Önerilen Okuma: Ubuntu'da Çekirdek Nasıl Yükseltilir

Periyodik olarak yeni cihazlar ve teknolojiler ortaya çıktığı için, eğer bunlardan en iyi şekilde yararlanmak istiyorsak, çekirdeğimizi güncel tutmak önemlidir. Ayrıca çekirdeğimizi güncellemek, yeni çekirdek işlevlerinden yararlanmamıza ve önceki sürümlerde keşfedilen güvenlik açıklarından kendimizi korumamıza yardımcı olacaktır.

Çekirdeğinizi CentOS 7 veya RHEL 7 ve Fedora gibi türevlerinden birinde güncellemeye hazır mısınız? Eğer öyleyse okumaya devam edin!

Adım 1: Kurulu Çekirdek Sürümünü Kontrol Etme

Bir dağıtım kurduğumuzda, Linux çekirdeğinin belirli bir sürümünü içerir. Sistemimizde yüklü olan güncel sürümü göstermek için şunları yapabiliriz:

uname -sr

Aşağıdaki resimde yukarıdaki komutun bir CentOS 7 sunucusundaki çıktısı gösterilmektedir:

Şimdi https://www.kernel.org/ adresine gidersek, bu yazının yazıldığı sırada en son çekirdek sürümünün 5.0 olduğunu göreceğiz (diğer sürümler aynı sitede mevcuttur).

Bu yeni Çekirdek 5.0 sürümü uzun vadeli bir sürümdür ve 6 yıl boyunca desteklenecektir; daha önce tüm Linux Çekirdeği sürümleri yalnızca 2 yıl boyunca destekleniyordu.

Göz önünde bulundurulması gereken önemli bir nokta, çekirdek sürümünün yaşam döngüsüdür; şu anda kullanmakta olduğunuz sürüm ömrünün sonuna yaklaşıyorsa, bu tarihten sonra başka hata düzeltmesi sağlanmayacaktır. Daha fazla bilgi için çekirdek Sürümleri sayfasına bakın.

Adım 2: CentOS 7'de Çekirdeği Yükseltme

Çoğu modern dağıtım, yum gibi bir paket yönetim sistemi ve resmi olarak desteklenen bir depo kullanarak çekirdeği yükseltmenin bir yolunu sağlar.

Önemli: Özel derlenmiş Çekirdek çalıştırmak istiyorsanız, CentOS 7'de Linux Çekirdeğinin Nasıl Derleneceğini kaynaklardan açıklayan makalemizi okumalısınız.

Ancak bu, https://www.kernel.org/ adresinde bulunan en son sürüme değil, yalnızca dağıtımın depolarında bulunan en yeni sürüme yükseltme işlemini gerçekleştirir. Ne yazık ki Red Hat, çekirdeğin yalnızca önceki seçenek kullanılarak yükseltilmesine izin veriyor.

Red Hat'in aksine CentOS, yeni bir sürüme yükseltmeyi çekirdek haline getiren üçüncü taraf bir veri havuzu olan ELRepo'nun kullanılmasına izin verir.

CentOS 7'de ELRepo deposunu etkinleştirmek için şunları yapın:

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 

Depo etkinleştirildikten sonra, mevcut kernel.ile ilgili paketleri listelemek için aşağıdaki komutu kullanabilirsiniz:


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

Ardından, en son ana hat kararlı çekirdeğini yükleyin:


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!

Son olarak, en son çekirdeği uygulamak için makinenizi yeniden başlatın ve ardından gösterildiği gibi menüden en son çekirdeği seçin.

Root olarak oturum açın ve çekirdek sürümünü kontrol etmek için aşağıdaki komutu çalıştırın:

uname -sr

Adım 3: GRUB'da Varsayılan Çekirdek Sürümünü Ayarlayın

Yeni yüklenen sürümü varsayılan önyükleme seçeneği yapmak için GRUB yapılandırmasını aşağıdaki gibi değiştirmeniz gerekecektir:

/etc/default/grub dosyasını açıp düzenleyin ve GRUB_DEFAULT=0 olarak ayarlayın. Bu, GRUB başlangıç ekranındaki ilk çekirdeğin varsayılan olarak kullanılacağı anlamına gelir.

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"

Daha sonra çekirdek yapılandırmasını yeniden oluşturmak için aşağıdaki komutu çalıştırın.


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

Yeniden başlatın ve en son çekirdeğin artık varsayılan olarak kullanıldığını doğrulayın.

Tebrikler! CentOS 7'de çekirdeğinizi yükselttiniz!

Özet

Bu yazımızda sisteminizde Linux çekirdeğini nasıl kolayca yükseltebileceğinizi anlattık. Çekirdeğin kaynaktan derlenmesini içerdiği için ele almadığımız, bir kitap boyu sürecek olan ve üretim sistemlerinde tavsiye edilmeyen başka bir yöntem daha var.

En iyi öğrenme deneyimlerinden birini temsil etmesine ve çekirdeğin ayrıntılı bir şekilde yapılandırılmasına izin vermesine rağmen, sisteminizi kullanılamaz hale getirebilir ve onu sıfırdan yeniden kurmanız gerekebilir.

Hala çekirdeği bir öğrenme deneyimi olarak oluşturmakla ilgileniyorsanız, Çekirdek Yeni Başlayanlar sayfasında bunun nasıl yapılacağına ilişkin talimatlar bulacaksınız.

Her zaman olduğu gibi, bu makaleyle ilgili herhangi bir sorunuz veya yorumunuz varsa aşağıdaki formu kullanmaktan çekinmeyin.