码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CentOS 离线升级Linux的内核并删除多有内核


    目录

    1、使用场景

    2、离线升级实现步骤说明

    2.1、原始操作系统环境

    2.2、系统内核下载网址

    3、成果展现3.1、先查看系统环境

    4、离线升级系统内核

    4.1、更新yum源仓库

    4.2、选择下载离线升级对应的版本,选择标准和要求如下描述

    4.3、升级内核包

    5、删除多余无用内核教程,释放/boot分区空间

    6、参考文章


    1、使用场景

            最近需要安装K8S集群环境,因为最新版本的K8S需要对操作系统内核有要求,必须升级到5.x版本,若服务器能便捷访问外网,可使用在线升级内核方式。但是我部署的服务器访问外网很是不便捷只能考虑离线升级内核方式。于是有这篇文章形成。主要记录下来,为后续操作能够可以参考。主要原因是 CentOS系统简洁稳定,但是系统内核版本低,有的软件要求的系统内核版本高,此时升级系统内核即可满足要求!

    2、离线升级实现步骤说明

    2.1、原始操作系统环境

    服务器版本系统内核版本CPU架构
    CentOS Linux release 7.6.1708 (Core)3.10.0-693.el7.x86_64x86_64

    2.2、系统内核下载网址

    centos 系统内核可到如下两个镜像源下载:

    1.清华大学开源软件镜像站:

     2.elrepo镜像站:

    3、成果展现
    3.1、先查看系统环境

    查看操作系统版本

    [root@VM_0_8_centos ~]# cat /etc/centos-release

    CentOS Linux release 7.6.1810 (Core)

    查看操作系统内核版本

    [root@VM_0_8_centos ~]# uname -r

    3.10.0-957.21.3.el7.x86_64

    4、离线升级系统内核

    4.1、更新yum源仓库

    yum -y update

    4.2、选择下载离线升级对应的版本,选择标准和要求如下描述

    内核包下载好,kernel-ml代表主线版本,总是保持主线最新的内核,kernel-lt代表长期支持版本,支持周期更长,如果你要追求最新的版本,直接选择带ml的rpm包即可,如果你要追求稳定且更长的支持周期,直接选择lt版本即可。

         我选择使用的是

         kernel-lt-5.4.214-1.el7.elrepo.x86_64.rpm

         kernel-lt-devel-5.4.214-1.el7.elrepo.x86_64.rpm
     

    4.3、升级内核包

         首先吧下载文件上传到待升级内核的机器上,然后执行升级操作

        执行升级命令:rpm -ivh kernel-lt-5.4.214-1.el7.elrepo.x86_64.rpm

    内核升级完毕后,需要我们修改内核的启动顺序,默认启动的顺序应该为1,升级以后内核是往前面插入为0,设置GRUB_DEFAULT=0。一般新安装的内核在第一个位置,所以设置default=0,意思是 GRUB 初始化页面的第一个内核将作为默认内核。

    默认的grub文件,GRUB_DEFAULT=saved

    1. [root@VM_0_8_centos ~]# uname -r
    2. 3.10.0-957.21.3.el7.x86_64
    3. [root@VM_0_8_centos ~]# cat /etc/centos-release
    4. CentOS Linux release 7.6.1810 (Core)
    5. [root@VM_0_8_centos ~]# cat /etc/default/grub
    6. GRUB_TIMEOUT=5
    7. GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    8. GRUB_DEFAULT=saved
    9. GRUB_DISABLE_SUBMENU=true
    10. GRUB_TERMINAL="serial console"
    11. GRUB_TERMINAL_OUTPUT="serial console"
    12. GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0 console=tty0 panic=5 net.ifnames=0 biosdevname=0"
    13. GRUB_DISABLE_RECOVERY="true"
    14. GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"

    使 GRUB_DEFAULT=0

    vim /etc/default/grub

    查看所有的内核

    awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg

    重新生成grub配置文件

    grub2-mkconfig -o /boot/grub2/grub.cfg

    重启并查看内核版本

    reboot

    可以看到内核升级成功

    uname -r

    5、删除多余无用内核教程,释放/boot分区空间

    因为目前只使用CentOS 7 x64系统,所以本教程将仅适用于CentOS 7 x64系统,不保证在CentOS 8等系统上的效果。

    另外卸载系统内核属于危险操作,可能导致VPS无法启动,非必要请勿进行此项操作,也不建议在生产环境下进行此项操作。

    首先分享下自动化的方法,命令少,操作少,方便快捷。

    1. 执行以下命令可以自动获取当前系统中的无用内核(未使用的)并进入卸载

    yum remove $(rpm -qa | grep kernel | grep -v $(uname -r))

    2. 执行上面命令后,会有卸载确认操作。确认下卸载内核列表中没有当前正在使用的内核,然后输入y确认卸载即可。

    3. 卸载完毕后,可以执行以下命令查看下/boot分区的占用情况

    df -h /boot
    

    6、参考文章

    centos7 离线升级/在线升级操作系统内核

    CentOS7删除多余无用内核教程,释放/boot分区空间

  • 相关阅读:
    利用matlab求解线性优化问题【基于matlab的动力学模型学习笔记_11】
    DatePicker与DatePickerDialog
    el-tree 懒加载数据,展开的节点与查询条件联动
    springboot福佳生活超市进销存管理系统毕业设计源码261620
    11.20 知识总结(choices参数、MVC和MTV的模式、Django与Ajax技术)
    [C++] RBTree红黑树的模拟实现
    特约|数码转型思考:Web3.0与银行
    如何使用C#中的Lambda表达式操作Redis Hash结构,简化缓存中对象属性的读写操作
    自定义jenkins镜像提示FontConfiguration.head错误
    设计链表-LeetCode707 基础题
  • 原文地址:https://blog.csdn.net/jianxia801/article/details/127138016
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号