Linux : 删除多余内核

byobu  https://github.com/dustinkirkland/byobu

  https://www.byobu.org/

debian / byobu  https://manpages.debian.org/stretch/byobu/purge-old-kernels.1.en.html

删除linux内核多余架构,删除多余Linux内核方法  https://blog.csdn.net/weixin_29195217/article/details/116964508  

------

如何在Debian中删除旧内核   https://www.linuxadictos.com/

sudo apt install byobu

如何删除 Debian 上未使用的旧内核映像  https://cn.linux-console.net/?p=13795

3 种简单方法:如何在 Ubuntu 中删除多余内核  https://www.sysgeek.cn/remove-ubuntu-kernel/

通常情况下,大多数 Linux 发行版会保留当前的内核版本和上一个版本,以便救援和回滚。这样可以确保在升级到新的内核版本后,如果出现任何问题,还可以启动到较旧的、能正常工作的内核。

然而,在有些情况下,例如手动安装了 Linux 内核或从第三方仓库安装了特定内核时,在运行如sudo apt autoremove之类的包清理命令时,旧的内核不会被自动删除。

这些旧版本内核会持续在/boot目录中积累,随着时间的推移逐渐占据更多的硬盘空间。所以,有必要识别并清除这些未使用的多余内核,以释放宝贵的磁盘空间

debian卸载旧内核

  https://www.cnblogs.com/defifind/p/9402721.html

debian卸载旧内核要先看看有哪些旧的内核,用命令:

uname -a

dpkg --get-selections |grep linux

如果你的内核是以kernel开头的就把上面的linux改成kernel,之后再用

dpkg --purge --force-remove-essential linux-image-XXX

删除linux内核多余架构,删除多余Linux内核方法 

   https://blog.csdn.net/weixin_29195217/article/details/116964508

我使用的是Linux Mint,更新频繁,旧版本的Linux内核只会浪费硬盘空间,因此我会定期删除多余的内核。

查看已安装所有内核:

sudo dpkg --get-selections |grep linux-image

查看当前正在使用的内核:

uname -r

删除不需要的内核,注意不要删除当前正在使用的内核,否则会导致系统无法登录。

sudo apt-get remove 内核名称

再次查看已安装内核,发现已删除的内核还在,如:

linux-image-4.10.0-38-generic deinstall

linux-image-4.13.0-37-generic install

linux-image-extra-4.10.0-38-generic deinstall

linux-image-extra-4.13.0-36-generic deinstall

linux-image-extra-4.13.0-37-generic install

dinstall是已删除的内核,但记录还在,因此,应该使用以下命令删除:

apt-get --purge remove 内核名称

最后更新一下启动引导:

sudo update-grub

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内核模块程序的结构包括头文件、模块描述、初始化函数、清理函数等几个部分。 1. 头文件:包括必要的头文件,例如linux/module.h,linux/kernel.h等。 2. 模块描述:使用MODULE_LICENSE宏定义指定模块的许可证,使用MODULE_AUTHOR宏定义指定模块的作者信息,使用MODULE_DESCRIPTION宏定义指定模块的描述信息。 3. 初始化函数:使用module_init宏定义指定模块的初始化函数,该函数在模块加载时被调用。通常在初始化函数中完成模块需要进行的一些初始化操作。 4. 清理函数:使用module_exit宏定义指定模块的清理函数,该函数在模块卸载时被调用。通常在清理函数中完成模块需要进行的一些清理操作。 以下是一个简单的内核模块示例,实现了模块加载时打印学号,卸载时打印“bye-embedded”: ```c #include <linux/module.h> #include <linux/kernel.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("Your Name"); MODULE_DESCRIPTION("A simple example Linux module."); static int __init hello_init(void) { printk(KERN_INFO "Hello, Embedded! My student ID is 123456.\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_INFO "bye-embedded\n"); } module_init(hello_init); module_exit(hello_exit); ``` 在该示例中,使用了module_init和module_exit宏定义分别指定了初始化函数和清理函数。在初始化函数中使用了printk函数打印学号信息,在清理函数中使用了printk函数打印卸载信息。 编译该模块需要使用Makefile文件,可以使用以下Makefile示例: ```makefile obj-m := hello.o KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules clean: $(MAKE) -C $(KERNELDIR) M=$(PWD) clean ``` 该Makefile使用了obj-m变量指定了要编译的模块文件,KERNELDIR变量指定了内核源码目录,PWD变量指定了当前目录。在编译时执行make命令即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值