问题标签 [rpm]

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 投票
3 回答
2894 浏览

linux - 了解 rpmbuild 的工作原理

似乎 RPM 逻辑与我已经知道的完全不同,我在理解“RPM 逻辑”时遇到了一些问题。对于我的工作,我必须创建一个关于“如何在 Red Hat 5 上创建 RPM 包”的文档。

我习惯了 Debian 及其衍生产品(Ubuntu 等),因此习惯了Debian 软件包(又名.deb文件)。

根据我的阅读,似乎需要root创建一个 RPM 包。虽然我理解为什么root需要安装一个包,但我仍然不明白为什么只需要提升权限来创建一个包。

如果我尝试以用户身份创建 RPM 包,buildroot则在该步骤中更改它会失败,%install因为我无权将文件写入/usr/bin. 很公平但是......为什么要/usr/bin在这一步复制我的文件?!我只想创建包,而不是安装它!

我确定我在这里遗漏了一些东西。有没有人可以让我至少对它的rpmbuild工作原理和原因有一个基本的了解?

0 投票
2 回答
6907 浏览

linux - 将多个 rpm 打包到一个文件中

是否可以将多个 rpm 打包到一个文件中。我有两个捆绑包,其中一个需要安装另一个。我想从它们中创建一个可安装的,这样安装程序将首先调用 pkg 1,然后安装 pkg 2。这可能吗?deb 包呢?对不起,如果这是一个基本问题。我以前没有在 Linux 上使用过安装程序。我已经创建了 Windows 安装程序。在那里您可以创建两个合并模块 (.msm) 并将它们打包成一个独立的安装程序 (.msi) 并指定执行顺序。我正在寻找 Linux 上的类似功能。

编辑:我认为这个问题还不够清楚。让我试着改写一下。我有一堆运行时库,目前作为独立安装程序提供。另一个团队开发了在运行时使用这些库的产品。我现在想以某种形式(子包)向产品团队提供库,他们可以将其包含在他们的安装程序中,并配置他们的安装程序以首先安装我的子包。这两个包都应该在本地可供最终用户使用。它们在任何存储库中都不可用,并且无法在安装时从网上下载。

0 投票
2 回答
8481 浏览

linux - 构建 RPM 包的开发版和普通版

我有一个库,我想从中创建两个 RPM 包。

虽然我找到了几个关于如何创建基本 RPM 包的链接,但我找不到如何创建devel包(如果你想知道包是什么,请参阅这个问题devel)。

我必须做什么来生成我的 RPM 包的版本devel和版本?non-devel

谢谢。

0 投票
2 回答
2067 浏览

svn - rpmbuild 可以忽略 buildroot 中的文件吗?

我有一个签入 svn 的目标目录。我在运行 rpmbuild 时将目标用作 --buildroot。由于每个目录中的 .svn 目录,这会导致 rpmbuild 失去理智。有没有办法告诉 rpmbuild 放松?

我查看了 svn export target target-build,但它只知道 rpm 跟踪的文件。也许不是一个坏方法,但我不太确定这是最好的方法。

0 投票
2 回答
15569 浏览

build-process - 如何为每次调用的 rpmbuild 设置构建区域

我正在修改一个自动构建,并想在调用它时告诉rpmbuild使用特定的构建区域

这类似于现有问题,但更具体。

  • 我不想以 root 用户身份运行任何构建命令;目的只是拥有一个 RPM,而不是在系统中安装任何东西。

  • 我不想要求用户更改他们的点文件(例如$HOME/.rpmrc);构建应该是独立的,并且不会影响用户的现有设置。

  • 我不想将位置硬编码到foo.spec文件中;如果用户想在不同的位置构建,该文件应该可以按原样使用。

  • --buildroot选项不是我需要的;它为构建过程的一部分设置了一个伪根文件系统make,但我需要为整个RPM 构建过程指定“构建区域”。

我正在寻找的是可以赋予​​命令的假设--build-area FOODIR选项rpmbuild,或等效的环境变量。因此,它应该只影响命令的单个调用,并使其使用指定的用户可写位置作为其构建区域。

我已经看到了对_topdir宏的引用,这似乎就是我正在谈论的内容,但它似乎不是每次调用都可以配置的。

如果rpmbuild可以在需要时在该位置设置自己的环境,那将是理想的,但我不介意为每个构建设置目录,因为这可以作为构建的一部分自动化。目标是让该用户可写位置仅在构建运行期间存在,然后在生成 RPM 文件后通过删除该整个位置进行清理。

0 投票
7 回答
90338 浏览

package - 显示有关未安装的 RPM 包的信息?

我对此进行了谷歌搜索,但找不到如何查询未安装的 RPM 文件以获取其信息:

是否有从未安装的 RPM 文件中读取信息的命令?

0 投票
1 回答
383 浏览

java - 创建 .desktop 文件时出现问题,CentOS

您好我已经创建了 XYZ.desktop 文件。该桌面文件的代码如下

XYZ.desktop

开始XYZ

如果我使用启动 startXYZ 文件运行,那么它会启动应用程序,但如果我双击 .desktop 文件,它不会打开应用程序。同一个文件在 Fedora 中运行良好,但在 CentOS 中无法运行。没有文件丢失。

谁能指导我启动 .desktop 文件可能有什么问题

谢谢 Sunil Kumar Sahoo

0 投票
1 回答
1705 浏览

linux - 如何在安装过程中获取用户输入

因此,当我创建一个 debian 包时,我能够编写一个运行良好的安装后 shell 脚本。目前我的配置为

这适用于 Ubuntu。但是,我似乎无法让用户输入使用 Fedora 的 RPM。有没有接受用户输入的好方法?据我了解,RPM 旨在不允许交互式安装。但是我看不到更好的方法来做到这一点..

有没有办法在不询问用户的情况下自动查找本地 MySQL 设置?否则,询问用户输入的最佳方式是什么?

0 投票
3 回答
2749 浏览

linux - 如何确定为其编译 rpm 的操作系统版本?

如何确定编译 rpm 数据包的 Linux 版本(发行版)?

0 投票
1 回答
628 浏览

cygwin - 在 Cygwin 上构建 Linux 软件包

在 Cygwin 上构建 RPM 和 Debian 软件包是个好主意吗?我们的发布服务器是 windows,所以我们的选择要么是那个,要么是用 linux 启动 VM 来处理任务。

我只是不确定虚拟机是否将核弹带到蚂蚁身上。有没有办法在 Cygwin 中进行建筑?如果是这样,怎么做?到目前为止,我已经找到了一些线索……显然 Cygwin 应该能够进行 rpm。Debian 的东西并不容易找到。