共计 1503 个字符,预计需要花费 4 分钟才能阅读完成。
在 CentOS 7.6 上编译 rpm 包的实践
在 CentOS 7.6 上编译 rpm 包是一个常见的任务,尤其是对于需要定制化安装或者系统级别的扩展的需求。本文将介绍如何从源码编译成 rpm 包以及如何将生成的 rpm 包打包到 ISO 镜像中。
1. 从源码编译成 rpm 包
1.1. 普通用户 rpmbuild 环境配置
首先,假设登录用户名为 user,则用户目录为 /home/user。在用户目录下创建一个文件夹,以版本号为名称,用来存放源码和后续编译过程中的文件。
mkdir ~/igc-0.1
将源码文件复制到该文件夹中:
cp -a ~/igc/* ~/igc-0.1
对源码进行修改(如果需要),然后将其打包:
tar -jcf igc-0.1.tar.bz2 igc-0.1/
将打包好的源码文件复制到 rpmbuild 目录下的 SOURCES 文件夹中:
cp igc-0.1.tar.bz2 ~/rpmbuild/SOURCES
1.2. 配置文件
下载所需的配置文件,包括 kmodtool 模板和.spec 文件。在 SPECS 目录下修改.spec 文件,指定相关参数,如模块名称等。
cd ~/rpmbuild/SPECS/
mv template-kmod.spec igc-kmod.spec
vi igc-kmod.spec
在.spec 文件中修改以下行:
%define kmod_name igc
1.3. 编译
进入 rpmbuild 目录并执行编译命令:
cd ~/rpmbuild
rpmbuild -bb --target='uname -m' SPECS/igc-kmod.spec
编译成功后,生成的 rpm 包位于 RPMS/x86_64/ 目录下,例如:igc-kmod-0.1-1.el7.x86_64.rpm。
2. repodata 的生成与替换
参考链接: 内核替换与 ISO 制作详细指南
参考链接中提供了生成和替换 repodata 的具体操作。在 ISO 解压后,将生成的 rpm 放入 packages 目录中,并执行以下步骤:
createrepo -g comp.xml .
3. 打包到 ISO 里面
3.1. 修改 ISO 镜像文件
使用 UltraISO 等工具打开原始 ISO 镜像文件(比如 ori.ISO),并按照以下步骤进行修改:
-
在 packages 目录下增加生成的 rpm 包(igc-kmod-0.1-1.el7.x86_64.rpm)。
-
替换 repodata 目录。
-
在用户的 ks.cfg 文件中添加插入模块的语句:
@development
igc-kmod
%end
3.2. 保存并制作新的 ISO 镜像文件
保存修改后的镜像文件为 new.ISO,并使用制作 U 盘启动盘的工具(如 UltraISO)将其制作成启动盘。然后在系统中按照相应的步骤修改 BIOS 的启动项,使其能够从 U 盘启动,最后保存设置并安装系统即可。 文章来源:https://www.toymoban.com/diary/apps/749.html
通过以上步骤,你可以在 CentOS 7.6 上成功编译 rpm 包并将其打包到 ISO 镜像中,以实现定制化安装和系统扩展的需求。 文章来源地址 https://www.toymoban.com/diary/apps/749.html
到此这篇关于 CentOS 7.6 源码编译 rpm 包及打包到 ISO 镜像的实践教程的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!
原文地址:https://www.toymoban.com/diary/apps/749.html
如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!