Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux RPM包中的几个组_Linux_Packages_Packaging_Rpm_Rpmbuild - Fatal编程技术网

Linux RPM包中的几个组

Linux RPM包中的几个组,linux,packages,packaging,rpm,rpmbuild,Linux,Packages,Packaging,Rpm,Rpmbuild,单个rpm包是否可能属于多个组? 在等级库文件中,可以设置程序包组: 组:系统环境/基础 我需要的是能够为这个包设置几个组(比如System | Util | MyCompanyName)-它们就像分配给包的标签一样 当安装包时,我想像这样查询它 rpm -q --group System 或 在这两种情况下,我都应该看到我的包(以及属于此组的其他包) 编辑: 许多软件包可能属于MyCompanyName组,但只能安装少数软件包。我需要一种将我们的软件包与linux系统软件包区别开来的方法-

单个rpm包是否可能属于多个组?

在等级库文件中,可以设置程序包组:

组:系统环境/基础

我需要的是能够为这个包设置几个组(比如
System | Util | MyCompanyName
)-它们就像分配给包的标签一样

当安装包时,我想像这样查询它

rpm -q --group System

在这两种情况下,我都应该看到我的包(以及属于此组的其他包)


编辑:

许多软件包可能属于MyCompanyName组,但只能安装少数软件包。我需要一种将我们的软件包与linux系统软件包区别开来的方法-我计划使用组名来实现这一点


我试着放了几行
组:
行,但它只使用最后一行。
Group:
之后的所有内容似乎都被视为一个字符串,我找不到拆分它们的方法

我可以想到的另一个解决方案是将这些东西作为
提供的
然后进行查询

rpm -q --whatprovides System
但我不喜欢这样


是否有其他方法来完成所请求的功能?

AFAIU,RPM应属于RPM的组文件中的单个组,或者未指定组。不能有多个组。

您可以使用在回购级别而不是包级别定义组。定义组后,您应该能够使用“yum groupinfo”命令查看每个组中的软件包。

指定公司名称的正确方法是通过供应商标签,如下所示:

Vendor: Yoyodyne, Inc.
要按供应商获取软件包列表,可以运行以下命令:

rpm -qa --qf '%{NAME} %{VENDOR}\n' | grep -v Yoyodyne
RPM只能属于一个组。此外,允许的组由分布定义。例如,以下是Mandriva的有效组列表:

要查找特定发行版的有效组,必须经常运行该发行版的包管理器并查看列表

RPM的定义远不如Debian软件包格式。似乎没有正式或全面的文件


不幸的是,它无法帮助您查看系统上安装了给定组中的哪些可选软件包,因此,当您有静态组时,大多数情况下都很方便,所有软件包都必须安装。是的,这将适用于公司名称,令人遗憾的是,rpm没有方便的方法通过这个参数进行查询,因为您的解决方案是我唯一可以使用的解决方案,我选择它作为答案
rpm -qa --qf '%{NAME} %{VENDOR}\n' | grep -v Yoyodyne