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?

jfoucher
quelle

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.

Ressu
quelle
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.

qbi
quelle
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
5

Dies kann auch der Computer Janitor im Systemmenü tun.

Javier Rivera
quelle
4

Ich benutze Ubuntu Tweak , es hat ein sehr effizientes App-Reinigungsprogramm, das nie mehr entfernt wurde, als es sollte.

Victor9098
quelle
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.

Neugieriger Lehrling
quelle
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

Jefferson X Masonic
quelle