Ubuntu内核从默认的v5.11升级为v5.13或v5.15时,需要升级libc和开发工具gcc。升级步骤如下:

1. sudo apt update && libc升级

 系统的 libc6==2.31-0ubuntu9.2 还满足不了依赖,还需要 >= 2.34; 需要安装的文件如下

wget -q http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc6_2.34-0ubuntu3_amd64.deb

sudo dpkg --auto-deconfigure -i *.deb 会出现一个交互式的选项, yes 即可
wget -q http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc-bin_2.34-0ubuntu3_amd64.deb
wget -q http://ports.ubuntu.com/pool/main/g/glibc/locales_2.34-0ubuntu3_all.deb
$ ls
libc6_2.34-0ubuntu3_amd64.deb  
libc-bin_2.34-0ubuntu3_amd64.deb  
locales_2.34-0ubuntu3_all.deb

安装:

 sudo dpkg --auto-deconfigure -i *.deb
没有错误提示,最后提示如下等内容,则安装成功:
  • Generation complete.

  • Processing triggers for man-db ...

参考:
Ubuntu 升级 kernel 至 5.13.11(5.15.10)

注意:

如果在 linux-5.11中编译dpdk时,需要降级libc为libc6_2.31

wget -q http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc6_2.31-0ubuntu9_amd64.deb
wget -q http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc-bin_2.31-0ubuntu9_amd64.deb
wget -q http://ports.ubuntu.com/pool/main/g/glibc/locales_2.31-0ubuntu9_all.deb

2. 下载ubuntu-5.15 deb文件

    1>.首先,我们打开Ubuntu的Kernel网站

    2>.拖动到底下看看Ubuntu的最新内核版本(我们选择升级为5.15版本)。

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.15/amd64/linux-headers-5.15.0-051500_5.15.0-051500.202110312130_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.15/amd64/linux-headers-5.15.0-051500-generic_5.15.0-051500.202110312130_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.15/amd64/linux-image-unsigned-5.15.0-051500-generic_5.15.0-051500.202110312130_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.15/amd64/linux-modules-5.15.0-051500-generic_5.15.0-051500.202110312130_amd64.deb

3. 安装所有的deb软件包
 

sudo dpkg -i *.deb

安装完成后重启系统即可。

4. gcc安装及版本切换

sudo apt-get install gcc-11

错误提示:E: You don't have enough free space in /var/cache/apt/archives/.

解决方案:

sudo apt-get autoclean  清理已下载过期的安装包
sudo apt-get clean      清理已下载的安装包

# 创建目录,把缓存指向目录软连接
mkdir -p "$HOME/debs/partial"				#我以root身份登录,这里是 /root/debs/partial,要确保 /root/ 目录有足够的空间,否则也会提示"You don't have enough free space in /var/cache/apt/archives/."
sudo rm -rf /var/cache/apt/archives
sudo ln -s "$HOME/debs" /var/cache/apt/archives
 

gcc版本切换:

参考:ubuntu系统查看gcc版本及版本切换

查看已经安装的gcc版本:

 可以看到已经安装了gcc-9和gcc-11。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 20 --slave /usr/bin/g++ g++ /usr/bin/g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11
# 10,20这些表示的是优先级,可根据需要选定,优先级高的即为默认的。

sudo update-alternatives --config gcc

输入1切换到gcc-11。

使用gcc源码手动安装gcc-11.2

参考 Ubuntu20.04 LTS 安装GCC11.2教程,包教包会!

然后执行:

ln -s  /usr/local/gcc-11.2/bin/gcc-11.2  gcc-11.2

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11.2 15 --slave /usr/bin/g++ g++ /usr/local/gcc-11.2/bin/g++-11.2

//可切换gcc版本
sudo update-alternatives --config gcc

ubuntu 内核升级:

更新Ubuntu内核到最新版本s

设置默认的驱动内核:

Ubuntu 设置内核版本的GRUB默认启动

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐