Yum installiert keine bestimmte RPM-Version mit benutzerdefiniertem Repo

2935
Sridhar

Wir verwenden RPMS für unsere Verpackungen und Yum, um unsere Umgebungen zu aktualisieren.

Wir haben ein RPM-Paket-5.1.1-3 auf unserem Produktionsserver installiert und in unserem Yum-Repository haben wir zwei neuere Versionen wie Paket-5.1.3-3 und Paket-5.2-27.

Mit yum haben wir versucht, Paket-5.1.3-1 zu installieren, aber Yum hat Paket-5.2-27 installiert.

Es verursachte ernsthafte Probleme in der Produktion.

Wenn wir das Paket 5.2-27 aus unserem benutzerdefinierten Yum-Repository entfernen und versuchen, 5.1.3-1 zu installieren, wird es wie erwartet installiert.

Ich denke, yum sollte die Installation einer bestimmten Version von RPMS erlauben, und ich erinnere mich, dass ich dies einige Male gemacht habe. Ich habe versucht zu debuggen, aber kein Erfolg.

Paket bereits installiert:

root@snelloru]# rpm -qa|grep package pacakge-database-5.1.1-3 package-5.1.1-3 

Höhere Version installieren (5.1.3-1)

yum install package-5.1.3-1 Loaded plugins: rhnplugin, security Excluding Packages in global exclude list Finished Setting up Install Process Package matching package-5.1.3-1.x86_64 already installed. Checking for update. Resolving Dependencies --> Running transaction check --> Processing Dependency: package = 5.1.1-3 for package: package-database ---> Package package.x86_64 0:5.1.3-1 set to be updated --> Running transaction check ---> Package package-database.x86_64 0:5.2-23 set to be updated --> Processing Dependency: package = 5.2-23 for package: package-database --> Running transaction check ---> Package package.x86_64 0:5.1.3-1 set to be updated ---> Package package.x86_64 0:5.2-23 set to be updated --> Finished Dependency Resolution  Dependencies Resolved  =============================================================== Package Arch Version Repository Size =============================================================== package x86_64 5.2-23 repo 22 M package-database x86_64 5.2-23 

Ausgabe von yum list --showduplicates package package-database

root@snelloru]# yum list --showduplicates package package-database Loaded plugins: allowdowngrade, security rightscale-epel | 951 B 00:00 Installed Packages package.x86_64 5.1.1-3 installed package-database.x86_64 5.1.1-3 installed Available Packages package.x86_64 5.1-126 repo package.x86_64 5.1.1-3 repo package.x86_64 5.1.2-3 repo package.x86_64 5.1.3-1 repo package.x86_64 5.2-25 repo package.x86_64 5.2-26 repo package.x86_64 5.2-27 repo package-database.x86_64 5.1-126 repo package-database.x86_64 5.1.1-3 repo package-database.x86_64 5.1.2-3 repo package-database.x86_64 5.1.3-1 repo package-database.x86_64 5.2-2 repo package-database.x86_64 5.2-3 repo package-database.x86_64 5.2-4 repo package-database.x86_64 5.2-24 repo package-database.x86_64 5.2-25 repo package-database.x86_64 5.2-26 repo package-database.x86_64 5.2-27 repo 

Meine Beobachtung:

Wenn wir versuchen, ein Paket mit derselben Version zu installieren, das bereits auf dem Server installiert ist, jedoch eine andere Versionsnummer hat, funktioniert es wie erwartet.

Wenn wir zum Beispiel 5.2-10 auf dem Server installiert haben und versuchen, 5.2-20 zu installieren, funktioniert es wie erwartet, obwohl wir höhere Versionen wie 5.2-25..5.2-28 im Repo haben.

Es funktioniert nicht nur, wenn eine andere Version von rpm installiert ist

Irgendwelche Ideen dazu?

0
Sie können nur nach einer bestimmten Packave-Version fragen, wenn diese noch im Repository verfügbar ist. In Anbetracht der aggressiven Bereinigung von Distributions-Repositories bleiben alte Versionen (wenn überhaupt) nicht lange in der Umgebung. Warum wollen Sie überhaupt zu einer alten Version wechseln? vonbrand vor 9 Jahren 0
Ich versuche nicht, ein Paket von der Distribution zu installieren. Es ist unser eigenes Softwarepaket. Wir generieren täglich Pakete, halten sie im RPM-Repository und installieren sie mit YUM. Wir haben alle älteren Versionen in unserem Repo gespeichert, und ich erwarte, dass yum eine ältere Version installiert, wenn sie im RPM-Repository vorhanden ist. Sridhar vor 9 Jahren 0
Müssen Sie das Flag "--allow-downgrade" aktivieren, da die neuere Version bereits bekannt ist? Auf diesem Rechner kann "yum-versionlock" für immer danach notwendig werden. warren vor 9 Jahren 0

1 Antwort auf die Frage

0
Eran Ben-Natan

Versuchen: yum upgrade-to package-5.1.3

Danke Eran, es funktioniert wie erwartet, aber ich bin nicht so vertrauenswürdig, dass ich Upgrade-to statt Install verwenden kann, da Updrage veraltete Pakete löscht. Wir verwenden yum, um unsere Pakete in Produktionsumgebungen zu installieren. Ist das normales Verhalten oder yum, immer die aktuellste Version auszuwählen, auch wenn Sie die Versionsnummer angeben? Sridhar vor 9 Jahren 0
yum install installiert die von Ihnen gewünschte spezifische Version. In Ihrem obigen Beispiel ist Paket-5.1.3-1 bereits installiert, daher hat yum versucht, ein Upgrade durchzuführen. Beachten Sie jedoch, dass, wenn Sie ein Paket foo haben, das von der Bar abhängt, und Sie Version 1.0 und 2.0 für beide haben, wenn Sie yum install foo-1.0 ausführen, wird bar-2.0 als Abhängigkeit installiert und nicht 1.0, da Sie dies nicht getan haben Geben Sie die Version für die Bar an, damit Yum das Neueste abruft. Verwenden Sie in diesem Fall yum install bar-1.0 foo 1.0. Eran Ben-Natan vor 9 Jahren 0