Bài hướng dẫn này mình sẽ giúp các bạn nâng cấp Kernel 6.0.12-1.el7.elrepo.x86_64 thay cho bản kernel 3.10.0-1160.80.1.el7.x86_64 cũ kỹ trên CentOS 7, giúp hệ thống hoạt động ổn định và tương thích với phần cứng hơn là Kernel mặc định.
I. Giới thiệu
Mặc dù một số người sử dụng từ Linux để đại diện cho toàn bộ hệ điều hành, nhưng điều quan trọng cần lưu ý và nói đúng ra Linux chỉ là Kernel mà thôi. Mặt khác, bản phân phối là một hệ điều hành (CentOS, Ubuntu, EHEL..vv…) đầy đủ chức năng được xây dựng dựa trên Kernel với nhiều công cụ và thư viện ứng dụng.
Trong các hoạt động bình thường, Kernel chịu trách nhiệm thực hiện hai tác vụ quan trọng:
- Đóng vai trò là cầu nối giao tiếp 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 điều này, Kernel giao tiếp với phần cứng thông qua các driver (trình điều khiển) được tích hợp sẵn trong nó hoặc những driver có thể được cài đặt sau này dưới dạng mô-đun.
Ví dụ: Khi một ứng dụng đang chạy trên máy chủ của bạn muốn kết nối với mạng dây, nó sẽ gửi yêu cầu đó đến Kernel, đến lượt nó sẽ sử dụng driver (trình điều khiển) phù hợp để kết nối với mạng.
Với các thiết bị và công nghệ mới ra mắt định kỳ, điều quan trọng là phải cập nhật Kernel của hệ thống nếu chúng ta muốn tận dụng tối đa những tính năng mới nhất. Ngoài ra, việc cập nhật Kernel của hệ thống sẽ giúp bảo vệ hệ thống khỏi các lỗ hổng đã được phát hiện trong các phiên bản trước.
Và ở thời điểm mình viết bài này thì Kernel mới nhất và ổn định nhất là 6.0.12.
Các bạn có thể theo dõi phiên bản Kernel tại đường dẫn sau:
Nếu bạn đã sẵn sàng nâng cấp Kernel 6 cho CentOS 7 hãy tiếp tục đọc tiếp bài viết này!
II. Nâng cấp Kernel 6 cho CentOS 7
Để nâng cấp Kernel 6.0.12 cho CentOS 7 các bạn chỉ cần thực hiện theo các bước sau.
Bước 1: SSH vào hệ thống CentOS 7 của bạn
Để nâng cấp Kernel 6 cho CentOS 7, đầu tiên chúng ta cần SSH máy chủ của bạn với quyền root trước hoặc ít nhất là với người dùng có quyền sudo.
Sau khi đã SSH thành công với quyền root, chúng ta tiếp tục với bước 2 để thực hiện kiểm tra phiên bản Kernel trên hệ thống của bạn.
Bước 2: Kiểm tra phiên bản Kernel đã cài đặt
Khi chúng ta cài đặt CentOS 7, nó đã bao gồm một phiên bản nhất định của Kernel Linux. Để hiển thị phiên bản hiện tại được cài đặt trên hệ thống của chúng ta, chúng ta có thể thực hiện lệnh sau:
# uname -sr
Dưới đây là kết quả trên hệ thống CentOS 7 của mình.
Linux 3.10.0-1160.80.1.el7.x86_64
Phiên bản Kernel của mình là 3.10.0.-1160
Một điều quan trọng cần xem xét là vòng đời của phiên bản hạt nhân – nếu phiên bản bạn đang sử dụng sắp hết hạn sử dụng, thì sẽ không có thêm bản sửa lỗi nào được cung cấp sau ngày đó. Để biết thêm thông tin, hãy tham khảo trang các bản phát hành Kernel.
Bước 3: Thực hiện nâng cấp Kernel 5 trên CentOS 7
Hầu hết các bản phân phối hiện tại đều cung cấp cách nâng cấp hạt nhân bằng cách sử dụng lệnh yum và một kho lưu trữ được hỗ trợ chính thức.
Tuy nhiên, điều này sẽ chỉ 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ữ và nó không phải phiên bản mới nhất có trong https://www.kernel.org/.
Để giải quyết vấn đề này bạn cần cài đặt kho lưu trữ ELRepo, là một kho lưu trữ của bên thứ ba giúp nâng cấp lên Kernel phiên bản phát hành gần đây.
Để kích hoạt kho lưu trữ ELRepo trên CentOS 7, hãy thực hiện các 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 kho lưu trữ ELRepo đã được kích hoạt, bạn có thể sử dụng lệnh sau để liệt kê các gói có liên quan đến Kernel.
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * elrepo-kernel: hkg.mirror.rackspace.com Available Packages elrepo-release.noarch 7.0-6.el7.elrepo elrepo-kernel kernel-lt.x86_64 5.4.226-1.el7.elrepo elrepo-kernel kernel-lt-devel.x86_64 5.4.226-1.el7.elrepo elrepo-kernel kernel-lt-doc.noarch 5.4.226-1.el7.elrepo elrepo-kernel kernel-lt-headers.x86_64 5.4.226-1.el7.elrepo elrepo-kernel kernel-lt-tools.x86_64 5.4.226-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs.x86_64 5.4.226-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs-devel.x86_64 5.4.226-1.el7.elrepo elrepo-kernel kernel-ml-devel.x86_64 6.0.12-1.el7.elrepo elrepo-kernel kernel-ml-doc.noarch 6.0.12-1.el7.elrepo elrepo-kernel kernel-ml-headers.x86_64 6.0.12-1.el7.elrepo elrepo-kernel kernel-ml-tools.x86_64 6.0.12-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs.x86_64 6.0.12-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs-devel.x86_64 6.0.12-1.el7.elrepo elrepo-kernel perf.x86_64 5.4.226-1.el7.elrepo elrepo-kernel python-perf.x86_64 5.4.226-1.el7.elrepo elrepo-kernel
Danh sách Kernel bạn có thể sử dụng từ kho ELRepo. Danh sách này có thể thay đổi tùy thời điểm.
Tiếp theo, chúng ta thực hiện cài đặt Kernel ổn định chính thức mới nhất với lệnh sau:
# yum --enablerepo=elrepo-kernel install -y kernel-ml
Cuối cùng, sử dụng lệnh reboot
máy của bạn áp dụng Kernel mới nhất vừa được cài đặt và khi máy chủ khởi động các bạn hãy chọn Kernel mới nhất từ menu như hình sau.
Bước 4: Đặt phiên bản Kernel mặc định trong GRUB
Để đặt phiên bản mới cài đặt làm tùy chọn Kernel khởi động mặc định, bạn sẽ phải sửa đổi cấu hình GRUB như sau.
# sudo grub2-set-default 0
Điều này có nghĩa là Kernel trên cùng trong màn hình ban đầu GRUB sẽ được sử dụng làm mặc định.
Sau đó bạn cần lưu lại và chạy lệnh sau để khởi tạo lại cấu hình Kernel.
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ... Found linux image: /boot/vmlinuz-6.0.12-1.el7.elrepo.x86_64 Found initrd image: /boot/initramfs-6.0.12-1.el7.elrepo.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-1160.80.1.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-1160.80.1.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-b4bbe265db734114a726de45dfb26f2c Found initrd image: /boot/initramfs-0-rescue-b4bbe265db734114a726de45dfb26f2c.img done
Sau cùng chúng ta hãy khởi động lại với lệnh reboot
và sau đó khi hệ thống đã khởi động thì bạn có thể kiểm tra lại phiên bản Kernel một lần nữa với lệnh uname -sr
là xong.
# uname -sr Linux 6.0.12-1.el7.elrepo.x86_64
Chúc các bạn thành công.
ThuanNguyen.NET