Wie entferne ich die Abhängigkeiten eines deinstallierten Pakets?


48

Ich möchte ein Paket (DigiKam) installieren, aber es hat viele Abhängigkeiten. Wenn ich beschließe, diese Software nicht mehr zu benötigen und zu deinstallieren, werden die jetzt nicht mehr benötigten Abhängigkeiten entfernt?

Wenn nicht, wie kann ich es manuell machen?

Antworten:


80

Sie können den Befehl verwenden apt-get autoremove. Es werden Pakete entfernt, die als automatische Abhängigkeiten installiert, aber nicht mehr abhängig sind.

apt-getverfügt über ein Flag --auto-remove, mit dem die automatisch installierten Pakete beim Entfernen eines manuell installierten Pakets automatisch entfernt werden können:

apt-get remove --auto-remove packagename

Bestimmte andere Tools sind ebenfalls in der Lage, dies zu tun. Beispielsweise aptitudewird automatisch vorgeschlagen, dass Sie die verwaisten Pakete entfernen.

Die automatisch installierte Paketverfolgung ist in apt integriert, sodass die Verfolgung funktionieren sollte, unabhängig davon, mit welchem ​​Tool Sie die Pakete installieren.


Die Antwort wäre also, dass es beim Entfernen des "Eltern" -Pakets NICHT automatisch gemacht wird, oder?
jfoucher

Dies hängt von der Methode ab, mit der Sie das übergeordnete Paket entfernen. Aptitude schlägt beispielsweise vor, dass diese Pakete entfernt werden, wenn Sie das übergeordnete Paket deinstallieren. Dies ist jedoch nicht bei allen Tools der Fall.
Ressu

Sie können ein Paket und alle jetzt nicht mehr benötigten Abhängigkeiten in einem Schritt mit entfernen sudo apt-get remove --auto-remove package.
Marius Gedminas

Der Unterschied zwischen Autoremove und --auto-remove ist etwas unklar. Kann ich sie kombinieren?
Johny, warum

@johnywhy das Flag soll ein Parameter für den Befehl remove sein, während der Befehl auto-remove ein eigenständiger Befehl ist. Ich bezweifle, dass Sie sie kombinieren können, aber ich kann im Moment nicht überprüfen, ob dies der Fall ist.
Ressu

10
aptitude purge digikam
deborphan
aptitude purge $(deborphan)

deborphanlistet Pakete auf, die nicht verwendet werden oder nicht abhängig sind. So können Sie sie sicher deinstallieren. Ich neige dazu, purgeals Option zu verwenden, aptitudeweil es auch Konfigurationsdateien und andere Sachen entfernt.


Bei der Verwendung von Deborphan ist es oft notwendig, es einige Male hintereinander auszuführen, oder zumindest war es meine Erfahrung damit. Es schien immer neue Sachen zu finden.
mfisch

Ja, das stimmt. Jemand hat eine Verbesserung für Deborphan geschrieben. Aber das hat es nie in Debian geschafft. Der Algorithmus war besser und Sie mussten ihn nur einmal ausführen. Vielleicht würde ich den Autor fragen, ob er es erneut zu Debian / Ubuntu-Repos hinzufügen möchte.
qbi

Vielleicht kann ich es nicht verwenden, aber Deborphan möchte normalerweise viele Anwendungen, die ich tatsächlich verwende, sowie einige wichtige Systempakete entfernen.
Rafał Cieślak

1
aptitude purge <pkgname>ist sehr nützlich, um Pakete, deren Deinstallation fehlgeschlagen oder teilweise erfolgreich war, vollständig zu löschen. Ihr Status kann durch dpkg -L <pkgname>as aufgelistet werden , deinstallaber durch using aptitudewerden sie vollständig aus der Datenbank von aptitude entfernt, und veraltete Dateien, die durch die fehlgeschlagene Installation nicht entfernt wurden, schienen ebenfalls entfernt zu werden.
KomodoDave



3
sudo apt-get remove --auto-remove 

Nur das ausführen.

Installieren Sie BleachBit über das Software Center. Wenn Sie Ihr System damit bereinigen, führt BleachBit diesen Befehl automatisch aus, um den Apt-Cache zu bereinigen.


0

Ich hatte das gleiche problem Folgendes habe ich getan:

sudo apt-get check

Dieser Befehl gibt den Namen der Abhängigkeiten an. ZB hatte mein System chromium-browser-l10n.

Geben Sie dann den folgenden Befehl ein

sudo apt-get remove --auto-remove chromium-browser-l10n

Dadurch werden die Abhängigkeiten vollständig von Ihrem System entfernt

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.