问题标签 [rpm-spec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3137 浏览

rpm - rpm -e 没有删除安装目录

全部,

我使用 rpm.spec 文件创建了一个 RPM 包。包安装成功。当我使用 rpm -e 删除软件包时,它从 RPM 数据库中删除

但是 pkg 创建的目录结构没有被删除。

请帮我解决这个问题。

0 投票
1 回答
2177 浏览

java - 安装 RPM -%post 指定失败的依赖项 /bin/sh 脚本时出错

我正在尝试为我的 java 代码构建 RPM。RPM 构建和安装部分工作正常。但是,后来我在 %post 部分添加了一个 shell 脚本来运行创建一些文件并启动 java 应用程序的 shell 脚本文件。文件获取复制得很好。但是,在 %post 部分中,我得到了失败的依赖项 bin/sh 错误。我正在 linux 机器上构建 rpm,目标机器是 centOS。我也尝试过AutoReqProv: no in spec file。我没有运行安装作为 root 用户。另外,目标机器上不应该有 ANT(iam 使用它来构建 java 代码 - 这可能与问题无关)。我附上下面的代码。默认安装位置在tmp 文件夹。(用于测试)。

我也在谷歌上搜索过,但找不到如何从spec.with oust post部分运行shell脚本,我试图通过命令行运行它执行得很好。如果有人能指出问题所在,我很感激帮助?

0 投票
4 回答
13081 浏览

compression - rpmbuild 更改压缩格式

我尝试在内部 rpm 包中为我们的地理服务器打包一些地图文件。对于构建部分,这只是复制文件。我认为这按预期工作。但是打包这 20GB 的图像需要很长时间。

我读过 rpm 在内部压缩数据,这可以通过几种不同的压缩算法来完成。但是,我不知道我的 rpm 选择哪种压缩方式以及如何影响它。我找不到 rpmbuild 命令的任何选项,也找不到 specfile 或我可以列出的一般 rpm 选项rpmbuild --showrc

我对 rpmbuild 和规范文件不是很有经验,但是在阅读了 rpm.org 上的大量手册页和教程之后,我没有进一步的想法。

我使用的规范文件如下所示:

我这样调用 rpmbuild:

有什么建议么?

0 投票
1 回答
391 浏览

rpm-spec - 重新安装依赖包的 RPM 规范文件 %pre 部分?

我正在修改我们添加到 nagios 包中的内部 RPM 之一。

最初我们的包会改变一些由 nagios 安装的文件。

我的新包取消了这种方法并采用了附加方法。

是否可以在 %pre 部分执行类似的操作?

当我运行它时,它挂在这里:

  • 约翰
0 投票
2 回答
5219 浏览

rpm - 出现错误时如何退出 rpm 安装

如果某些条件为假,我正在寻找一种退出 rpm 安装的方法。我在 %pre 部分添加了一个小脚本,如果我的条件失败,它将退出安装。

我面临的问题是我看到执行了 %pre scriptlet,并且 rpm install 确实失败了。然而,在它的最后,我得到了这两条我不想要的线——Installed ... 其次是 Complete!

0 投票
2 回答
22766 浏览

rpm - 如何在 %files 中设置目录的所有者?

如果我在 %files 中有这一行:

然后 my.jar 将拥有 myuser 作为所有者,但目录 /opt/myapp/lib 将由 root 拥有。我不想写

因为我不希望 /opt/myapp/lib/ 中的所有文件都包含在内。

如何为 /opt/myapp/lib/ 目录设置所有者?

谢谢。

0 投票
1 回答
28822 浏览

rpm - RPM 规范文件 - 是否可以动态填充规范文件变量

我有一个规格文件。我需要定义一个从系统上的单行文件中获取其值的规范变量。

例如

在 path_file 中是一行

这部分有效。我说从 RPM BUILD 输出开始,有时值${path}实际上是我的命令cat /home/user/path_file,有时值是 path_file (/var/www/html/hosts) 中的行,因为它应该是?

0 投票
3 回答
4086 浏览

linux - 重新运行 rpm -e 后保留 RPM 生成的文件

卸载后是否可以将 RPM 内容保留在文件系统中?

基本上,当有人运行 rpm -e 时,我不想删除 RPM 生成的文件,但仍然从已安装的 RPM 列表中删除该软件包。我想从服务器手动卸载我的应用程序,但我找不到这样做的方法。

提前致谢。

0 投票
1 回答
9247 浏览

rpm - 如何在 RPM 规范文件中运行 shell 命令?

如何在规范文件中运行 shell 命令?我想执行类似的东西:

0 投票
2 回答
8657 浏览

fedora - 创建一个还可以操作文件和添加用户的 RPM

我正在尝试在 Fedora 15 中创建一个 RPM 来安装我的软件,但是为了让我的软件在安装后能够正常工作,我还需要编辑系统上的其他(配置)文件、添加用户/组等。只有 root 用户才允许执行其中一些任务。我知道永远不要以 root 用户身份创建 RPM,而且我理解为什么这是个坏主意。但是,如果我将 shell 脚本语句添加到我的规范文件(%post、%prep...任何部分)以编辑必要的文件、添加用户/组等,我的 rpmbuild 命令将失败并显示消息“Permission denied”(不是出奇)。

处理这个问题的最佳方法是什么?我是否必须告诉我的用户先安装我的包,然后以 root 身份运行一个 shell 脚本来配置它?这似乎不是很优雅。我希望允许用户使用一个简单的命令(例如“yum install mysoftware”)来完成所有操作。

我的大部分研究表明,也许这甚至不应该通过 RPM 来完成。我已经阅读了Maximum RPM的许多部分,以及许多其他好的资源,但还没有找到我要找的东西。我是创建 RPM 的新手,但已经能够为我的软件成功创建一个简单的规范文件......在解压缩包并将其安装到正确位置后,我无法正确配置所有内容。非常感谢任何输入!