- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Centos和Ubutun系统内核升级操作由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
在日常运维中有时候会出现内核版本过低,导致一系列的问题,比如k8s使用3.10会出现cgroup内存泄漏,或者有的软件依赖内核版本,最近我在安装Pixie就需要内核版本大于4.14+,因此就专门总结了centos和ubutun操作系统的内核升级操作步骤 。
。
1.1 检查已安装的内核版本 。
让我们安装了一个发行版,它包含了一个特定版本的内核。为了展示当前系统中已安装的版本,我们可以:
如果我们现在进入https://www.kernel.org/,在撰写本文时,我们看到最新的内核版本是5.12(其他版本可以从同一网站获得)。还要考虑的一个重要的事情是内核版本的生命周期 - 如果你当前使用的版本接近它的生命周期结束,那么在该日期后将不会提供更多的 bug 修复。关于更多信息,请参阅内核发布页.
1.2 升级内核 。
大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。但是,这只会升级内核到仓库中可用的最新版本 - 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允许使用前者升级内核。与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行版(CentOS、Scientific、Fedora 等)的支持。ELRepo 聚焦于和硬件相关的软件包,包括文件系统驱动、显卡驱动、网络驱动、声卡驱动和摄像头驱动等。要在 CentOS 7 上启用 ELRepo 仓库,请运行:
。
1.3 查看可用的系统内核包 。
仓库启用后,你可以使用下面的命令列出可用的内核相关包:可以看到5.4和5.12两个版本 。
。
1.4 安装最新版本内核 。
对于centos操作系统,直接使用yum进行rpm包安装,可以避免一些依赖的问题,但是默认会安装最新版本内核,如果不需要的话,可以自己到网站下载对应版本,然后指定版本安装,https://buildlogs.centos.org/c7-kernels.x86_64/kernel/ 。
。
1.5 设置 GRUB 默认的内核版本 。
内核安装好后,需要设置为默认启动选项并重启后才会生效 。
查看系统上的所有可用内核:
设置新的内核为grub2的默认版本 。
服务器上存在4 个内核,我们要使用 5.12 这个版本,为了让新安装的内核成为默认启动选项,可以通过 grub2-set-default 0 命令或编辑 /etc/default/grub 文件来设置 。
生成 grub 配置文件并重启 。
验证 。
已升级成功 。
题外话 。
没有外网,制作离线内核升级包 。
删除旧内核 。
查看系统中全部的内核:
方法1、yum remove 删除旧内核的 RPM 包 。
方法2、yum-utils 工具 。
如果安装的内核不多于 3 个,yum-utils 工具不会删除任何一个。只有在安装的内核大于 3 个时,才会自动删除旧内核.
package-cleanup --oldkernels 。
。
2.1 环境 。
在虚拟机上运行的ubuntu16.04 , 使用命令uname -r查看当前系统内核版本 当前版本为4.15.0-45-generic 要升级的内核为4.20.2 。
2.2 准备需要的材料 。
到网址[https://kernel.ubuntu.com/~kernel-ppa/mainline/]下载要升级的内核版本 。
选择对应的文件,我的是amd64 。
使用命令下载(也可以网页下载) 。
2.3 安装 。
直接使用dpkg命令安装下载好的deb包 。
安装完成后,重启ubuntu系统 使用命令uname -r查看当前版本号 。
内核升级成功.
2.4 遇到问题及解决方案 。
* 遇到问题 。
升级ubuntu 16.04的新内核时出现依赖libssl1.1.0问题 。
解决方案 。
需要安装包 libssl1.1, 直接使用命令会安装失败,需要更添加源,这个包的更新数据ubuntu官方认可的源才能更新。到该网址去查看[https://packages.ubuntu.com/bionic/libssl1.1]或者单独下载安装一个libssl1.1_1.1.0g-2ubuntu4.1_amd64.deb文件然后再dpkg -i *.deb升级就可以了 。
。
原文链接:https://mp.weixin.qq.com/s/1xRc4DzyG4c8e2XYGk28Vg 。
最后此篇关于Centos和Ubutun系统内核升级操作的文章就讲到这里了,如果你想了解更多关于Centos和Ubutun系统内核升级操作的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
总的来说,我对 Linux 内核和操作系统非常感兴趣。我想知道的是,内核的文件类型或扩展名是什么?它显然没有 .exe 或 .out 扩展名,因为它们用于安装在操作系统上的应用程序。 内核只是一个二进
我需要为 Raspbian Linux 内核添加一个自己的系统调用。现在我在搜索了大约 2 天以找到解决方案后陷入困境。 要加一个系统调用,我基本上是按照大纲来的( http://elinux.org
对于一个学术项目,我希望将源文件 (myfile.c) 添加到 kernel/目录,与exit.c相同的目录和 fork.c .构建系统似乎不会自动获取新文件,因为我在 myfile.c 中定义的函数
浏览器排行榜 浏览器市占率排行榜全球榜 。 浏览器市占率排行榜中国榜 -快科技 。 如果按照浏览器内核来看, Chromium 内核的市场占有率无疑是最大的,一家独大
给定一个进程或线程的任务结构,迭代属于同一进程的所有其他线程的习惯用法是什么? 最佳答案 Linux 不区分进程(任务)和线程。库调用 fork() 和 pthread_create() 使用相同的系
我正在用c(不是linux。完全从头开始)从头开始制作一个内核,但我遇到了一些问题。我有这个代码: #include "timer.h" int ms = 0; void timer_handler(
我正在从头开始制作一个 C 内核,我实际上只是从网站上复制了这段代码,因为我的代码无法工作,所以我很困惑。 void kmain(void) { const char *str = "my f
我不确定,如果我完全理解上述差异,所以我想自己解释一下,你可以打断我,只要我有错:“内核是创建内核线程的初始代码段。内核线程是由内核管理的进程。用户线程是进程的一部分。如果你有一个单线程进程,那么整个
看一下struct file 定义from this code Linux 内核版本 2.6.18。 我正在尝试比较代码中的两个 struct file 变量,并确定它们是否指的是同一个文件。该结构中
我试图在 Linux 启动时使嵌入式设备中的 LED 闪烁。基本上,LED 闪烁表明 Linux 正在启动。为了使 LED 闪烁,我正在做以下事情 在 init/main.c 中创建了一个全局定时器(
我有一些在 FreeBSD 和 Linux 上运行的特定硬件。 我必须做一个用户空间应用程序,它将使用内核/用户空间应用程序之间的共享内存与驱动程序一起工作。我的应用程序对来自用户空间的共享内存进行忙
我在哪里可以找到 linux 内核中相应函数的解释,特别是对于 ICMPv4? 例如:icmp_reply、icmp_send等 感谢您的帮助。 最好的,阿里木 最佳答案 探索 Linux 内核中的
我在 Linux Kernel 3.4 上工作,我有以下代码: /* Proximity sensor calibration values */ unsigned int als_kadc;
我正在阅读“罗伯特·洛夫 (Robert Love) 撰写的 Linux 内核开发第 3 版”,以大致了解 Linux 内核的工作原理..(2.6.2.3) 我对等待队列的工作方式感到困惑,例如这段代
我之前也问过同样的问题,但是我的帖子不知为何被删除了。 无论如何,我正在尝试使用 C++ 并编写一个允许我直接访问内存并向其中写入内容的程序。我听说我需要对内核做一些事情,因为它是连接操作系统和应用程
在尝试了解 Ruby 执行方法时,我找到了这篇关于在 Ruby 中运行命令的五种方法的博文 http://mentalized.net/journal/2010/03/08/5_ways_to_run
是否有 Linux 发行版(Minix 除外)包含良好的源代码文档?或者,是否有一些好的文档来描述一般的 Linux 源代码? 我已经下载了内核源代码,但是(不出所料)我有点不知所措,我想知道是否有一
有谁知道 linux 中的哪个函数或文件包含查找用于 bind() 系统调用的随机端口的算法?我到处寻找,在 Linux 源代码中找不到包含此算法的方法。 谢谢! 最佳答案 这是一段又长又复杂的代码,
前言 首先,对于有科班背景的读者,可以跳过本系列文章。这些文章的主要目的是通过简单易懂的汇总,帮助非科班出身的读者理解底层知识,进一步了解为什么在面试中会涉及这些底层问题。否则,某些概念将始终
CentOS7.2与CentOS6区别及特点 Linux 操作系统的启动首先从 BIOS 开始,接下来进入 boot loader,由 bootloader 载入内核,进行内核初始化。内核初始化的
我是一名优秀的程序员,十分优秀!