Schließen Sie ein bestimmtes Repo von YUM Update aus


13

Ich mache ein systemweites YUM-Update auf RHEL 5.5 und das IUS EPEL-Repository gibt einen fehlenden Abhängigkeitsfehler aus:

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-   5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

Gibt es eine Möglichkeit, das YUM-Update für alle anderen Repositorys auszuführen, wobei das IUS EPEL-Repository ignoriert wird, um dieses Abhängigkeitsproblem zu überspringen?

Klärung

Ich versuche nur die Updates vom Redhat-Netzwerk zu installieren. Ich kann den Repo-Namen nicht finden, daher kann ich so etwas nicht tun, sudo yum --disablerepo=* --enablerepo=rhel updateda die Version von yum, die ich verwende, nicht mehrere Repositories unterstützt, die nach aufgeführt sind --disablerepo.

Aktualisieren

Meine vorübergehende Problemumgehung ist das Ausführen sudo yum --exclude=php53* update. Ich bin überzeugt, dass es einen besseren Weg gibt. Dieser bessere Weg beinhaltet das Beheben des eigentlichen Problems. Ich habe daher auch einen Fehler beim IUS-Community-Projekt gemeldet .

Update Nr. 2

Es sieht so aus, als hätte ich das Problem mit der Abhängigkeit gefunden . Ich denke immer noch, dass es eine praktikable Problemumgehung geben sollte.

Vielen Dank!


Ich habe meine Antwort aktualisiert, um Ihre Klarstellung zu berücksichtigen.
Plasmid87

Antworten:


21

Probieren Sie den Disable Repo Schalter:

--disablerepo=REPONAME

AKTUALISIEREN

So finden Sie alle derzeit "bekannten" Repositorys (aktiviert und deaktiviert):

yum repolist all

Um herauszufinden, welches Repository Sie über das obige Paket beunruhigt, versuchen Sie Folgendes:

yum list php53-mcrypt-5.3.3-4.ius.el5.x86_64 --showduplicates

Daraufhin wird angezeigt, welche Ihrer Repositorys das oben genannte Paket bereitstellen (in der Liste wird auch "installiert" angezeigt, um die lokal installierten Pakete anzuzeigen).

Versuchen Sie den Deaktivierungsschalter erneut, sobald Sie das Repository mithilfe des Deaktivierungsschalters kennen.

yum update --disablerepo=[from above]

Wenn Sie die obigen Schritte nicht ausführen, um das Repository herauszusuchen, das Sie auslassen möchten, durchsuchen Sie die Datei /etc/yum.repos.d/ , die der RHEL-Standardspeicherort für Repository-Definitionen ist. Suchen Sie in diesem Verzeichnis alle nicht standardmäßigen RHEL-Basis- und Update-Repository-Dateien und schließen Sie enabled = 0 ein , z.

[repo]
enabled=0

Hoffe das hilft.


Dies könnte funktionieren, wenn ich mehrere Repositorys angeben könnte. Ich habe versucht --disablerepo=epel --disablerepo=iusund --disablerepo=epel,ius.
Robin

yum repolist allzeigt, dass nur die folgenden Repos aktiviert sind: epel, ius und rhel-x86_64-server-5. Ihr --showduplicatesBefehl zeigt das Paket, wie es vom ius repo installiert wurde. Daher habe ich Folgendes versucht sudo yum --disablerepo=* --enablerepo=rhel-x86_64-server-5 updateund es wird immer noch ein Abhängigkeitsfehler für dasselbe Paket ausgegeben. enabled=0Außerdem habe ich versucht, die Repos zu deaktivieren, indem ich die Einstellung unter /etc/yum.repos.d/
Robin

Ich stelle mir vor, dass das IUS-Repo bei der Installation standardmäßig aktiviert war. Versuchen Sie dies stattdessen: sudo yum update --disablerepo=iusNehmen Sie an, dass alle anderen Repos standardmäßig aktiviert sind. Versuchen Sie andernfalls, sudo yum update --exclude=php53-mcrypt-5.3.3-4.ius.el5.x86_64dieses Paket vollständig zu überspringen.
Plasmid87

Keine dieser Optionen funktioniert. Mir fehlt etwas.
Robin

Ich kann mir dann nur vorstellen, dass für etwas anderes das Paket im Rahmen des Aktualisierungsprozesses aktualisiert werden muss. Wenn Sie es ausführen sudo yum deplist php53-mcrypt-5.3.3-4.ius.el5.x86_64, werden Ihnen alle Abhängigkeiten und Anbieter für dieses bestimmte Paket angezeigt. Nach meiner Erfahrung mit PHP-Paketen und RHEL ist dies ein häufiges Problem. Ich wollte nicht von dem vorliegenden Problem abweichen, aber ich habe festgestellt, dass Remi die besten Pakete für PHP bietet. Ich hatte noch nie ein Abhängigkeitsproblem mit PHP, nachdem ich zu ihren Repos gewechselt bin.
Plasmid87

1

Der einfachste Weg, dies zu tun, besteht darin, das Linux mit Ihrem unerwünschten Repo in /etc/yum.repos.d/ zu kommentieren.


1

Sie können mehrere Repositorys in der yum-Befehlszeile deaktivieren:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 --disablerepo=myrepo3

Wenn Sie dies jedoch tun, müssen Sie das gewünschte Repo explizit aktivieren:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 \
           --disablerepo=myrepo3 --enablerepo=TheRepoIWant

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.