簡體   English   中英

RPM包中的幾個組

[英]Several groups in RPM package

單個 rpm 包是否可以屬於多個組?

在規范文件中,您可以設置包組:

組:系統環境/基礎

我需要的是能夠為這個包設置幾個組(比如System|Util|MyCompanyName )——它們就像分配給包的標簽。

安裝包后,我想查詢它

rpm -q --group System

或者

rpm -q --group MyCompanyName

在這兩種情況下,我都應該看到我的包裹(以及屬於該組的其他包裹)


編輯:

許多軟件包可能屬於 MyCompanyName 組,但只有少數軟件包可以安裝。 我需要一種方法來區分我們的包和 linux 系統包 - 我打算使用組名來做


我嘗試放置幾行Group:行,但它只使用最后一行。 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包格式那樣定義得那么好。 似乎沒有官方或全面的文件。

http://www.rpm.org/max-rpm/s1-rpm-inside-tags.html

AFAIU,RPM應屬於RPM的GROUPS文件中的單個組,或者未指定組。 不能有多個。

您可以使用yum組在repo級別而不是包級別定義 一旦定義了組,您應該能夠使用'yum groupinfo'命令查看每個組中的包。

這是一篇舊帖子,但因為它仍然出現在 Google 上;

現在至少 OpenSUSE 使用 Group: 字段作為空格分隔的標簽字段而不是層次樹,因此對於 SUSE 包,您可以簡單地將您希望包所屬的標簽用空格分隔。

有關詳細信息,請參閱: https : //en.opensuse.org/openSUSE : Package_group_guidelines

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM