zoukankan      html  css  js  c++  java
  • Centos内核版本升级

    关于内核

    内核进行的是应用软件和计算机硬件的交互工作

    内核进行的是应用软件和计算机硬件的交互工作在计算机科学中,内核(英语:kernel)又称核心,是一个计算机程序,用来管理软件发出的数据I/O(输入与输出)要求,将这些要求转译为数据处理的指令,交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系统中最基本的部分。
    它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的。所以内核通常提供一种硬件抽象的方法,来完成这些操作。通过进程间通信机制及系统调用,应用进程可间接控制所需的硬件资源(特别是处理器及IO设备)。

    1、Centos 6.x系统

    1.1 安装elrepo

    yum update -y
    # 导入公钥
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 
    # 安装6版本的ELRepo
    rpm -Uvh elrepo-release-6-8.el6.elrepo.noarch.rpm 	
    # 安装新版本内核
    yum --enablerepo=elrepo-kernel install kernel-lt -y

    目前centos6版本中仅提供有kernel-lt 版本内核,最新内核为 4.4.17(截至20190121)
    https://elrepo.org/linux/kernel/el6/x86_64/RPMS/
    image.png

    1.2 启用新版本内核

    cp /etc/grub.conf{,.bak}
    vim /etc/grub.conf
    将其中的default修改为0

    image.png

    1.3 修改完成后重启服务器

    reboot

    2、Centos 7.x系统

    2.1 安装elrepo

    yum update -y
    # 导入公钥
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 
    # 安装7.x版本的ELRepo
    rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    # 安装新版本内核
    yum --enablerepo=elrepo-kernel install kernel-lt -y

    目前为cetnos 7.x提供了ml和lt两个版本的内核,可以根据需求进行选择:
    https://elrepo.org/linux/kernel/el7/x86_64/RPMS/
    image.png

    2.2 修改grub文件

    Centos7.x 内核升级完毕后,需要修改内核的启动顺序:

    vim /etc/default/grub
    
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved		#把这里的saved改成0
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0"
    GRUB_DISABLE_RECOVERY="true"

    接下来还需要运行grub2-mkconfig命令来重新创建内核配置,命令是grub2-mkconfig -o /boot/grub2/grub.cfg,如下:

    grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-4.17.171-1.el7.elrepo.x86_64
    Found initrd image: /boot/initramfs-4.17.171-1.el7.elrepo.x86_64.img
    Found linux image: /boot/vmlinuz-3.10.0-693.2.2.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-693.2.2.el7.x86_64.img
    Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
    Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-f0f31005fb5a436d88e3c6cbf54e25aa
    Found initrd image: /boot/initramfs-0-rescue-f0f31005fb5a436d88e3c6cbf54e25aa.img
    done

    2.3 修改完成后重启服务器

    reboot

    2.4 关于两个内核版本的说明

    ELRepo有两种类型的Linux内核包,kernel-lt和kernel-ml。 他们之间有什么区别?
    kernel-ml软件包是根据Linux Kernel Archives的主线稳定分支提供的源构建的。 内核配置基于默认的RHEL-7配置,并根据需要启用了添加的功能。 这些软件包有意命名为kernel-ml,以免与RHEL-7内核发生冲突,因此,它们可以与常规内核一起安装和更新。
    kernel-lt包是从Linux Kernel Archives提供的源代码构建的,就像kernel-ml软件包一样。 不同之处在于kernel-lt基于长期支持分支,而kernel-ml基于主线稳定分支。

    安装过程中遇到问题可以参考 https://dwz.cn/vZotLbZD

    3、参考文献

    http://elrepo.org
    https://rorschachchan.github.io/2018/08/25/centos6-5升级最新内核4-18的坑/
    https://rorschachchan.github.io/2018/06/11/阿里云centos7升级内核过程/
    https://www.admon.org/faqs/kernel-lt-and-kernel-ml/

  • 相关阅读:
    DNS
    报文组成
    简单的转义字符
    普通字符
    正则表达式介绍
    Mybatis_HelloWorld
    Mybatis介绍
    基本概念
    EGit应用
    EGit
  • 原文地址:https://www.cnblogs.com/tu240302975/p/13339502.html
Copyright © 2011-2022 走看看