RockyLinux rpmbuild:从零开始构建RPM包(新手也能轻松上手的完整教程)

来源:这里教程网 时间:2026-03-25 17:16:41 作者:

在 RockyLinux 系统中,使用

rpmbuild
工具构建 RPM 包是一项非常实用的技能。无论是为了分发自己的软件,还是为了定制系统组件,掌握 RockyLinux rpmbuild 的基本流程都至关重要。本教程将手把手教你如何在 RockyLinux 中从零开始构建一个 RPM 包,即使你是 Linux 新手,也能轻松理解并操作。

什么是 RPM 包?

RPM(Red Hat Package Manager)是 Red Hat 系及其衍生发行版(如 RockyLinux、CentOS、Fedora)使用的软件包管理格式。RPM 包不仅包含程序文件,还包含安装脚本、依赖信息和元数据,使得软件的安装、升级和卸载变得简单可靠。

准备工作:安装必要工具

首先,确保你的 RockyLinux 系统已更新,并安装

rpm-build
和其他开发工具:

sudo dnf update -ysudo dnf install -y rpm-build rpmdevtools gcc make git

初始化 RPM 构建环境

以普通用户身份(不要用 root)运行以下命令来创建标准的 RPM 目录结构:

rpmdev-setuptree

该命令会在当前用户的家目录下创建

~/rpmbuild
文件夹,其结构如下:

rpmbuild/├── BUILD├── RPMS├── SOURCES├── SPECS└── SRPMS
SOURCES:存放源代码压缩包(如 .tar.gz) SPECS:存放 .spec 文件(RPM 构建的核心配置文件) BUILD:编译过程中解压和构建的临时目录 RPMS:生成的二进制 RPM 包存放位置 SRPMS:生成的源码 RPM 包存放位置

编写 .spec 文件

.spec 文件是 RPM 构建的“蓝图”。我们以一个简单的 Hello World C 程序为例。

1. 创建源代码目录并编写程序:

mkdir -p ~/hello-1.0nano ~/hello-1.0/hello.c

hello.c
中输入以下内容:

#include <stdio.h>int main() {    printf("Hello, RockyLinux!\n");    return 0;}

2. 打包源代码为 tar.gz:

cd ~tar -czvf hello-1.0.tar.gz hello-1.0

3. 将压缩包移动到 SOURCES 目录:

mv hello-1.0.tar.gz ~/rpmbuild/SOURCES/

4. 在 SPECS 目录中创建 spec 文件:

nano ~/rpmbuild/SPECS/hello.spec

写入以下内容(注意替换 Name、Version 等字段):

Name:           helloVersion:        1.0Release:        1%{?dist}Summary:        A simple hello world programLicense:        MITURL:            https://example.comSource0:        %{name}-%{version}.tar.gzBuildRequires:  gcc%descriptionA demo package to show how to build RPMs on RockyLinux.%prep%setup -q%buildgcc -o hello hello.c%installmkdir -p %{buildroot}/usr/bincp hello %{buildroot}/usr/bin/hello%files/usr/bin/hello%changelog* Mon Jan 01 2024 Your Name <your@email.com> - 1.0-1- Initial package

开始构建 RPM 包

一切准备就绪后,运行以下命令构建 RPM 包:

rpmbuild -ba ~/rpmbuild/SPECS/hello.spec

如果一切顺利,你将在

~/rpmbuild/RPMS/x86_64/
(或对应架构目录)下找到生成的
hello-1.0-1.el9.x86_64.rpm
文件。

安装并测试 RPM 包

使用以下命令安装并验证:

sudo dnf install -y ~/rpmbuild/RPMS/x86_64/hello-*.rpmhello

如果终端输出

Hello, RockyLinux!
,恭喜你成功完成了本次 RPM包构建教程

常见问题与技巧

确保所有路径在 .spec 文件中使用宏(如
%{buildroot}
),避免硬编码。 使用
rpmlint
工具检查 spec 文件和生成的 RPM 是否符合规范:
sudo dnf install -y rpmlint

rpmlint ~/rpmbuild/SPECS/hello.spec
若构建失败,查看
~/rpmbuild/BUILD/
中的日志有助于排查问题。

总结

通过本教程,你已经掌握了在 RockyLinux 中使用

rpmbuild
构建 RPM 包的基本流程。这项技能对于系统管理员、开发者以及希望深入理解 Linux 软件分发机制的人来说都非常有价值。无论你是想学习 RockyLinux打包指南,还是探索 如何在RockyLinux中构建RPM,现在你都有了坚实的基础。

提示:实践是最好的老师。尝试为你常用的开源项目制作 RPM 包,你会收获更多经验!

相关推荐

热文推荐