Centos中怎样快速定制二进制的内核RPM包
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Centos中怎样快速定制二进制的内核RPM包,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。随着Linux服务器越来越多了,底层系统内核
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
不能将网页上传到服务器的软件是
派出所如何实现下数据库
服务器的网络动态平衡
末日生存手机游戏无法连接服务器
软件开发项目经理 工资结构
绿色全光网络技术联盟成功了吗
跨网段数据库访问
公司网络安全有哪些条件
软件开发中心工作规划
第一代计算机网络技术
青浦区网络营销软件开发价格表格
剑灵龙女捏脸数据库
企业网络安全建设情况文档
数据库结果集
厦门十七互联网科技有限公司
网络安全四个清单
查找linux服务器文件
方舟生存进化服务器代表什么
网络安全管控与运维期末题
网络安全的段落有哪些
wed服务器运维管理系统
河南服务器负载均衡虚拟主机
imx6q软件开发指南
asp写入sql数据库
不是数据库的基本安全机制
万得上怎么搜数据库
abaqus软件开发实验室
企业智能中枢打印服务器
socket连接服务器端
惠普软件开发是什么意思