centos源码编译安装新版本内核
在工作中,很多时候由于需要使用新的技术方案,需要较新版本的内核来支持新的功能,而centos系统自带的内核版本普遍都比较旧,因此我们需要对系统的内核进行升级,安装新版的内核。本文以centos7系统为例,对编译安装最新版内核的过程做如下总结:
Linux 最新版本的内核可以通过 https://www.kernel.org/ 网站获取
1、下载最新稳定版本的内核源码包到 /usr/local/src ,并解压到当前目录
2、解压内核源码包
3、从 /boot 目录将现有版本的内核编译config配置文件拷过来到放到新的内核源码解压目录内并重命名为.config的隐藏文件
[root@localhost src]# cd linux-5.2.11
[root@localhost linux-5.2.11]# cp /boot/config-3.10.0-957.el7.x86_64 ./.config
从boot目录拷贝原内核的config文件过来主要是为了方便,这个文件保存了在安装系统时内核所安装的模块配置信息(否则需要重新手动指定每一个模块的编译配置)。
4、安装依赖包
安装开发工具包组
[root@localhost linux-5.2.11]# yum -y groupinstall "development tools"
安装ncurse-devel包 (make menuconfig 文本界面窗口依赖包)
[root@localhost linux-5.2.11]# yum -y install ncurses-devel
5、运行 make menuconfig,开启文本界面的编译选项菜单窗口,可以对内核加载的模块编译选项进行调整,如修改编译后的内核名称、新添加之前系统缺少的模块等。
修改内核名称:
General setup --->local version -append to kernel release
此处修改内核名称为 5.2.11-001.el7.x86_64
新添加NTFS文件系统支持模块:
File systems --->DOS/FAT/NT Filesystems --->NTFS file system support
建议选择以模块方式(M选项)编译。(*号则是以静态方式编译打包进内核文件中,如果新添加的模块较多,会导致内核文件体积增大)
6、编译内核
[root@localhost linux-5.2.11]# make -j 4 #根据CPU核数开启多线程编译以加快编译速度
开始漫长的编译过程,大概需要1-2小时左右,具体视CPU硬件的性能决定。
如果编译开始提示错误,则可能需要预先安装对应的组件包,例如:
[root@localhost linux-5.2.11]# yum -y install openssh-devel elfutils-libelf-devel bc
根据对应的错误提示,yum 方式安装对应的组件包,部分组件包在epel源,所以需要预先配置好epel源仓库。
7、编译安装模块
编译完成后执行make modules_install 安装内核模块
[root@localhost linux-5.2.11]# make modules_install
8、安装内核核心文件
[root@localhost linux-5.2.11]# make install
reboot重启
如需将新版本内核设置为默认启动内核,可以使用此命令
grub2-set-default 0 #0表示 /boot/grub2/grub.cfg 文件中排在第一位的 menuentry 段
重启进入系统后,查看一下内核版本,已经是最新的5.2.11版本
[root@localhost ~]# uname -r
5.2.11-001.el7.x86_64
至此,整个内核的编译安装过程完成。
centos源码编译安装新版本内核的更多相关文章
- CentOS源码编译安装MySQL 5.5.15
CentOS源码编译安装MySQL 5.5.15 文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...
- CentOS 源码编译安装 Python3
准备 yum -y install wget gcc make libffi-devel zlib-devel readline-devel bzip2-devel ncurses-devel sql ...
- centos源码编译安装nginx过程记录
前言:Centos系统编译安装LNMP环境是每来一台新服务器或换电脑都需要做的事情.这里仅做一个记录.给初学者一个参考! 一.安装前的环境 这里用的是centos 7系统. 我们默认把下载的软件放在 ...
- CentOS源码编译安装Nginx
安装编译用到的软件: yum install glib2-devel openssl-devel pcre-devel bzip2-devel gzip-devel 现在到http://nginx.o ...
- centos7 源码编译安装TensorFlow CPU 版本
一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...
- CentOS 6.6 下源码编译安装MySQL 5.7.5
版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...
- centos 6.5源码编译安装subversion 1.8.10
一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网 ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...
- CentOS 7.4 源码编译安装 Redis
一.CentOS 7.4 源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...
随机推荐
- uiView获取指定子view
判断对象类型 -(BOOL) isKindOfClass: classObj判断是否是这个类或者这个类的子类的实例 -(BOOL) isMemberOfClass: classObj 判断是否是这个类 ...
- 绘制matplotlib 饼状图
参考:https://blog.csdn.net/ScarlettYellow/article/details/80458797 (2)2016年就业人员在三次产业中分布的饼状图. def swap( ...
- js 校验手机号码格式
手机号码格式简单校验 原理:判断手机号是否以已经发行的手机号码段开头,而且判断其余9位是否是数字. 方式一: var phone = $('#phone').val(); var regex = ...
- 深入理解 HTTP/1.x、HTTP/2 和 HTTPS
很多站长可能到现在都没有理解 HTTP/1.x.HTTP/2 和 HTTPS 之间的区别和关系吧?说实话,明月也是“一知半解”的水准而已,今天看到了这篇文章感觉总结还算是比较全面,特此分享出来给大家就 ...
- Django 分析(一)Requst、Middleware 和 Response 数据流
0. 前言 通过 Django 编写 HTTP 接口时,我们需要指定 URL.Model 和 Views 函数(或者指定 RESTBaseView 对象解析参数和编写逻辑) 编写逻辑时的基本思路就是解 ...
- 【Shiro学习之一】Shiro入门
一.Shiro Apache Shiro是一个Java安全框架. 1.官网:http://shiro.apache.org/ 2.三个核心组件 Subject:即“当前操作用户”,可以指人.第三方进程 ...
- spark 资源动态分配
'spark.shuffle.service.enabled': 'true', 'spark.dynamicAllocation.enabled': 'false', , , , 'spark.sq ...
- 【模板】LCT
核心思想: 动态维护一个森林.支持删边,加边,查询链信息等很多操作. 由若干棵$Splay$组成,每棵$Splay$维护一条链,以深度作为关键字. 也就是说$Splay$的中序遍历相当于从上到下遍历这 ...
- golang ---Learn Concurrency
https://github.com/golang/go/wiki/LearnConcurrency 实例1: package main import ( "fmt" " ...
- 菜刀连接一句话木马出现:`Cannot call assert() with string argument dynamically`错误
前言 逆天还是上学那会玩渗透的,后来工作后就再也没碰了,所以用的工具还是以前经典款,这不,发现出问题了 问题 如果是PHP5则没有问题,如果是PHP7,会出现:Cannot call assert() ...