问题标签 [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.
rpm - rpm -e 没有删除安装目录
全部,
我使用 rpm.spec 文件创建了一个 RPM 包。包安装成功。当我使用 rpm -e 删除软件包时,它从 RPM 数据库中删除
但是 pkg 创建的目录结构没有被删除。
请帮我解决这个问题。
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脚本,我试图通过命令行运行它执行得很好。如果有人能指出问题所在,我很感激帮助?
compression - rpmbuild 更改压缩格式
我尝试在内部 rpm 包中为我们的地理服务器打包一些地图文件。对于构建部分,这只是复制文件。我认为这按预期工作。但是打包这 20GB 的图像需要很长时间。
我读过 rpm 在内部压缩数据,这可以通过几种不同的压缩算法来完成。但是,我不知道我的 rpm 选择哪种压缩方式以及如何影响它。我找不到 rpmbuild 命令的任何选项,也找不到 specfile 或我可以列出的一般 rpm 选项rpmbuild --showrc
我对 rpmbuild 和规范文件不是很有经验,但是在阅读了 rpm.org 上的大量手册页和教程之后,我没有进一步的想法。
我使用的规范文件如下所示:
我这样调用 rpmbuild:
有什么建议么?
rpm-spec - 重新安装依赖包的 RPM 规范文件 %pre 部分?
我正在修改我们添加到 nagios 包中的内部 RPM 之一。
最初我们的包会改变一些由 nagios 安装的文件。
我的新包取消了这种方法并采用了附加方法。
是否可以在 %pre 部分执行类似的操作?
当我运行它时,它挂在这里:
- 约翰
rpm - 出现错误时如何退出 rpm 安装
如果某些条件为假,我正在寻找一种退出 rpm 安装的方法。我在 %pre 部分添加了一个小脚本,如果我的条件失败,它将退出安装。
我面临的问题是我看到执行了 %pre scriptlet,并且 rpm install 确实失败了。然而,在它的最后,我得到了这两条我不想要的线——Installed ... 其次是 Complete!
rpm - 如何在 %files 中设置目录的所有者?
如果我在 %files 中有这一行:
然后 my.jar 将拥有 myuser 作为所有者,但目录 /opt/myapp/lib 将由 root 拥有。我不想写
因为我不希望 /opt/myapp/lib/ 中的所有文件都包含在内。
如何为 /opt/myapp/lib/ 目录设置所有者?
谢谢。
rpm - RPM 规范文件 - 是否可以动态填充规范文件变量
我有一个规格文件。我需要定义一个从系统上的单行文件中获取其值的规范变量。
例如
在 path_file 中是一行
这部分有效。我说从 RPM BUILD 输出开始,有时值${path}
实际上是我的命令cat /home/user/path_file
,有时值是 path_file (/var/www/html/hosts) 中的行,因为它应该是?
linux - 重新运行 rpm -e 后保留 RPM 生成的文件
卸载后是否可以将 RPM 内容保留在文件系统中?
基本上,当有人运行 rpm -e 时,我不想删除 RPM 生成的文件,但仍然从已安装的 RPM 列表中删除该软件包。我想从服务器手动卸载我的应用程序,但我找不到这样做的方法。
提前致谢。
rpm - 如何在 RPM 规范文件中运行 shell 命令?
如何在规范文件中运行 shell 命令?我想执行类似的东西:
fedora - 创建一个还可以操作文件和添加用户的 RPM
我正在尝试在 Fedora 15 中创建一个 RPM 来安装我的软件,但是为了让我的软件在安装后能够正常工作,我还需要编辑系统上的其他(配置)文件、添加用户/组等。只有 root 用户才允许执行其中一些任务。我知道永远不要以 root 用户身份创建 RPM,而且我理解为什么这是个坏主意。但是,如果我将 shell 脚本语句添加到我的规范文件(%post、%prep...任何部分)以编辑必要的文件、添加用户/组等,我的 rpmbuild 命令将失败并显示消息“Permission denied”(不是出奇)。
处理这个问题的最佳方法是什么?我是否必须告诉我的用户先安装我的包,然后以 root 身份运行一个 shell 脚本来配置它?这似乎不是很优雅。我希望允许用户使用一个简单的命令(例如“yum install mysoftware”)来完成所有操作。
我的大部分研究表明,也许这甚至不应该通过 RPM 来完成。我已经阅读了Maximum RPM的许多部分,以及许多其他好的资源,但还没有找到我要找的东西。我是创建 RPM 的新手,但已经能够为我的软件成功创建一个简单的规范文件......在解压缩包并将其安装到正确位置后,我无法正确配置所有内容。非常感谢任何输入!