2011-01-07 13 views
8

Ist es möglich, dass einzelne RPM-Pakete mehreren Gruppen angehören?Mehrere Gruppen im RPM-Paket

In Spec-Datei Sie Paketgruppe einstellen:

Gruppe: Systemumgebung/Basis

Was ich brauche, ist in der Lage sein, mehrere Gruppen zu setzen für dieses Paket (wie System|Util|MyCompanyName) - Sie wären wie Tags, die dem Paket zugewiesen sind.

Wenn das Paket installiert ist ich es wie

rpm -q --group System 

oder

rpm -q --group MyCompanyName 

und in beiden Fällen abfragen will, ich soll mein Paket (und andere zu dieser Gruppe gehören) sehen


Bearbeiten:

Viele Pakete gehören möglicherweise zur Gruppe "MyCompanyName", es können jedoch nur wenige installiert werden. Ich brauche einen Weg, um unsere Pakete von Linux-Systempaketen zu unterscheiden - ich plane, es zu tun auf die Gruppennamen mit


ich mehr Group: Linien versucht setzen, aber es wird nur die letzten. Alles nach Group: scheint als eine Saite genommen zu werden und ich konnte keinen Weg finden sie zu teilen.

Eine andere Lösung, die ich denken konnte, setzt dieses Material als PROVIDES und dann

rpm -q --whatprovides System 

abfragen, aber ich es auf diese Weise nicht mögen.

Gibt es eine andere Möglichkeit, die angeforderte Funktionalität zu erreichen?

Antwort

6

Der richtige Weg, um Ihren Firmennamen angeben, ist über den Vendor-Tag wie folgt:

Vendor: Yoyodyne, Inc. 

Um eine Liste der Pakete, die von Verkäufern erhalten Sie diesen Befehl ausführen können:

rpm -qa --qf '%{NAME} %{VENDOR}\n' | grep -v Yoyodyne 

Ein RPM kann nur zu einer Gruppe gehören. Außerdem sind die zulässigen Gruppen durch die Verteilung definiert.Zum Beispiel, hier ist die Liste der gültigen Gruppen für Mandriva:

http://wiki.mandriva.com/en/Development/Packaging/Groups

Um die gültigen Gruppen für eine bestimmte Verteilung finden Sie oft müssen den Paket-Manager für die Distribution und Blick auf die Liste laufen.

RPM ist bei weitem nicht so gut definiert wie das Debian-Paketformat. Es scheint keine offizielle oder gründliche Dokumentation zu geben.

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

+0

ja, es wird für den Firmennamen funktionieren, es ist traurig, dass RPM hat keine bequeme Möglichkeit zur Abfrage von diesem Parameter –

+0

, da Ihre Lösung ist die einzige, die ich verwenden kann ich es wählen als Antwort –

3

AFAIU, RPMs sollten zu einer einzelnen Gruppe in RPMs GROUPS-Datei gehören oder Gruppe nicht angegeben haben. Kann nicht mehr als eins haben.

2

Sie können die Gruppen möglicherweise auf der Repo-Ebene anstatt auf der Paketebene mithilfe von yum groups definieren. Sobald Sie Ihre Gruppen definiert haben, können Sie den Befehl 'yum groupinfo' verwenden, um die Pakete in jeder Gruppe anzuzeigen.

+0

, die interessant ist, werde ich prüfen, ob wir es verwenden können, dank –

+0

leider nicht Sie, welche optionale Pakete aus der gegebenen Gruppe zu sehen, hilft auf dem System installiert sind, so ist es praktisch, vor allem, wenn Sie haben statische Gruppen, wo alle Pakete installiert werden müssen –

Verwandte Themen