Antworten:
package-cleanup --quiet --leaves
Aus dem yum-utils- Paket werden die Bibliothekspakete aufgelistet, auf die sich andere Pakete nicht verlassen. Leider neigt es dazu, ein bisschen übereifrig zu sein. Auf meinem System schlug es beispielsweise vor, libvirt zu entfernen. Das Hinzufügen des --exclude-bin
Arguments hilft. Wenn Sie mit dem Vorschlag zufrieden sind, gehen Sie wie folgt vor, um die Pakete zu bereinigen:
# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
DNF, der YUM-Ersatz seit Fedora 22, bietet auch einen autoremove
Unterbefehl, der nach dem Vorbild von apt-get / yum autoremove erstellt wurde.
Beispiele:
# dnf autoremove
die versucht, alle automatisch installierten und ansonsten nicht verwendeten Abhängigkeitspakete zu entfernen - sollte so ziemlich gleichwertig sein apt-get autoremove
.
# dnf autoremove examplepackage
Dadurch werden das Beispielpaket und alle automatisch installierten (und ansonsten nicht verwendeten) Abhängigkeiten entfernt.
Yum hat den Befehl zum automatischen Entfernen seit Fedora 19 und ist seit Fedora 20 / RHEL 7 dokumentiert.
Die Verwendung ist analog zur dnf-Implementierung, zB:
# yum autoremove
oder
# yum autoremove examplepackage
Yum unterstützt eine Konfigurationsoption zum Ändern des Standardverhaltens des remove
Unterbefehls (z. B. über /etc/yum.conf):
clean_requirements_on_remove=yes
Wenn dies festgelegt ist, yum remove
versucht der nächste auch, automatisch installierte Abhängigkeiten zu entfernen, wenn sie von anderen Paketen nicht benötigt werden.
Sie können diese Option auch vorübergehend über Folgendes testen:
# yum --setopt=clean_requirements_on_remove=1 remove examplepackage
(Für Fedora-Versionen, in denen der Unterbefehl yum autoremove nicht verfügbar ist und / oder clean_requirements_on_remove
nicht funktioniert.)
Obwohl bei der Installation von Paketen installierte Abhängigkeiten als solche gekennzeichnet sind (scheint eine relativ neue Funktion von rpm / yum zu sein).
Sie finden nicht benötigte Abhängigkeiten über:
$ package-cleanup --leaves -q --all \
| xargs repoquery --installed --qf '%{nvra} - %{yumdb_info.reason}' \
| grep -- '- dep' \
| cut -d' ' -f1 > tmp
Diese Befehlszeile ist vom Skript von fenris02 inspiriert .
Nach der Überprüfung tmp
(und vielleicht auch nach der Kuration) können Sie sie folgendermaßen entfernen:
# xargs yum remove < tmp
adobe-release
viayum localinstall
du musst das yum plugin "remove-with-leaves" installieren:
# yum install yum-plugin-remove-with-leaves.noarch
einmal installiert:
# yum remove --remove-leaves package
Viel Glück!
yum-plugin-remove-with-leaves.noarch
Paket installiert seinpackage-cleanup
# package-cleanup --orphans >/tmp/junk
Bearbeiten Sie die /tmp/junk
Datei und entfernen Sie die erste informative Zeile aus der Befehlszeile. Geben Sie Folgendes ein:
for file in `cat /tmp/junk`
do
yum remove $file
done
apt-get autoremove
tut. apt-get (8) sagt: 'Mit autoremove werden Pakete entfernt, die automatisch installiert wurden, um Abhängigkeiten für ein Paket zu erfüllen, und die nicht mehr benötigt werden.'
HINWEIS: Diese Antwort ist korrekt, gilt jedoch nur für RHEL 7+ und Fedora 20+ (wobei das automatische Entfernen als neue Funktion hinzugefügt wurde).
# yum autoremove
Bestätigen Sie einfach, um die ausgewählten Pakete zu entfernen.
Aufbauend auf Larry Mohrs Antwort :
package-cleanup --orphans | sed '1d' | sed '/^ * /d' | sed '/Loading mirror speeds from cached hostfile/d' | xargs sudo yum remove
(Beinhaltet das Überspringen für den schnellsten Spiegel, wenn Sie sich fragen.)
In Fedora bedeutet das Orphan-Paket, dass es keine Kandidaten-Repos zum Aktualisieren gibt!
Wenn die verwaisten Pakete von Ihnen generiert wurden, deaktivieren Sie yum.repos.d / some.conf.
yum distro-sync
Bei anderen verwaisten Paketen kann der Befehl gefährlich sein.
yum remove $(package-cleanup --orphans)
Oder verwenden Sie einfach den Sicherheitsbefehl.
yum remove name-of-page
Eine andere Möglichkeit, diese Probleme zu vermeiden, ist die Verwendung von Transaktionen.
Nach dem Setup des Basissystems werden bei der Installation mit yum Transaktionen erstellt. Wenn Sie Dinge entfernen möchten, setzen Sie die Transaktionen zurück.
netbeans-platform
sowie nach der Paketbereinigung werden einige Dinge aufgelistet, jedoch keine der zuvor installiertennetbeans-platform
Abhängigkeiten (unter Verwendung von Fedora 17).