
Mein Problem
Ich wollte eine Software von Hand erstellen. Daher habe ich alle Abhängigkeiten mithilfe von installiert dnf install <a> <b> <c>
.
Dann brauchte ich diese Software nicht mehr und wollte auch alle Abhängigkeiten davon deinstallieren. Dabei wurden aber yum remove <a> <b> <c>
alle Pakete entfernt, auch wenn ein anderes installiertes Paket noch von einem dieser Pakete abhängt ( <b>
z. B. ).
Was ich versucht habe
- Ich habe das gelesen
man dnf
, konnte aber keinen passenden Befehl finden.
Meine Frage
Was ist der einfachste Weg, um:
- Informieren Sie sich, welche der Pakete
<a>
,<b>
und<c>
noch von anderen Paketen benötigt werden. dnf remove
alle Pakete aus meiner Liste mit Paketen, die ich nicht mehr benötige (<a>
,<b>
und<c>
), aber entferne die Pakete nicht vom Punkt(1.)
.
Irgendeine Idee?
Vielen Dank für Ihre Hilfe. Wenn etwas unklar ist, schreiben Sie bitte einen Kommentar, dann füge ich weitere Details hinzu.
Antwort1
Für Fedora können Sie verwendenPaketbereinigung, beispielsweise mit der --leaves
Option.
--leaves Listet Blattknoten in der lokalen RPM-Datenbank auf. Blattknoten sind RPMs, auf die sich kein anderes RPM verlässt.
Antwort2
Mit Yum würden Sie den package-cleanup
Befehl von verwenden yum-utils
. Aber mit DNF ist es als Befehl integriert dnf autoremove
. Vondie Dokumente:
dnf [options] autoremove
Entfernt alle „Blatt“-Pakete aus dem System, die ursprünglich als Abhängigkeiten von benutzerinstallierten Paketen installiert wurden, von diesen Paketen jedoch nicht mehr benötigt werden.
Beachten Sie, dass Sie den Befehl auch verwenden können, dnf list
um zu sehen, welche Pakete entfernt werden würden, bevor Sie automremove selbst ausführen, mit
dnf list autoremove
Beachten Sie auch, dass DNF einen weiteren Verhaltensunterschied aufweist, der Ihnen in ähnlichen Situationen (aber nicht in Ihrem genauen Fall) helfen sollte. Wenn Ihre Hauptsoftware von DNF installiert wurde (und nicht außerhalb von DNF manuell) und Sie verwendet haben dnf remove
, werden standardmäßig (anders als bei yum) auch alle Abhängigkeiten entfernt, die nur für dieses Paket hinzugefügt wurden und für nichts anderes verwendet werden.