Hướng dẫn cài đặt hoặc nâng cấp kernel trên CentOS 7

Share and Enjoy !

Shares

Mặc dù rất nhiều người sử dụng từ Linux để đại diện cho toàn bộ cấu trúc hệ điều hành, nhưng thực chất, nói chính xác Linux chỉ là kernel (hạt nhân). Mặc khác, một bản phân phối (distribution) là hệ thống đầy đủ các chức năng được xây dựng trên nền kernel với rất nhiều ứng dụng và thư viện.

Trong quá trình vận hành, kernel chịu trách nhiệm thực hiện hai tác vụ quan trọng sau:

Kernel hoạt động như một cầu nối (middleware) giữa phần cứng và phần mềm chạy trên hệ thống.

Quản lý tài nguyên hệ thống hiệu quả nhất có thể. Để làm được điều này, kernel giao tiếp với phần cứng thông qua các trình điều khiển (drivers) được tích hợp sẵn bên trong nó hoặc được cài đặt bổ sung dưới dạng một module.

Đối với những thiết bị và công nghệ mới được phát hành thường xuyên, phải đi kèm với việc cập nhật kernel – điều này giúp tận dụng tối đa thế mạnh tài nguyên phần cứng của chúng. Ngoài ra, cập nhật kernel còn giúp khai thác tối đa những tính năng mới của nó và vá các lỗ hổng bảo mật đã được phát hiện trong phiên bản tiền nhiệm.

Trong nội dung bài viết này, mình sẽ hướng dẫn các bước chi tiết nhất để thực hiện cập nhật kernel trên CentOS 7, RHEL 7 hoặc Fedora.

1. Kiểm tra phiên bản kernel hiện tại

Để kiểm tra phiên bản Linux kernel đang được cài đặt trên hệ thống, bạn sử dụng lệnh sau:

# uname -sr 

Bạn cũng có thể truy cập trang kernel.org để xem danh sách đầy đủ các phiên bản kernel, với 5.2 là phiên bản mới nhất thời điểm hiện tại.

2. Nâng cấp kernel trên CentOS 7.

Hầu hết các bản phân phối mới hiện tại đều cung cấp hai cách nâng cấp kernel:

  • Sử dụng hệ thống quản lý gói (package management system) như yum.
  • Sử dụng kho lưu trữ chính thống (officially-supported repository).

Đối với giải pháp nâng cấp kernel sử dụng kho lưu trữ chính thống tương đối phức tạp và bạn chỉ có thể thực hiện nâng cấp lên phiên bản mới nhất có sẵn từ kho lưu trữ của bản phân phối (distribution’s repository) – có thể sẽ không phải là phiên bản mới nhất trong kernel.org

Thật may mắn, CentOS cho phép sử dụng ELRepo, kho lưu trữ của bên thứ ba giúp nâng cấp kernel lên phiên bản mới nhất sẵn có từ kernel.org.

Để bật ELRepo repository trên CentOs 7, bạn thực hiện lần lượt những lệnh sau:

# 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 

Sau khi bật repository thành công, bạn có thể xem danh sách các gói kernel.related có sẵn bằng lệnh:

# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available 

Tiếp theo, bạn thực hiện cài đặt kernel mới nhất bằng lệnh:

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

Cuối cùng, reboot server để hệ thống lưu lại cài đặt mới, sau đó bạn chọn phiên bản kernel mới nhất từ menu để khởi động.

Select Latest Kernel Version

Đăng nhập vào CentOS 7 bằng root, kiểm tra lại phiên bản kernel bằng lệnh:

# uname -sr

3. Cấu hình phiên bản kernel mặc định trong GRUB.

Để thiết lập phiên bản kernel mới cài đặt trở thành tùy chọn mặc định khi khởi động CentOS, bạn cần sửa cấu hình GRUB.

Mở và điều chỉnh giá trị GRUB_DEFAULT=0 trong file /etc/default/grub

Kế tiếp, thực thi lệnh bên dưới để áp dụng cấu hình kernel mới.

# grub2-mkconfig -o /boot/grub2/grub.cfg 

Sau cùng, bạn reboot lại server sẽ nhận thấy phiên bản kernel mới nhất sẽ được mặc định chọn khi khởi động.

Booting Default Kernel Version in CentOS 7

Như vậy là bạn đã nâng cấp phiên bản kernel cho CentOS 7 thành công!

4. Lời kết.

Trong phạm vi bài viết này, mình đã giải thích và trình bày chi tiết giải pháp đơn giản nhất để nâng cấp Linux kernel trên CentOS 7. Nếu bạn thực sự thích thú và cần trải nghiệm có thể tìm hiểu thêm về giải pháp khác mà mình đã đề cập ở đầu bài viết – bao gồm biên dịch kernel từ source.

Nếu bạn quan tâm có thể để lại bất kỳ câu hỏi hoặc góp ý bằng cách phản hồi vào cuối bài viết nhé.

Share and Enjoy !

Shares
Giới thiệu Hiệp Phạm 135 bài viết
Hiệp hiện đang là thành viên nhóm tác giả của HIEPSHARING.COM. Thích tìm hiểu, nghiên cứu Ethical Hacking, SysAdmin, DevOps và những công nghệ mới. Phương châm sống của mình: "Chỉ cần bản thân không bỏ cuộc, chậm chút cũng không sao."

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*