Centos中怎样快速定制二进制的内核RPM包
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Centos中怎样快速定制二进制的内核RPM包,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。随着Linux服务器越来越多了,底层系统内核
千家信息网最后更新 2026年11月03日Centos中怎样快速定制二进制的内核RPM包
Centos中怎样快速定制二进制的内核RPM包,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
随着Linux服务器越来越多了,底层系统内核想要保持版本统一就需要定制专门的二进制安装包来便捷的升级和管理。RedHat系那当然就是使用rpmbuild来做定制化管理了。
今天我们分两个部分(root和普通用户)来讲解如何制作内核的二进制rpm包。
Building主机系统环境约定:
OS : CentOS release 6.6
Arch : i686
一、rpm包简单定制
注意: 这里我们首先要预留至少20GB的临时文件空间。
1.rpm 制作前的环境准备
yum -y groupinstall "Development Tools"yum -y install ncurses-devel qt-develyum -y install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmltoyum -y install audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-develyum -y install newt-devel python-devel zlib-devel bc
2.准备内核的源代码组件
cd /usr/srcwget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.19.1.tar.xztar -Jxvf linux-3.19.1.tar.xzln -s linux-3.19.1 linuxcd linuxmake oldconfig # 验证和更新配置.config配置文件(如果只想在原来内核配置的基础上修改一些小地方)make menuconfig # 简单图形化的内核配置管理
3.此时,我们就可以开始编译新内核rpm包了
make rpm # 自动生成rpmtree,kernel.spec文件,自动编译, 会生成debug包在内的所有rpm包组件。
这个时候我们就等着吧,或者喝杯下午茶什么的。
好了,我们找一下已经编译好的内核 rpm 包。
cd /root/rpmbuild/RPMS/`uname -m`/ tree RPMS/RPMS/└── i386 ├── kernel-3.19.1-2.i386.rpm ├── kernel-devel-3.19.1-2.i386.rpm └── kernel-headers-3.19.1-2.i386.rpm 1 directory, 3 files
4.安装新内核
rpm -Uvh kernel-*-.rpm
5.重启,验证内核版本
uname -a
二、rpm包深度定制化
1.我们先创建好rpm的"制作车间"(我觉得这样说可能更形象一些)。
yum install rpmdevtools # rpm 制作车间快速创建工具useradd -m builder # 新建一个临时用户以便创建 RPM 包,如果有错误发生,构建程序不会破坏现有的系统环境。su - builderrpmdev-setuptree # 创建"制作车间"
将会在builder用户的家目录下生成如下目录结构:
tree -L 1 ~/rpmbuild/rpmbuild/├── BUILD├── RPMS├── SOURCES├── SPECS└── SRPMS
2.编译前准备
此时我们需要包收集来的新版内核源码包放到 /home/builder/rpmbuild/SOURCES 目录下。
su - buildercd ~/rpmbuild/SOURCES wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.19.1.tar.xz # 注意: rpmbuild 是通过gzip来做building前源码包解压工作的,所以需要把这个压缩包转换成.tar.gz格式。# 这里就不做记录了cp /boot/config-`uname -r` . # 将现有的内核配置文件 config-`uname -r` 拷贝到 SOURCES 目录下
切换到SPECS目录下, 生成 kernel.spec:
tar Jxvf ../SOURCES/linux-3.19.1.tar.xz -C .bash ../linux-3.19.1/scripts/package/mkspec >./kernel.specrm -rf linux-3.19.1 # 这里需要我们手动利用源码包中提供的脚本生成 kernel.spec 文件# 记得生成kernel.spec完之后,清理掉 linux-3.19.1 文件夹vim kernel.spec # 可以根据个人情况做深度定制化
到此,我们的准备工作基本完成,目录结构及内容如下:
tree rpmbuild/ -arpmbuild/├── BUILD├── RPMS├── SOURCES│ ├── config-`uname -r`│ └── linux-3.19.1.tar.gz├── SPECS│ └── kernel.spec└── SRPMS 5 directories, 3 files
3.好了,现在我们正式开始编译内核的二进制rpm包
rpmbuild -bb --with baseonly --without debug --without debuginfo --target=`uname -m` kernel.spec
rpmbuild 参数说明:
(1) --with
(2) --without
完成以后,请到 ~/rpmbuild/RPMS/`uname -m`/ 目录中获取 rpm 安装包。
看完上述内容,你们掌握Centos中怎样快速定制二进制的内核RPM包的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
内核
目录
文件
生成
编译
二进制
制作
配置
准备
内容
源码
环境
用户
系统
车间
管理
方法
更多
深度
版本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司
互联网科技海报
云之行互联网科技
深圳科技互联网
有马互联网科技
奇酷互联网科技
中国互联网科技发展
贷财互联网科技
广州紫鲸互联网科技
科技大学互联网专业好不好
江苏南京365互联网科技
以后互联网后是啥科技
赶超互联网科技 微信多开
互联网科技和信息
天津腾达互联网科技有限公司
科技赋能视角下互联网保险发展
美国互联网科技实力
山东星卡互联网科技有限公司官网
雨阳互联网卡科技有限公司
重庆科技产业互联网有哪些
美国互联网科技
深圳天众互联网科技公司
互联网科技logo
互联网科技有限公司 翻译
顺网科技2021年互联网排名
互联网公司科技股
互联网金融科技展
深圳市罗太互联网科技有限公司
互联网数据科技专业
山东大美朱楼互联网科技有限公司