Cách nâng cấp Linux Kernel trên CentOS 7

6 Likes Comment

Linux Kernel là gì?

Linux kernel (nhân Linux) là một hạt nhân monolithic cho các hệ điều hành tương tự Unix. Hệ điều hành Linux dựa trên hạt nhân này và được triển khai trên cả hai hệ thống máy tính truyền thống là máy tính cá nhân và máy chủ.

nâng cấp Linux Kernel trên CentOS 7

Linux kernel được tạo ra bởi Linus Torvalds vào năm 1991 và các bản phân phối của Linux (Linux distro) như Ubuntu, CentOS, Debian…. đều sử dụng Linux Kernel.

Cách nâng cấp Linux Kernel trên CentOS 7

Khi bạn tạo một VPS chạy hệ điều hành CentOS 7 thì Linux Kernel mặc định của nó là 3.10, trong khi đó Linux Kernel bản mới nhất là 5.3.11. Các bạn có thể dùng lệnh sau để check phiên bản Linux Kernel.

name -sr

kết quả

Linux 3.10.0-1062.1.2.el7.x86_64

Bây giờ ta sẽ nâng cấp Linux Kernel bằng các bước sau.

1Cài đặt ELRepo repository. 

Thêm ELRepo gpg key.

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Cài đặt ELRepo 

rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

Kết quả

Retrieving https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:elrepo-release-7.0-3.el7.elrepo  ################################# [100%]

Kiểm tra xem ELRepo đã cài hay chưa bằng lệnh sau:

yum repolist

Nếu thấy

elrepo                  ELRepo.org Community Enterprise Linux Repository – el7″

tức là đã cài đặt thành công.

Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, priorities, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.newmediaexpress.com
 * elrepo: mirrors.thzhost.com
 * epel: sg.fedora.ipserverone.com
 * extras: mirror.newmediaexpress.com
 * rpmforge: kartolo.sby.datautama.net.id
 * updates: centos.netonboard.com
elrepo                                                                   | 2.9 kB  00:00:00     
elrepo/primary_db                                                        | 529 kB  00:00:00     
287 packages excluded due to repository priority protections
repo id                 repo name                                                      status
base/7/x86_64           CentOS-7 - Base                                                7786+2311
elrepo                  ELRepo.org Community Enterprise Linux Repository - el7            128+19
*epel/x86_64            Extra Packages for Enterprise Linux 7 - x86_64                 12483+974
extras/7/x86_64         CentOS-7 - Extras                                                    305
mariadb                 MariaDB                                                            33+10
rpmforge                RHEL 7 - RPMforge.net - dag                                      141+104
updates/7/x86_64        CentOS-7 - Updates                                               591+147
repolist: 21467

2 Cài đặt Linux Kenel stable bản mới nhất từ kernel.org

Sử dụng lệnh sau để cài đặt Linux Kernel

yum --enablerepo=elrepo-kernel install kernel-ml

Quá trình cài đặt bắt đầu

Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, priorities, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.newmediaexpress.com
 * elrepo: elrepo.mirror.angkasa.id
 * elrepo-kernel: elrepo.mirror.angkasa.id
 * epel: sg.fedora.ipserverone.com
 * extras: mirror.newmediaexpress.com
 * rpmforge: kartolo.sby.datautama.net.id
 * updates: centos.netonboard.com
elrepo-kernel                                                            | 2.9 kB  00:00:00     
elrepo-kernel/primary_db                                                 | 1.8 MB  00:00:00     
295 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package kernel-ml.x86_64 0:5.3.11-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

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

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

Total download size: 48 M
Installed size: 216 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-5.3.11-1.el7.elrepo.x86_64.rpm                                 |  48 MB  00:00:08     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : kernel-ml-5.3.11-1.el7.elrepo.x86_64                                         1/1 
  Verifying  : kernel-ml-5.3.11-1.el7.elrepo.x86_64                                         1/1 

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

Complete!

Kiểm tra xem Linux Kernel 5.3.11 đã được cài hay chưa bằng lệnh:

rpm -qa | grep kernel

Bạn sẽ thấy kernel-ml-5.3.11-1.el7.elrepo.x86_64 xuất hiện trong danh sách

kernel-headers-3.10.0-1062.4.3.el7.x86_64
kernel-3.10.0-1062.1.2.el7.x86_64
kernel-3.10.0-1062.4.1.el7.x86_64
kernel-devel-3.10.0-1062.4.3.el7.x86_64
kernel-ml-5.3.11-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-1062.4.3.el7.x86_64
kernel-3.10.0-1062.4.3.el7.x86_64
kernel-3.10.0-1062.el7.x86_64
kernel-devel-3.10.0-1062.4.1.el7.x86_64
kernel-tools-3.10.0-1062.4.3.el7.x86_64

3 Kích hoạt Linux Kernel mới

Tuy đã được cài đặt nhưng phiên bản Linux Kernel 5.3.11 vẫn chưa được kích hoạt, khi bạn khởi động lại VPS thì CentOS vẫn sử dụng Linux Kernel 3.10.

Bạn có thể kiểm tra các phiên bản Linux Kernel trong bộ nạp khởi động (Grub2) bằng lệnh sau:

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

Kết quả

0 : CentOS Linux (5.3.11-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1062.4.3.el7.x86_64) 7 (Core)
2 : CentOS Linux 7 Rescue b7b2f94704fd4768bfdb1f3cdd123206 (3.10.0-1062.4.1.el7.x86_64)
3 : CentOS Linux (3.10.0-1062.4.1.el7.x86_64) 7 (Core)
4 : CentOS Linux (3.10.0-1062.1.2.el7.x86_64) 7 (Core)
5 : CentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core)
6 : CentOS Linux (0-rescue-f8fd78b65c424d5ead635c5b7f572837) 7 (Core)

Để kích hoạt và sử dụng Linux Kernel 5.3.11 làm Linux Kernel mặc định ta sử dụng lệnh sau:

sudo grub2-set-default 0

0 – Chính là số thứ tự của Linux Kernel 5.3.11 ta đã có ở trên, nếu muốn sử dụng Linux Kernel phiên bản khác có thể sử dụng lại lệnh trên với số thứ tự của kernel đó.

Bây giờ ta khởi động lại VPS bằng lệnh

reboot

Sau đó đăng nhập lại VPS và kiểm tra lại thì lúc này CentOS đã sử dụng Linux Kernel mới nhất là 5.3.11

[06:41][root@vultr.guest ~]# uname -r
5.3.11-1.el7.elrepo.x86_64
[06:41][root@vultr.guest ~]# 

Như vậy là CentOS 7 của bạn đã sử dụng Linux Kernel mới nhất.

Cách xoá Lixnux Kernel cũ.

Sau khi nâng cấp lên Linux Kernel cũ có thể xoá Linux Kernel phiên bản cũ hơn để tiết kiệm ổ cứng bằng lệnh:

package-cleanup --oldkernels

Lệnh này sẽ liệt kê các phiên bản Linux Kernel cũ và hỏi bạn xem có muốn xoá chúng không.

[06:53][root@vultr.guest ~]# package-cleanup --oldkernels
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, priorities, versionlock
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-1062.el7 will be erased
---> Package kernel.x86_64 0:3.10.0-1062.1.2.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================
 Package           Arch              Version                          Repository           Size
================================================================================================
Removing:
 kernel            x86_64            3.10.0-1062.el7                  @CentOS              64 M
 kernel            x86_64            3.10.0-1062.1.2.el7              @updates             64 M

Transaction Summary
================================================================================================
Remove  2 Packages

Installed size: 128 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : kernel.x86_64                                                                1/2 
  Erasing    : kernel.x86_64                                                                2/2 
  Verifying  : kernel-3.10.0-1062.1.2.el7.x86_64                                            1/2 
  Verifying  : kernel-3.10.0-1062.el7.x86_64                                                2/2 

Removed:
  kernel.x86_64 0:3.10.0-1062.el7              kernel.x86_64 0:3.10.0-1062.1.2.el7             

Complete!

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *