如果更新了 Linux 操作系统,那么你会注意到,每次升级 Linux 内核后,GRUB 菜单都会添加一个新的引导条目,同时保持以前的条目不变。本文介绍如何删掉多余的内核。

默认情况下 yum 包管理器最多安装 3 个版本的 Linux 内核。因此,内核引导条目仅限于 3 个。

检查已安装的 Linux 内核

执行以下 yum 命令,列出 Linux 操作系统上已安装的内核。

[root@localhost ~]# rpm -q kernel
kernel-4.18.0-80.11.2.el8_0.x86_64
kernel-4.18.0-305.12.1.el8_4.x86_64

通常最新的 Linux 内核应该在操作系统上处于活动状态。除非明确将默认内核设置为旧版本。可以使用unamegrubby命令进行确认当前的内核版本。

[root@localhost ~]# uname -r
4.18.0-305.12.1.el8_4.x86_64
[root@localhost ~]# grubby --default-kernel
/boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64

设置默认 Linux 内核

列出 /boot 目录中可用的 Linux 内核。

[root@localhost ~]# ls -1 /boot/vmlinuz-*
/boot/vmlinuz-0-rescue-6d19da3ce9f3444dbb62aa3fe94e2836
/boot/vmlinuz-4.18.0-240.15.1.el8_3.x86_64
/boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64
/boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64

执行以下命令为 GRUB 设置默认内核。

[root@localhost ~]# grubby --set-default /boot//boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64
The default is /boot/loader/entries/6d19da3ce9f3444dbb62aa3fe94e2836-4.18.0-305.12.1.el8_4.x86_64.conf with index 0 and kernel /boot/vmlinuz-4.18.0-305.12.1.el8_4.x86_64

删除旧的 Linux 内核

默认情况下,Linux 内核始终由 Yum 包管理器单独安装,同时保持旧版本完整以提供后备支持。此行为由两个 Yum 包管理器指令控制。

installonlypkgs - 包管理器永远不会更新以空格分隔的包列表。

installonly_limit - installonlypkgs 指令中列出的任何单个包可以同时安装的最大版本数。

检查installonly_limit指令的当前值:

[root@localhost ~]# grep limit /etc/dnf/dnf.conf
installonly_limit=3

使用下面命令删除旧版本的 Linux 内核。

[root@localhost ~]# dnf -y remove --oldinstallonly --setopt installonly_limit=1 kernel

可能会注意到,我们并没有更改 dnf.conf 文件中的 installonly_limit参数的值,而是在命令行中临时只修改参数。

重启系统查看是否删掉多余的内核了。

总结

在本文中学习了如何在 CentOS 8 中安全地删除旧的 Linux 内核。

在 CentOS 8 中删除旧的 Linux 内核相关推荐

  1. ubuntu删除旧的linux内核

    ubuntu16.04删除旧的linux内核:(在/boot空间满了的情况) 今天想安装搜狗输入法,遇到了一个问题,就是/boot空间满了,配置不了一些文件. 这里记录以下如何删除不用的内核. 第一步 ...

  2. win10内核linux,windows 10中发布完整的Linux内核

    5月8日消息: 近年来,微软对Linux开发者社区的支持令许多人感到惊讶,包括将诸如Bash shell之类的东西引入到Windows,或者在Windows 10中支持原生OpenSSH,甚至包括Wi ...

  3. window10内核Linux,windows 10中发布完整的Linux内核

    5月8日消息: 近年来,微软对Linux开发者社区的支持令许多人感到惊讶,包括将诸如Bash shell之类的东西引入到Windows,或者在Windows 10中支持原生OpenSSH,甚至包括Wi ...

  4. linux内核中锁有哪些,Linux内核中有哪些锁

    Linux内核中的各种锁 在LInux操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问.尤其是在多处理器系统上,更需 ...

  5. linux内核中获取虚拟地址api,Linux内核-系统调用

    Linux内核-系统调用 1.与内核通信 #系统调用在用户空间进程和硬件设备之间添加了一个中间层 作用:1.为用户空间提供了一种硬件的抽象接口 2.系统调用保证了系统的稳定和安全 3.出于每一个进程都 ...

  6. 在linux下恶臭hellotext中作用的?,《Linux内核与程序设计》实验学习笔记

    Linux内核与程序设计>实验指导 实验一  实验名称:常用命令和编辑器的使用(2学时) 一.实验目的 1.掌握Linux一般命令格式 2.掌握有关文件和目录操作的常用命令 3.掌握有关进程操作 ...

  7. ubuntu 更新linux内核,在Ubuntu中,如何更新Linux内核

    前提条件运行Ubuntu Linux的服务器 访问终端(CTRL-ALT-T或应用程序菜单>附件>终端) 用户帐户,有sudo权限 apt工具,内置于Ubuntu, 内置于Ubuntu中的 ...

  8. qemu debug linux内核,在QEMU环境中使用GDB调试Linux内核

    简介 对用户态进程,利用gdb调试代码是很方便的手段.而对于内核态的问题,可以利用crash等工具基于coredump文件进行调试.其实我们也可以利用一些手段对Linux内核代码进行gdb调试,qem ...

  9. 老电脑linux内核,如何删除废旧的Linux内核(kernel)

    ??? 今晚我把电脑打开进入到了熟悉的 fedora 系统里面,我想给系统进行一次升级,可是当执行 yum update -y 命令后 ,我发现不能正常升级了,出现了依赖性问题,试着解决可是问题依然没 ...

最新文章

  1. npj Microbiomes|细菌群落的整体涌现特性诱导了拟南芥的干旱抗性(一作解读)
  2. 安卓开发笔记(二十七):实现轮播文字消息
  3. MFC中添加自己定义的消息
  4. 腾讯NExT Studios万字解读:我们是怎样将一款偏硬核的Roguelike游戏大众化的?
  5. 第十节:ES6为函数做了哪些扩展?
  6. 【原创】关于MATLAB中imagesc函数图像保存的问题
  7. 找到符合条件的索引_程序员写了多年CRUD,总结出数据库索引这几点值得注意...
  8. 外星人bios按f2调风扇_外星人电脑上海维修站地址「上海市飞雕国际大厦2703室」...
  9. 在URP中使用UICamera
  10. 为什么程序员应该避免间接代码?
  11. Vmware安装vmware-tools后,仍无法上网
  12. java视频播放器vlcj_vlcj--java-制作视频播放器
  13. httpclient3与httpclient4访问的一些区别
  14. 基于java的出租车预约网站
  15. 探探这只反语言暴力公益短片 提供了一个新视角
  16. VMware和mobaXterm连接总结
  17. 微信小游戏制作学习笔记
  18. 浅析功耗性能肖特基二极管的重要性
  19. 北京 怀揣理想的地方!
  20. C++还在用printf/cout进行Debug?学习一下如何自己写日志库吧(上篇)

热门文章

  1. 用Python统计分析290种零食,谁能唤起80、90后的童年回忆?
  2. Linux内核网络栈1.2.13-socket.c函数概述
  3. 早餐组合(购买方案)
  4. 基于深度学习的特征提取和匹配
  5. 谷歌简单粗暴“复制-粘贴”数据增广,刷新COCO目标检测与实例分割新高度
  6. 利用Java反射机制和poi插件操作excel
  7. 第四章:Spring项目文件上传两种方式(全解析)
  8. vue-cli3 第三版安装搭建项目
  9. Apache 基金会发布2018财年年报:Java 项目占大半
  10. Oracle RAC 常用维护工具和命令