Mehrere Versionen einer Software aus RPMs mittels YUM installieren

20/12/2012 - 10:16 von Jochen Lübbers | Report spam
Hallo,

ich stehe vor dem Problem, dass ich Software (verteilt auf eine Hand
voll RPMs) in mehreren Versionen *gleichzeitig* auf einem Rudel
Testrechnern installieren (lasen) muss.

Das geht von der Dateistruktur ohne Probleme, da die Programme nach
/opt/foo/bar/<version>/ installiert werden und es somit zu keinen
Konflikten im Dateisystem kommt.

Ich habe dafür ein nun ein Shell-Script gebastelt, dass mir "rpm -i"
dafür sorgt, dass die Pakete auch wirklich nebeneinander auf den Rechner
kommen. So weit so gut.

Doch dann kommt die nàchste Hürde: Ich soll das ganze auch per "yum"
machen können...
yum kennt nun zwar auch ein "install" Kommando, aber das entspricht im
Groben eben einem "rpm -U". Es installiert nur die neueste Version, alle
anderen werden entfernt!

Also habe ich mir die Dokumentation von yum zu Gemüte geführt - und
keine hilfreiche Option gefunden, die aus dem "install" ein simples
"Install" machte. Habe ich da evtl. etwas übersehen?

Dann habe ich mir gedacht,
<Loriot>
Andere können es doch auch!
</Loriot>
Sprich: Die Kernel-RPMs installiert yum doch auch nur, ohne alte zu
entfernen. Mein erster Gedanke war, dass es da vielleicht eine spezielle
Direktive in der SPEC-Datei zu diesem Zweck gibt. (So a la "DontUpdate=yes")

Doch auch die habe ich nicht lokalisieren können. Im Gegenteil:
"http://www.rpm.org/wiki/PackagerDoc...ions" sagt
| 1. all package managers have special logic for them

Ist das (leider) wahr? Bloß weil ein Paket "kernel" heißt, wird es
anders behandelt? (Was, wenn wir auf einmal Mikrokerkernel bekommen...)
Oder ist das nur die halbe Wahrheit, und der Mechanismus sollte dort
nicht aufgedeckt werden?

Wo finde ich weitere Information (außer den Quellcode von
yum/rpm/... daraufhin auseinander zu nehmen)?

Oder gibt es für YUM einen ganz anderen Ansatz, das Ziel zu erreichen,
der mir bisher entgangen ist?

Falls es die Lösungswege beeinflusst: Das Ganze passiert unter CentOS 6.

Gruß und Dank
Jochen
"Wer die Freiheit aufgibt, um Sicherheit zu gewinnen,
der wird am Ende beides verlieren"
 

Lesen sie die antworten

#1 Karsten Roch
20/12/2012 - 22:23 | Warnen spam
On Thu, 20 Dec 2012 10:16:14 +0100 Jochen Lübbers wrote:

Hallo,

ich stehe vor dem Problem, dass ich Software (verteilt auf eine Hand
voll RPMs) in mehreren Versionen *gleichzeitig* auf einem Rudel
Testrechnern installieren (lasen) muss.

Das geht von der Dateistruktur ohne Probleme, da die Programme nach
/opt/foo/bar/<version>/ installiert werden und es somit zu keinen
Konflikten im Dateisystem kommt.

Ich habe dafür ein nun ein Shell-Script gebastelt, dass mir "rpm -i"
dafür sorgt, dass die Pakete auch wirklich nebeneinander auf den Rechner
kommen. So weit so gut.

Doch dann kommt die nàchste Hürde: Ich soll das ganze auch per "yum"
machen können...
yum kennt nun zwar auch ein "install" Kommando, aber das entspricht im
Groben eben einem "rpm -U". Es installiert nur die neueste Version, alle
anderen werden entfernt!

Also habe ich mir die Dokumentation von yum zu Gemüte geführt - und
keine hilfreiche Option gefunden, die aus dem "install" ein simples
"Install" machte. Habe ich da evtl. etwas übersehen?

Dann habe ich mir gedacht,
<Loriot>
Andere können es doch auch!
</Loriot>
Sprich: Die Kernel-RPMs installiert yum doch auch nur, ohne alte zu
entfernen. Mein erster Gedanke war, dass es da vielleicht eine spezielle
Direktive in der SPEC-Datei zu diesem Zweck gibt. (So a la "DontUpdate=yes")




IIRC wird irgendwo in der Konfiguration festgelegt, wieviele
Kernel-versionen im System installiert bleiben. /etc/yum.conf sollte dazu
einen Parameter enthalten, (installonly...).

Doch auch die habe ich nicht lokalisieren können. Im Gegenteil:
"http://www.rpm.org/wiki/PackagerDoc...ions" sagt
| 1. all package managers have special logic for them

Ist das (leider) wahr? Bloß weil ein Paket "kernel" heißt, wird es
anders behandelt? (Was, wenn wir auf einmal Mikrokerkernel bekommen...)
Oder ist das nur die halbe Wahrheit, und der Mechanismus sollte dort
nicht aufgedeckt werden?

Wo finde ich weitere Information (außer den Quellcode von
yum/rpm/... daraufhin auseinander zu nehmen)?



z.B. hier

http://docs.fedoraproject.org/en-US...ories.html

Oder gibt es für YUM einen ganz anderen Ansatz, das Ziel zu erreichen,
der mir bisher entgangen ist?




Vielleicht hilft dir das hier weiter:

https://fedoraproject.org/wiki/User:Bkabrda/YumParallelInstall

Regards
Karsten

Ähnliche fragen