单个rpm包是否可以属于多个组?
在spec文件中,您可以设置包组:
Group: System Environment/Base
我需要的是能够为这个包设置几个组(如System | Util | MyCompanyName) – 它们就像分配给包的标签一样.
安装包时我想查询它
rpm -q --group System
要么
rpm -q --group MyCompanyName
在这两种情况下我都应该看到我的包裹(以及其他属于这个群体的包裹)
编辑:
许多软件包可能属于MyCompanyName组,但只能安装少数软件包.我需要一种方法来区分我们的软件包和Linux系统软件包 – 我打算用组名来做
我尝试了几个Group:行,但它只使用了最后一行. Group之后的所有内容:似乎都被视为一个字符串,我找不到分割它们的方法.
我能想到的另一个解决方案是将这些东西作为PROVIDES然后进行查询
rpm -q --whatprovides System
但我不喜欢这样.
解决方法
指定公司名称的正确方法是通过Vendor标记,如下所示:
Vendor: Yoyodyne,Inc.
要按供应商获取软件包列表,您可以运行以下命令:
rpm -qa --qf '%{NAME} %{VENDOR}\n' | grep -v Yoyodyne
RPM只能属于一个组.此外,允许组由分布定义.例如,以下是Mandriva的有效组列表:
http://wiki.mandriva.com/en/Development/Packaging/Groups
要查找特定分发的有效组,您必须经常运行该发行版的包管理器并查看列表.
RPM并不像Debian包格式那样定义得那么好.似乎没有官方或全面的文件.