Wie entferne ich alle installierten abhängigen Pakete, während ich ein Paket in Centos 7 entferne?

8

Ich verwende CentOS 7. Ich habe okular, einen PDF-Viewer, mit dem folgenden Befehl installiert:

sudo yum install okular

Wie Sie in der Abbildung unten sehen können, wurden 37 abhängige Pakete installiert, um okular zu installieren.

installierte Abhängigkeiten

Aber ich war mit den Funktionen der Anwendung nicht zufrieden und habe beschlossen, sie zu entfernen. Das Problem ist, dass, wenn ich es mit dem Befehl entferne:

sudo yum autoremove okular

Es werden nur vier abhängige Pakete entfernt.

entfernte Pakete mit Autoremove

Und wenn ich es mit dem Befehl entferne:

sudo yum remove okular

Es wird nur ein Paket entfernt, das okular.x86_64 ist.

Meine Frage ist nun, ob es eine Möglichkeit gibt, alle 37 installierten Pakete mit einem Befehl zu entfernen, oder muss ich alle einzeln entfernen?

ukll
quelle

Antworten:

17

Persönlich mag ich keine Yum-Plugins, weil sie meiner Erfahrung nach nicht oft funktionieren.

Mit dem yum historyBefehl können Sie Ihren Yum-Verlauf anzeigen.

[root@testbox ~]# yum history
Loaded plugins: product-id, rhnplugin, search-disabled-repos, subscription-manager, verify, versionlock
ID     | Login user               | Date and time    | Action(s)      | Altered
----------------------------------------------------------------------------------
19 | Jason <jason>  | 2016-06-28 09:16 | Install        |   10

Informationen zur Transaktion finden Sie unter yum history info <transaction id>. Damit:

yum history info 19würde Ihnen alle Pakete mitteilen, die mit Transaktion 19 installiert wurden, und die Befehlszeile, die zum Installieren der Pakete verwendet wurde. Wenn Sie Transaktion 19 rückgängig machen möchten, werden Sie ausgeführt yum history undo 19.

Wenn Sie nur die letzte Transaktion rückgängig machen möchten (Sie haben ein Softwarepaket installiert und es hat Ihnen nicht gefallen), können Sie dies auch einfach tun yum history undo last

Jason Powell
quelle
Zunächst einmal vielen Dank für Ihre hervorragende Antwort. Und zweitens, als ich das tat sudo yum history, wurden nur Aktionen mit den IDs 30 bis 49 angezeigt. Gibt es eine Möglichkeit, den gesamten Aktionsverlauf anzuzeigen (einschließlich der IDs 1-29)?
ukll
1
Bitte! Ja, es gibt eine Möglichkeit, Ihre gesamte Geschichte anzuzeigen. Tu es einfach yum history list all.
Jason Powell
8

yum remove package_name entfernt nur dieses Paket und alle ihre Abhängigkeiten.

yum autoremove entfernt die nicht verwendeten Abhängigkeiten

Um ein Paket mit seinen Abhängigkeiten zu entfernen, müssen Sie das folgende yumPlugin installieren :remove-with-leaves

Um es zu installieren, geben Sie Folgendes ein:

yum install yum-plugin-remove-with-leaves

So entfernen Sie den package_nameTyp:

yum remove package_name --remove-leaves
GAD3R
quelle
Ich habe deine Antwort versucht, es funktioniert nicht.
ukll