linux手动编译安装内核的卸载

缘起

从几年前开始为了使用虚拟化直通的功能,一直使用自行编译开启了pci设备拆分功能的内核,这几年积累下来也有十几个内核了,由于使用的是make install安装,不能在更新内核时及时删除老的。

最近系统磁盘空间有点吃紧,就研究了一下怎么清理老的make install的内核。

折腾过程

标准apt安装内核的清理

网上查了下,都是讲标准通过apt安装的内核的清理,主要的步骤如下:

1、找出已经安装的内核

dpkg -l | grep linux-image-

2、卸载内核(注意不要把当前在用的内核卸载,卸载老版本的即可)

sudo apt-get purge linux-image-xxx-generic linux-image-xxx-generic

3、更新grub启动目录

sudo update-grub   或者  sudo update-grub2

4、重启机器

sudo reboot

卸载make install安装的内核

由于我是自己安装的内核,需要手动去卸载,可以通过如下脚本进行

1、删除特定版本的内核及相关文件$KERNEL_VERSION为要删除的版本

sudo rm -rfv /boot/vmlinuz-$KERNEL_VERSION
sudo rm -rfv /boot/initrd.img-$KERNEL_VERSION
sudo rm -rfv /boot/config-$KERNEL_VERSION
sudo rm -rfv /boot/System.map-$KERNEL_VERSION
sudo rm -rfv /lib/modules/$KERNEL_VERSION
sudo rm -rfv /var/lib/initramfs-tools/$KERNEL_VERSION

2、更新grub启动目录

sudo update-grub   或者  sudo update-grub2

3、重启机器

sudo reboot

拓展知识

1、系统自带内核停止更新

由于我是自己编译内核进行安装,那系统自带的内核就不需要经常更新了,可以使用如下命令停止内核更新

sudo apt-mark hold linux-image-5.3.0-42-generic

其中内核版本可以结合上文获取

2、关于linux官方git仓库

稳定的linux kernel仓库:

git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

或者

git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

这两个仓库是等价的, linux-stable会重定向到linux,同时这里的地址换成https就可以进行仓库的浏览

参考文档

https://lmy.name/p/ubuntu-remove-self-compile-kernel/

https://www.linuxdashen.com/ubuntu如何删除旧内核以节约硬盘空间

https://www.cnblogs.com/111testing/p/13668275.html

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。