centos7源码编译内核
Ⅰ 如何升级centos7内核并且编译
、使用 elrepo rpm包升级
查看前系统内核版本 uname -r
1. 导入key
rpm --import
2. 安装 elrepo yum源
rpm -Uvh
3. 安装内核
yumelrepo源新版本内核直接yum安装即
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 设置系统启顺序
查看系统启项:
cat /boot/grub2/grub.cfg |grep menuentry
发现新版本内核设置新版本内核默认启:
grub2-set-default 'CentOS linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默认启系统版本grub2-editenv list:
显示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot重启再查看 uname -r
二、使用源码编译安装升级
1 载内核源码
载网址
wget xxx
2 解压并进入源码目录
3 更新系统并安装依赖软件
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 前内核配置文件拷贝前目录
本应该执行make menuconfig自定义内核配置配置文件.config; 直接使用原系统内核配置拷贝/boot目录配置文件前目录
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用前内核配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 编译安装
#make bzImage
#make moles
#make moles_install
#make install
7 设置系统启顺序
查看系统启项:
cat /boot/grub2/grub.cfg |grep menuentry
发现新版本内核设置新版本内核默认启:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默认启系统版本grub2-editenv list:
显示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot重启再查看 uname -r
-
Ⅱ centos 7如何获取完整内核源码
1. 下载内核
内核官网获得了(不让加链接,搜索linux内核官网 )
tar.xz 是完整的内核包
pgp 是.tar.sign后缀的文件,用于校验类似于MD5
patch 是补丁包
2. 解压文件,现在一般采用 .tar.xz 的压缩格式(压缩率最高,但是压缩时间较长)。
/usr/src 一般而言、我们制做linux内核的时候源码一般放在这个路径下,
可以使用 # tar -Jxvf linux-3.13.2.tar.xz -C /usr/src/ 把文件解压到 /usr/src/ 中(在root用户下才有效)
3. 如果是第一次编译内核,并没有上次的残留文件可以可以跳过
# make mrproper
这个步骤
注意:make clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块
make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件
make distclean mrproper删除的文件, 加上编辑备份文件和一些补丁文件。
4. 接下来是 make config 。
具体参照 《make config 的几种类型》
一般采用 # make menuconfig 的方式
此处需要两个包,选择最简单的yum安装
# yum -y install gcc 和
# yum install ncurses ncurses-devel。
具体选项的作用参考 《Linux-3.10-x86_64 内核配置选项简介 》
对新的内核功能选择,并生成一个 .config 的文件
5. 编译内核
# make 和 # make moles_install (此处命令必须进入/usr/src/linux-x-x-x/才有效,否则会报错)
注意:2.6内核作了优化,不必显示的执行make dep 和make bzImage,只需要直接执行
make 就行,系统会自动完成make dep 和 make bzImage 所做的工作。
6. 安装内核
# make install
7. 修改默认启动的内核(把光标处的default值改成0,就为默认启动,编译成功后默认为1)
# vim /boot/grub/grub.conf
用 cat /boot/grub/grub.conf 验证并测试
# cat /boot/grub/grub.conf
看是否添加成功
8. 重启机器,查看效果
默认的内核就是刚才编译成功的。。。
Ⅲ 如何在 CentOS 7 中安装或升级最新的内核
步骤 1:检查已安装的内核版本
让我们安装了一个发行版,它包含了一个特定版本的内核。为了展示当前系统中已安装的版本,我们可以:
# uname -sr
在 CentOS 7 上检查内核版本
如果我们现在进入 https://www.kernel.org/,在撰写本文时,我们看到最新的内核版本是 4.10.1(其他版本可以从同一网站获得)。
还要考虑的一个重要的事情是内核版本的生命周期 – 如果你当前使用的版本接近它的生命周期芹首结束,那么在该日期后将不会提供更多的 bug 修复。关于更多信息,请参阅 内核发布 [2] 页。
步骤 2:在 CentOS 7 中升级内核
大多数现代发行版提供了一种使用 yum 等包管理系统 [3] 和官方支持的仓库升级内核的方法。
但是,这只会升级内核到仓库中可用的最新版本 – 而不是在可用的最新版本。不幸的是,Red Hat 只允许使用前者升级内核。
与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。
要在 CentOS 7 上启用 ELRepo 仓库,请运行:
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
在 CentOS 7 启用 ELRepo
仓库启用后,你可以使用下面的命令列出可用的内核相关包:
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
yum – 找出可用的内核版本
接下来,安装最新的主线稳定内核:
# yum --enablerepo=elrepo-kernel install kernel-ml
在 CentOS 7 中安装最新的内核版本
最后,重启机器并应用最新内核,接着运行下面的命令检查最新内核版本:
uname -sr
验证内核版本
步骤 3:设置 GRUB 默认的内核版本
为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置:
打开并编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核。
GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"嫌没数
接下来运行下面的命令来重新创建内核配置。
# grub2-mkconfig -o /boot/grub2/grub.cfg
在 GRUB 中设置内核
重启并验证最新的内核已作为默认内核。
Booting Default Kernel Version in CentOS 7
在 CentOS 7 中启动默认内核版本
恭喜你!你已经在 CentOS 7 中升级内核了!
总结
在本文中,我们解释了如何轻松升级系统上的 Linux 内核。我们还没讲到另外一个方法,因为它涉及从源代码编译内核,这可以写成一本书,并且不推荐在生产系统上这么做。
虽然它是最好的学习体验之一,并且允许细粒度配置内核,但是你察档可能会让你的系统不可用,并且可能必须从头重新安装它。 收起
Ⅳ CentOS 7 怎样安装或升级最新的内核
一、使用 elrepo 的rpm包升级
查看当前系统内核版本 uname -r
1. 导入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2. 安装 elrepo 的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3. 安装内核
在yum的elrepo源中,有最新版本内核。直接yum安装即可。
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 设置系统启动顺序
查看系统启动项:
cat /boot/grub2/grub.cfg |grep menuentry
可以发现有最新版本的内核,此时可以设置最新版本内核为默认启动:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此时,查看默认启动的系统版本grub2-editenv list:
显示为'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot,重启之后再次查看 uname -r
二、使用源码编译安装升级
1 下载内核源码
下载网址为 https://www.kernel.org/
wget xxx
2 解压并进入源码目录
3 更新系统并安装依赖软件
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 将当前内核配置文件拷贝到当前目录
本来是应该执行make menuconfig来自定义内核配置的,生成配置文件.config; 但是可以直接使用原来系统的内核配置,也就是拷贝/boot目录下的配置文件到当前目录。
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用当前内核的配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 编译安装
#make bzImage
#make moles
#make moles_install
#make install
7 设置系统启动顺序
查看系统启动项:
cat /boot/grub2/grub.cfg |grep menuentry
可以发现有最新版本的内核,此时可以设置最新版本内核为默认启动:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
此时,查看默认启动的系统版本grub2-editenv list:
显示为'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot,重启之后再次查看 uname -r
Ⅳ centos 7怎么安装编译安装二进制文件
安装软件包
rpm [option] /path/to/package_file
-i:安装
-v:显示安装详细信息
-h:以#号显示安装进度,每个#号代表2%的安装进度
组合用法:rpm -ivh /path/to/package_file
--nodeps:安装时忽略依赖关系。(此方式安装的软件可能运行不了)
--test:测试安装,不是真正的安装。
--replacepkgs:重新安装(如果原有配置文件作了修改,很有可能不执行替换,而是将应该安装生成的配置文件重命名为 .rpmnew)
卸载软件包
rpm [option] package_name
-e:卸载(如果包的配置文件安装后曾被改动过,卸载时,此文件将不会卸载,而是被重命名并保留,例如warning: /etc/zprofile saved as /etc/zprofile.rpmsave.)
--nodeps:卸载时忽略依赖关系(卸载后,依赖次软件包的程序可能无法正常运行)
升级软件包
rpm [option] /path/to/package_file
-Uvh:升级或安装,如果旧版本的软件包不存在,则安装此软件包;如果旧的软件包存在,则升级旧软件包。
-Fvh:纯升级,如果旧版本的软件包不存在,则不安装此软件包;如果旧的软件包存在,则升级旧软件包。
注意:不应该对内核执行升级操作,而是安装。系统允许多内核并存
Ⅵ centos 7是什么版本的内核
3.10.0内核。
CentOS 7于2014年7月7号正式发布,基于Red Hat红帽免费公开的源代码。
CentOS 7首个正式版的版本号为7.0.1406,主要更新内容如下:
1、内核更新至 3.10.0
2、支持 Linux 容器
3、Open VMware Tools 及 3D 图像能即装即用
4、OpenJDK-7作为缺省 JDK
5、原地升级 6.5 至 7.0
(6)centos7源码编译内核扩展阅读
在一台主机或VPS上安装Centos7后,首要的工作是加强它的安全性,主要有:
1、更改root 密码
若果是自行安装 CentoS7的话,安装丛段程序会自行设定root的密码。不过很多VPS服务商只会提供预先安装好的CentoS7映像档,这种情况下他们会透过主控界面告诉root的密码,这个密码的安全性谁也不知道。
2、新增一个普通帐号
这一步连同下一步,相当于为一个城市筑起两道城墙,既可加强防渗让誉滑链卫,也建立了一道警报机制,当敌人(黑客)卒然来袭,第一道城墙被袭击和破坏,还有第二道城墙阻延一下,有时间部署防卫甚至反击。所以这是一个很多人忽略,但其实非常重要的步骤。
3、禁止root 使用ssh登入
CentOS7默认容许任何帐号透过ssh登入,包括root 和一般帐号,为了不让root帐号被黑客暴力入侵,必须禁止root 帐号的ssh功能,事实上root也没有必要ssh登入服务器,因为只要使用su或sudo当然需要输入root的密码)普通帐号便可以拥有root的权限。
Ⅶ 如何在centos7中编译linux内核
下载linux内核的源代码,然后设置内核参数,然后编译。