6.5.2. 从源 RPM 重新构建一个二进制 RPM
使用 rpmbuild 实用程序从其源 RPM (SRPM)软件包重建示例 bello、pello 和 cello 程序的二进制 RPM 软件包。然后您可以在多个系统中安装并运行二进制软件包。
创建二进制 RPM 时产生的输出非常详细,这对调试非常有用。输出因不同的示例而异,并对应于其 spec 文件。
生成的二进制 RPM 位于以下目录中之一:
-
~/rpmbuild/RPMS/YOURARCH,其中YOURARCH是您的构架 -
如果软件包没有特定于架构,则
~/rpmbuild/RPMS/noarch/
先决条件
您在您的系统上安装了
rpmbuild工具:# dnf install rpm-build
流程
导航到
~/rpmbuild/SRPMS/目录,其包含 SRPM:$ cd ~/rpmbuild/SRPMS/从 SRPM 重建二进制 RPM:
$ rpmbuild --rebuild <srpm>例如,要从 SRPMs 中重建
bello、pello和cello,请完成以下步骤:重建
bello程序:$ rpmbuild --rebuild bello-0.1-1.el8.src.rpm重建
pello程序:$ rpmbuild --rebuild pello-0.1.2-1.el8.src.rpm重建
cello程序:$ rpmbuild --rebuild cello-1.0-1.el8.src.rpm
注意调用
rpmbuild --rebuild涉及以下过程:-
将 SRPM 的内容(
spec文件和源代码)安装到~/rpmbuild/目录中。 - 使用安装的内容构建一个 RPM。
-
删除
spec文件和源代码。
在使用以下任一方法构建后,您可以保留
spec文件和源代码:-
在构建 RPM 时,请使用
rpmbuild命令和--recompile选项,而不是--rebuild选项。 为
bello、pello和cello程序安装 SRPMs:安装 SRPM for
bello:$ rpm -Uvh ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpmUpdating / installing... 1:bello-0.1-1.el8 [100%]为
pello安装 SRPM:$ rpm -Uvh ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpmUpdating / installing... ...1:pello-0.1.2-1.el8 [100%]安装 SRPM for
cello:$ rpm -Uvh ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpmUpdating / installing... ...1:cello-1.0-1.el8 [100%]