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安全错误
数据库的锁怎样保障安全
互联网科技的发展
易互联网科技有限公司
互联网科技视频
丰台科技园 互联网
广西互联网科技公司
互联网科技小额贷款
互联网科技论坛
互联网高科技股票
互联网科技股午盘股票涨跌
苏州五指互联网络科技有限
东莞新华互联网科技学校
工业互联网等科技实现智能化赋能
互联网数据科技专业
徐州市互联网科技有限公司
无锡工业互联网科技有限公司
科技互联网的核心竞争力
互联网科技实习生岗位
互联网安防科技感
普陀区互联网教育科技管理办法
北京军民互联网科技公司
互联网科技社
互联网金融 科技
嘟嘟瓜互联网科技
互联网科技排名
明优互联网科技有限公司
长沙互联网科技
山东有哪些互联网科技公司
互联网科技年终奖
互联网科技大佬云集
互联网 科技节活动 微视频大赛