4.6.2. 从源 RPM 重新构建一个二进制 RPM复制链接链接已复制到粘贴板!
要从源 RPM (SRPM)重建二进制 RPM,请使用 rpmbuild 命令和 --rebuild 选项。
创建二进制 RPM 时产生的输出非常详细,这对调试非常有用。输出因不同的示例而异,并对应于其 spec 文件。
生成的二进制 RPM 位于以下目录中之一:
~/rpmbuild/RPMS/YOURARCH,其中 YOURARCH 是您的架构。
如果软件包不是特定于架构,则 ~/rpmbuild/RPMS/noarch/。
先决条件
您已在系统上安装了 rpmbuild 工具:
dnf install rpm-build
# dnf install rpm-build
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
流程
导航到 ~/rpmbuild/SRPMS/ 指令,其中包含 SRPM:
cd ~/rpmbuild/SRPMS/
$ cd ~/rpmbuild/SRPMS/
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
从 SRPM 重建二进制 RPM:
rpmbuild --rebuild
$ rpmbuild --rebuild
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
例如,要从其 SRPM 中重新构建 bello、pello 和 cello,请输入:
rpmbuild --rebuild bello-0.1-1.el8.src.rpm
rpmbuild --rebuild pello-0.1.2-1.el8.src.rpm
rpmbuild --rebuild cello-1.0-1.el8.src.rpm
$ rpmbuild --rebuild bello-0.1-1.el8.src.rpm
[output truncated]
$ rpmbuild --rebuild pello-0.1.2-1.el8.src.rpm
[output truncated]
$ rpmbuild --rebuild cello-1.0-1.el8.src.rpm
[output truncated]
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
注意
调用 rpmbuild --rebuild 涉及以下过程:
将 SRPM 的内容(spec 文件和源代码)安装到 ~/rpmbuild/ 目录中。
使用安装的内容构建一个 RPM。
删除 spec 文件和源代码。
在使用以下任一方法构建后,您可以保留 spec 文件和源代码:
在构建 RPM 时,请使用 rpmbuild 命令和 --recompile 选项,而不是 --rebuild 选项。
为 bello、pello 和 cello 安装 SRPM:
rpm -Uvh ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
rpm -Uvh ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm
rpm -Uvh ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm
$ rpm -Uvh ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
Updating / installing…
1:bello-0.1-1.el8 [100%]
$ rpm -Uvh ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm
Updating / installing…
…1:pello-0.1.2-1.el8 [100%]
$ rpm -Uvh ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm
Updating / installing…
…1:cello-1.0-1.el8 [100%]
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow