草庐IT

rpm-spec

全部标签

linux - 如何从已安装的 RPM 中获取许可证列表?

我们被要求列出我们组织中使用的所有软件和许可证。在不确定这个请求的值(value)的情况下,我想让我的Fedora笔记本电脑轻松回答这个问题。rpm-qa给我一​​个包列表,但没有许可证数据。我的下一步是获取该输出并编写脚本来查询每个包的许可证。有人有更简单的想法吗? 最佳答案 rpm-qa--qf"%{name}:%{license}\n" 关于linux-如何从已安装的RPM中获取许可证列表?,我们在StackOverflow上找到一个类似的问题: htt

linux - RPM 中更改的文件列表

我想知道是否有办法做到以下几点:我在系统上安装了rpMA-v1。它有很多配置文件,用户可以根据自己的目的进行编辑。然后,我想安装新版本的rpmA,比如rpmA-v2,在安装之前我想备份那些已编辑的配置文件,而不是再次编辑配置文件。有什么方法可以知道在这种情况下编辑了哪些文件? 最佳答案 如果您谈论的是与给定包相关的配置文件,rpm已经为此提供了非常强大的机制,称为.rpmnew/.rpmsave.如果软件包正在升级,根据软件包创建者/维护者的判断,rpm可能会采取两种可能的操作:旧配置完好无损地保存在/etc/myprog/conf

linux - 如何递归下载RPM依赖?

我想编写一个迷你脚本,在LinuxRedHat中下载RPM包的所有递归依赖项。当我使用时:repoquery-a--requires--recursive--resolvePACKAGE_NAME我没有得到所有的递归依赖,但是当我使用时:repoquery-a--tree-requiresPACKAGE_NAME我获得了所有依赖项,但没有获得可通过管道传输到yumdownloader中的可用列表。我该怎么办? 最佳答案 你可以试试repotrack它将下载一个或多个包和所有依赖项。 关于

linux - RPM 规范文件 - 如何在 %pre 脚本中获取 rpm 包位置

我现在与RPM包管理器一起工作了大约一个月。目前我想使用rpm-U来升级之前RPM执行的现有内容,但我需要知道文件系统上的rpm包位置。我能想到的唯一方法是在整个文件系统中搜索%pre脚本中的rpm名称,但我真的很想避免使用该选项。有什么方法可以将rpm包的路径(包可以在系统上的任何位置)作为规范文件(%pre和%post脚本)中的变量。希望我已经足够清楚地解释了我的问题。欢迎任何帮助或建议。 最佳答案 没有一个安装包的位置(或路径),所以我不确定你在问什么。由名为“foo”的已安装rpm包安装的文件可以显示rpm-ql富除了“/”

linux - 如何在 rpm 中更改 "Build Host"

我需要将“构建主机”名称更改为其他实际主机名,fqdn(从/etc/hosts中选取)在rpm生成期间,我们通过.spec文件设置rpm属性,但我知道“BuildHost”值不能通过.spec文件设置。有没有办法在不实际更改linux机器主机名的情况下更改rpm中的“BuildHost”值。即/etc/sysconfig/network没有变化或https://www.onyxpoint.com/spoofing-the-build-hostname-in-mock/ 最佳答案 在输入rpmbuild-basomething.spe

python - 如何安装 libhdf5-dev? (没有 yum、rpm 或 apt-get)

我想使用需要安装libhdf5-dev的h5py。我从源代码安装了hdf5,并认为编译该选项的任何选项都会为我提供开发人员header,但看起来不像。有人知道我该怎么做吗?我需要下载其他来源吗?(虽然我找不到)我在amazonlinux上,yumsearchlibhdf5-dev没有给我任何结果,而且我不能使用rpm或apt-get到那里,因此我想自己编译它。 最佳答案 如果问题是您没有找到h5py的操作系统级开发库。这是因为您一直在寻找/搜索错误的软件包名称-您正在尝试的是Ubuntu,对于CentOS,它是hdf5-devel。

linux - 将 rpm 从一个操作系统复制到另一个操作系统

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion我在两个不同的虚拟机上运行sles10sp3。我试图找到与其中一个虚拟机上安装的相同的rpm,以便我可以在另一个虚拟机上安装相同的rpm。有什么方法可以简单地将它们从一个虚拟机复制到另一个虚拟机(或者通常将所有.rpm复制到SLES之外)?这开始于我试图找到一个ruby​​1.8.4rpm但运气不佳,但我还需要找到许多其他rpm。

linux - 如何防止 SUSE RPM 安装在 RedHat 系统上

我们有一个通过RPM分发的产品。我们创建了SUSESLES10SP1RPM和RedHat5.5RPM。两者之间存在差异,如果您在RedHat机器上安装SUSERPM,事情将无法正常工作(通常是神秘的),反之亦然。有没有办法阻止RedHayRPM安装在SUSE系统上,反之亦然?我用谷歌搜索并找到了http://www.rpm.org/max-rpm/ch-rpm-multi.html但是这里的所有约束似乎都基于命令uname的输出,它不会告诉您运行的是RedHat还是Suse。os是linux,架构是一样的。我们有想法在安装脚本中添加检查,可以在/etc/issue文件中查找“RedHa

linux - 文件在 rpm 规范文件中列出两次

我的规范文件的文件部分如下所示:%files%{prefix}/htdocs/%config%{prefix}/htdocs/share/settings/config.inc.php现在,由于配置文件已经包含在%{prefix}/htdocs/行中,我收到警告“文件列出两次”。一种解决方法是,列出%{prefix}/htdocs/中的每个文件,配置文件除外。但我的问题是:有没有比列出所有文件更好的方法来解决这个问题? 最佳答案 不幸的是没有。RPM是相当老派的软件,但工作正常:-)但是你也可以使用globs:%files%{pre

linux - Yum 安装自制 RPM 报错

我正在尝试使用“yuminstallmy.rpm”安装一些东西问题是我得到了TypeError:anintegerisrequirederror:pythoncallback>failed,aborting!这是什么意思?我打开了yum安装的详细信息,无法弄清楚任何事情。这是RHEL6.1谢谢 最佳答案 如果rpm在安装包时由于某种原因无法访问该文件,则会抛出此错误。例如,如果您的rpm位于带有root_squash指令的NFS共享上,并尝试安装,那么由于root在尝试访问该文件时将不被允许,它将失败,并且它会抛出这个确切的错误。如