RHEL 5.7 和 RHEL 6.1 中的 rpmbuild 差异

发布于 2025-01-08 01:13:54 字数 627 浏览 1 评论 0原文

我正在尝试使用 rpmbuild 构建 RPM,它适用于 RHEL 5.7 计算机和 RHEL 6.1 计算机,但我在理解如何构建 rpmbuild/SOURCE 目录时遇到了一些困难。

根据我的理解,如果我的包名称是XXX,那么我需要准备rpmbuild/SOURCE/XXX.tar.gz,一个tarball,其中包含: 1、名为XXX的目录; 2. 在其中,我要安装的所有目录和文件都应该按照它们的路径相对于根目录(即 /)进行排序。

例如,如果我想将一个名为 foo.sh 的文件安装到 /tmp/XXXdir /,我需要让 rpmbuild/SOURCE/XXX.tar.gz 包含 XXX/tpm/xxxdir/foo.sh

这是我的理解,这就是当我在 RHEL 5.7 机器上安装 RPM 时有效的方法(即在上面的示例文件安装到 /tmp/XXXdir/foo.sh)。 但是,在 RHEL 6.1 计算机上,我遇到了将文件安装到新创建的 /XXX 目录的不良行为,并且从那里我得到了 / 所需的相同树结构(即在上面的示例中,我在 / 处获取了文件) XXX/tmp/XXXdir/foo.sh)。

知道为什么会发生这种情况吗?也许我弄错了,我的 rpmbuild/SOURCE 结构不应该是这样?任何见解都会非常有帮助。

预先非常感谢, 利奥尔

I'm trying to build an RPM using rpmbuild, which would work for both RHEL 5.7 machines and RHEL 6.1 machines, and I'm having some trouble understanding how to structure my rpmbuild/SOURCE directory.

According to what I understood, if my package name is XXX, than I need to prepare rpmbuild/SOURCE/XXX.tar.gz, a tarball which contains:
1. A directory named XXX;
2. In it, all the directories and files I'm installing should be ordered as if their paths are relative to the root directory (i.e. /)

For instance, if I want to install a file called foo.sh to /tmp/XXXdir/, I need to have rpmbuild/SOURCE/XXX.tar.gz contain XXX/tpm/xxxdir/foo.sh

This is what I understood and this is what works when I install my RPM on my RHEL 5.7 machine (i.e. in the example above the file is installaed to /tmp/XXXdir/foo.sh).
However, on an RHEL 6.1 machine I get the undesired behaviour of having my files installed to a newly created /XXX directory, and from there I get the same tree structure I wanted for / (i.e. in the example above I get the file at /XXX/tmp/XXXdir/foo.sh).

Any idea why this happenes? Perhaps I've got it wrong and my rpmbuild/SOURCE structure is not as it should be? Any insights would be very helpful.

Thanks a lot in advance,
Lior

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文