Wie können Sie mit yum ein Paket entfernen, aber nicht gleichzeitig seine Abhängigkeiten entfernen?

13

Wenn ich das tue, $ yum remove packageAwerde ich heute begrüßt mit:

Removing:
packageA                        noarch                 3.5.1.b37-15                                 @yumFS                 293 k
Removing for dependencies:
 packageB                      noarch                 3.5.1.b125-7                                 @yumFS                  87 M
..
Is this ok?

Ich möchte packageA entfernen, ohne packageB (etc) zu entfernen. Ist dies möglich?

Rogerdpack
quelle
1
Möglich ? Ja. Der gesamte Zweck von Paketmanagern besteht jedoch darin, genau dies zu verhindern. Google sucht nach "RPM Hell", um eine gute Vorstellung davon zu bekommen, worauf Sie sich einstellen, wenn Sie so etwas tun.
DopeGhoti

Antworten:

18

Erscheint möglich mit U / min:

$ rpm -e --nodeps packageA

Seien Sie jedoch offensichtlich sehr vorsichtig, denn wenn Sie ein Abhängigkeitspaket entfernen und es nicht zurücksetzen, kann dies zu unerwarteten Ergebnissen für die Pakete führen, die noch davon abhängen ...

Rogerdpack
quelle
Frage dazu. Ich hatte ein Problem mit der Abhängigkeitsversion, die Warnung war Application built with libpng-1.6.16 but running with 1.5.13. Ich dachte, ich würde es einfach tauschen, yumwollte aber eine Menge Zeug entfernen, wenn ich es zuerst entfernte libpng. Also habe ich den hier gezeigten Ansatz verwendet, um beide zu entfernen, libpngund libpng-develdann libpng-1.6.1aus dem Quellcode erstellt und installiert , und mein Problem ist verschwunden. Kann ich darauf vertrauen, dass ich nicht etwas anderes im Upstream kaputt gemacht habe, zum Beispiel etwas, das ich yumursprünglich entfernen wollte, während es für Software funktionierte, die ich sofort brauchte (Mapnik) libpng?
Elrobis
Es gab also keine Paketoption zur Installation von 1.6? Hmm, meine Vermutung ist, dass sie gemeinsam genutzte Bibliotheken verwenden und Sie gut sind, aber sie wurden auch nicht von den Paketmanagern getestet. Ich weiß nicht, wie das Paketverwaltungssystem funktioniert.
Rogerdpack
1

Ich fand es möglich mit yum so zu machen:

sudo yum remove --noautoremove <package name>
Jaime
quelle
2
Hmm ... Ich habe es unter CentOS 6 und 7 ausprobiert und habe "keine solche Option: --noautoremove" irgendwelche Ideen?
Rogerdpack
3
Ich war auf Fedora 29, als ich ein neues Paket getestet habe, das ich gerade erstellt habe. Hmm .. frage mich, ob es nur ein Fedora ist.
Jaime