升级Linux内核版本

博主简介

一个热爱分享高性能服务器后台开发知识的博主,目标是通过理论与代码实践的结合deepin linux,让世界上看似无法把握的技术显得便于理解与把握。技能囊括了多个领域linux内核版本,包括C/C++、Linux、Nginx、MySQL、Redis、fastdfs、kafka、Docker、TCP/IP、协程、DPDK等。

️CSDN实力新星、CSDN博客专家、华为云云享专家、阿里云专家博主

序言

当提到强悍的操作系统时,UbuntuLinux无疑是一个倍受推崇的选择。作为一个基于开源的操作系统,UbuntuLinux提供了广泛的功能和灵活性,使其成为许多用户的首选。

UbuntuLinux的强悍之处:

持续更新内核版本的重要性:

一、Ubuntu内核升级的重要性

Linux内核的主要作用:

升级内核是保持系统最新和高效的关键,升级内核有助于保持系统与时俱进,获得更好的性能、安全性和稳定性。不过,升级内核也须要慎重,由于不当的升级可能会造成不稳定性或与现有软件不兼容。

在这里插入图片描述

二、探索不同的内核升级方式

打算升级前的必要步骤:

linux内核版本_内核版本是什么意思_内核版本Linux

2.1、使用ubuntu-mainline-kernel升级2.1.1、步骤

(1)下载ubuntu-mainline-kernel

 wget //raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh

(2)安装脚本

sudo install ubuntu-mainline-kernel.sh /usr/local/bin/

(3)安装最新Linux内核

 sudo ubuntu-mainline-kernel.sh -i
# 安装指定版本:sudo ubuntu-mainline-kernel.sh -i 内核版本号

(4)重启

sudo reboot

(5)检测内核版本

uname -r

2.1.2、其他

帮助:

Usage: /usr/local/bin/ubuntu-mainline-kernel.sh -c|-l|-r|-u
Download & install the latest kernel available from kernel.ubuntu.com
Arguments:
  -c               Check if a newer kernel version is available
  -i [VERSION]     Install kernel VERSION, see -l for list. You don't have to prefix
                   with v. E.g. -i 4.9 is the same as -i v4.9. If version is
                   omitted the latest available version will be installed
  -l [SEARCH]      List locally installed kernel versions. If an argument to this
                   option is supplied it will search for that
  -r [SEARCH]      List available kernel versions. If an argument to this option
                   is supplied it will search for that
  -u [VERSION]     Uninstall the specified kernel version. If version is omitted,
                   a list of max 10 installed kernel versions is displayed
  -h               Show this message
Optional:
  -s, --signed         Only install signed kernel packages (not implemented)
  -p, --path DIR       The working directory, .deb files will be downloaded into
                       this folder. If omitted, the folder /tmp/ubuntu-mainline-kernel.sh/
                       is used. Path is relative from $PWD
  -ll, --low-latency   Use the low-latency version of the kernel, only for amd64 & i386
  -lpae, --lpae        Use the Large Physical Address Extension kernel, only for armhf
  --snapdragon         Use the Snapdragon kernel, only for arm64
  -do, --download-only Only download the deb files, do not install them
  -ns, --no-signature  Do not check the gpg signature of the checksums file
  -nc, --no-checksum   Do not check the sha checksums of the .deb files
  -d, --debug          Show debug information, all internal command's echo their output
  --rc                 Also include release candidates
  --yes                Assume yes on all questions (use with caution!)

2.1.3、安装指定版本

内核版本是什么意思_内核版本Linux_linux内核版本

sudo ubuntu-mainline-kernel.sh -i 内核版本号

例如sudoubuntu-mainline-kernel.sh-iv5.15.0:

#sudo ubuntu-mainline-kernel.sh -i v5.15.0
Downloading index from kernel.ubuntu.com
Will download 6 files from kernel.ubuntu.com:
Downloading amd64/linux-headers-5.15.0-051500-generic_5.15.0-051500.202110312130_amd64.deb: 100%   
Downloading amd64/linux-headers-5.15.0-051500_5.15.0-051500.202110312130_all.deb: 100%   
Downloading amd64/linux-image-unsigned-5.15.0-051500-generic_5.15.0-051500.202110312130_amd64.deb: 100%   
Downloading amd64/linux-modules-5.15.0-051500-generic_5.15.0-051500.202110312130_amd64.deb: 100%   
Downloading amd64/CHECKSUMS: 100%   
Downloading amd64/CHECKSUMS.gpg: 100%   
Signature of checksum file has been successfully verified
Checksums of deb files have been successfully verified with sha256sum
Installing 4 packages
Cleaning up work folder

2.1.4、卸载内核版本

 sudo ubuntu-mainline-kernel.sh -u

示例:

Which kernel version do you wish to uninstall?
[0]: v5.11.0-051100
[1]: v5.15.0-051500
type the number between []: 

2.1.5、检查Linux最新可用版本

ubuntu-mainline-kernel.sh -c

示例:

# ubuntu-mainline-kernel.sh -c
Finding latest version available on kernel.ubuntu.com: v5.19.7
Finding latest installed version: v5.15.0
A newer kernel version (v5.19.7) was found but the build was not successful

2.2、使用包管理器升级(APT)

使用包管理器APT(AdvancedPackageTool)进行内核升级。进行任何系统修改之前,务必备份重要数据和配置文件linux内核版本,以防意外发生。步骤:

(1)更新软件包列表,确保软件包列表是最新的:

sudo apt update

linux内核版本_内核版本是什么意思_内核版本Linux

(2)升级现有软件包:

sudo apt upgrade

(3)搜索可用的内核版本:

apt search linux-image

(4)安装新内核:

sudo apt install linux-image-<version>

确保将替换为选择的实际内核版本。

(5)更新引导加载程序:

sudo update-grub

内核升级后须要更新引导加载程序,便于在启动时可以选择新的内核版本。

(6)重新启动系统:内核升级完成后,重新启动系统,以使修改生效。

(7)验证新内核:

uname -r

2.3、手动下载和安装内核

自动下载和安装内核是一个中级操作,须要从官方源或其他可信源自动下载和安装内核。通常步骤:

内核版本Linux_linux内核版本_内核版本是什么意思

(1)选择合适的内核版本,可以访问官方操作系统网站或内核开发者网站,以获取可用的内核版本信息。

(2)下载内核源代码:一旦确定了要安装的内核版本,可以通过以下方法之一获取内核源代码:

比如:

wget //www.kernel.org/pub/linux/kernel/v5.x/linux-5.x.x.tar.gz

(3)解压源代码:下载完成后,使用以下解压源代码压缩包:

tar -xzvf linux-5.x.x.tar.gz

(4)配置内核选项。步入解压后的内核源代码目录,并使用现有的内核配置文件作为基础配置。可以复制系统中/boot/config-$(uname-r)文件到内核源代码目录,并命名为.config:

cp /boot/config-$(uname -r) /path/to/linux-5.x.x/.config
#然后,运行以下以进行配置:在配置界面中可以根据需要修改内核选项;保存配置后退出。
make menuconfig

(5)配置完成后,编译内核:

make

(6)安装内核模块:编译完成后,可以安装内核及其模块:

sudo make modules_install
sudo make install

(7)更新引导程序:更新引导程序以引导新安装的内核。具体操作取决于使用的引导程序,比如GRUB。更新GRUB配置后,重启系统:

sudo update-grub
sudo reboot

(8)验证新内核。系统重启后,运行以下命令验证新内核是否生效:

linux内核版本_内核版本是什么意思_内核版本Linux

uname -r

三、回滚到以前版本

(1)启动时选择旧内核:在系统启动时,一般会显示一个引导菜单linux应用程序,选择要启动的内核版本。这一般是在GRUB引导菜单中完成的。在这个菜单中,选择原本的稳定内核版本,而不是新内核。

(2)步入系统:选择旧内核后,让系统继续启动。

(3)卸载新内核:一旦步入系统并确保旧内核才能正常工作,可以卸载新内核。使用以下命令卸载新内核:

sudo apt-get purge <新内核包名>

将替换为实际安装的新内核的包名。可以使用以下命令来查看系统上已安装的内核包列表:

dpkg --list | grep linux-image

(4)更新引导程序:删掉新内核后,更新引导程序以反映这种修改。运行以下命令来更新GRUB配置:

sudo update-grub

(5)重新启动系统:完成以上步骤后,重新启动系统以确保引导程序已更新而且系统可以正常引导到旧内核。

(6)验证内核版本:运行以下命令验证系统是否已回滚到原本的稳定内核版本:

uname -r

总结

这篇文章是针对想要升级其UbuntuLinux内核版本的用户的实用手册。文章的主要目标是帮助理解升级过程并确保其系统的稳定性和安全性。

在这里插入图片描述

本文原创地址://q13zd.cn/sjlnhbbtsgxn.html编辑:刘遄,审核员:暂无