ubuntu上更新和卸载Linux内核
简介
在调试代码过程中需要用到最新版本内核,上网学习良久,总结并输出这文章,方便自己将来查询。
本文不讲解原理,属于工具文,为方便阅读,尽可能只提示如何操作。
查询当前本机内核版本
$ uname -r
安装Ubuntu官方释放版本
从Ubuntu官方提供的内核链接中获取所需要的内核版本,链接https://kernel.ubuntu.com/~kernel-ppa/mainline/
从选择的内核版本中下载以下3个文件:
linux-headers-*_amd64.deb
linux-headers-*_all.deb
linux-image-*-generic_*amd64.deb
上述的 *
号表示模糊匹配,amd64
适用于64位amd架构的环境,可根据自己的情况选择对应的架构。
下载后用 dpkg
正常安装后重启即可
$ sudo dpkg -i *.deb
一键安装脚本
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
源码安装
从Linux官网获取内核源码,链接https://www.kernel.org/
例如通过git
获取最新稳定版内核:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
置换内核配置文件:
$ cp /boot/config-`uname -r` <内核源码根目录>
更新内核配置:
$ cd <内核源码更目录>
$ make menuconfig
编译内核:
$ cd <内核源码根目录>
$ make -j4 # 完整编译,也可用 make modules 编译内核模块
安装内核模块:
$ sudo make modules_install
安装内核:
$ sudo make install
搞定重启。
卸载Ubuntu官方释放版本
获取所有安装的内核版本
$ dpkg --get-selections | grep linux
选择要卸载的版本,卸载下列安装包
$ sudo apt remove linux-image-<版本>-generic
$ sudo apt remove linux-headers-<版本>
$ sudo apt remove linux-headers-<版本>-generic
$ sudo apt remove linux-modules-<版本>-generic
卸载源码版本
删除下面的文件和文件夹
$ rm -rf /boot/vmlinuz-<内核版本>-*
$ rm -rf /boot/initrd-<内核版本>-*
$ rm -rf /boot/System-map-<内核版本>-*
$ rm -rf /boot/config-<内核版本>
$ rm -rf /lib/modules/<内核版本>-*
更新启动引导
$ sudo update-grub