Ich weiß, wie man die Abhängigkeiten eines deinstallierten Pakets entfernt. und ich versuchte es
apt-get autoremove
Dadurch werden jedoch keine Abhängigkeiten entfernt, die von anderen Paketen empfohlen / vorgeschlagen werden.
Das heißt, wenn ich ein Paket X installiere, das Y empfiehlt, aber Y nicht installiere, und dann Paket Z installiere, das von Y abhängt
apt-get remove --auto-remove Z
dann wird Y nicht automatisch entfernt, obwohl nichts davon abhängt. (X "nahm" Y auf, obwohl es nicht davon abhängt).
apt
package-management
user2809402
quelle
quelle
Antworten:
Wenn Sie empfohlene Pakete von Ihrem System entfernen möchten, obwohl noch einige installierte Pakete diese empfehlen (oder vorschlagen), fügen Sie Folgendes in die Datei ein
/etc/apt/apt.conf.d/99_norecommends
(erstellen Sie sie):Die Dokumentation für diese Optionen finden Sie hier .
Dann sollte der nächste apt-Lauf alle entfernen. Wenn dies nicht der Fall ist, starten Sie
aptitude
und geben Sie gund gerneut ein.Diese Konfiguration deaktiviert auch die automatische Installation der empfohlenen Pakete bei Verwendung
apt-get
. Füraptitude
sie von der Konsole GUI durchgeführt werden können, Menü Extras> Einstellungen> „Installieren von Paketen automatisch empfohlen“ (Markierung aufheben it).quelle
InstallRecommends
Behinderten. Für den Datensatz war es standardmäßig deaktiviert, bis Debian Squeeze veröffentlicht wurde, also seit Februar 2011 (keine Ahnung von Ubuntu). Darüber hinaus benötigen Sie möglicherweise nicht dieselbe Konfiguration auf einem Server oder einem Desktop-Setup.Überschreiben von APT-Optionen
Im Gegensatz zu Abhängigkeiten können automatisch installierte "empfohlene" oder "vorgeschlagene" Pakete von ignoriert werden
apt-get autoremove
.Wie an anderer Stelle beschrieben, kann dieses Verhalten von APT in der Konfiguration geändert werden.
Ebenso kann die Konfiguration des
apt-get
Befehls vorübergehend über die-o
Befehlszeilenoption geändert werden .Auf diese Weise würden Sie die automatische Entfernung erzwingen, um verbleibende "empfohlene" und "vorgeschlagene" Pakete zusätzlich zu nicht verwendeten Abhängigkeiten zu entfernen.
Vorsicht!
Einige Funktionen können verloren gehen. Seien Sie darauf vorbereitet, Dinge zu untersuchen und neu zu installieren. Es kann einfacher sein, diese Pakete in Ruhe zu lassen.
Andere Optionen
Um die 'empfohlenen' und 'vorgeschlagenen' Pakete nur für ein bestimmtes Paket zu deinstallieren, schauen Sie sich das apt-Verlaufsprotokoll an.
quelle
apt-get
-s
grep ^Remv
apt-get autoremove -s -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 | grep ^Remv
Tatsächlich lautet der Befehl:
Das hat aber einen Trick! Wenn in einer der Abhängigkeiten bereits andere Pakete installiert sind, die diese empfehlen / vorschlagen, werden sie von apt nicht entfernt.
Sie haben nicht angegeben, welches Paket es ist, aber wenn ich zum Beispiel das IcedTea-Plugin installieren würde, würde es Java / OpenJRE durch Abhängigkeiten installieren. Wenn ich sie mit deinstalliere, werden
sudo apt-get autoremove icedtea-7-plugin
Sie feststellen, dass Java / OpenJRE nicht entfernt wird, da LibreOffice auch die Pakete vorschlägt.Um sie zu entfernen, müssen Sie übermäßig genau wissen, welches Paket Sie deinstallieren möchten, was normalerweise
autoremove
nicht der Fall ist :Auf diese Weise können Sie sicher sein, dass Ihr Paket entfernt wird.
Sie können auch deborphan verwenden, um einige Abhängigkeiten zu entfernen.
quelle
deborphan
aber bei Deborphan fehlen möglicherweise noch einige Pakete. Sie können dieDebug::
Optionen verwenden und auch meine andere Antwort dazu überprüfen . Sie können auch die--no-install-recommends
Option verwenden , aber apt-get installiert standardmäßig keine vorgeschlagenen Pakete.Richtig, wenn Sie ein Paket
<Z>
mit Abhängigkeiten entfernen möchten, geben Sie einfach Folgendes ein:quelle
autoremove
systemweit. Wenn Sie also anrufenautoremove
, werden alle nicht verwendeten Pakete auf Ihrem System entfernt. Wenn Sie ein Paketautoremoving
installieren , wird das System in der Regel nicht in den gleichen Status zurückversetzt, sondern es verbleiben einige "übrig gebliebene" Pakete.