Ich habe Pipelight gemäß dieser Anleitung aus dem PPA-Archiv installiert.
Der Installationsbefehl sudo apt-get install --install-recommends pipelight-multi
war nur für ein Paket, aber es erforderte das Herunterladen und Installieren von etwa 180 Abhängigkeitspaketen, von denen etwa 40 Upgrades auf derzeit installierte Pakete waren.
Daher wurden etwa 140 neue Pakete installiert.
Pipelight hat danach nicht funktioniert, also habe ich es entfernt:
sudo apt-get purge pipelight-multi
Es wurden keine anderen Pakete entfernt.
Ich habe dann sudo apt-get autoremove
verwendet . Dieser Befehl entfernt alle automatisch entfernbaren Pakete. Es gab genau 100 davon (es gab auch genau 100 Pakete in der „Autoremovable“-Liste von Synaptic Package Manager).
So blieben etwa 40 Pakete übrig, die nicht als automatisch entfernbar galten und daher nicht entfernt wurden. Ich musste sie manuell entfernen.
Es gab keine unerfüllten Abhängigkeiten auf meinem System, bevor ich Pipelight installiert habe; und ich hatte keine Pakete als manuell installiert, installiert oder entfernt oder irgendetwas anderes markiert. Zwischen der Installation und dem Entfernen von Pipelight vergingen nur etwa zehn Minuten.
Warum wurden nach dem Entfernen von Pipelight nicht alle unnötigen Abhängigkeiten als automatisch entfernbar markiert?
Akzeptierte Antwort:
Meine beste Vermutung ist, dass die 40 Pakete von anderen Paketen empfohlen wurden, die Sie bereits installiert hatten; pipelight-multi zusammen mit --install-recommends
Option bewirkte, dass sie installiert wurden, aber sie wurden aufgrund dieser Empfehlungen nach ihrer Entfernung beibehalten. Da Sie die Pakete manuell entfernt haben, ist es schwer festzustellen, aber in Zukunft können Sie aptitude why ${package}
ausführen für jedes Paket, das Ihrer Meinung nach automatisch entfernt werden sollte, und aptitude
wird Ihnen sagen, warum es aufbewahrt wird.
Die Mechanik dahinter ist nicht unbedingt intuitiv. Wenn ein Paket als automatisch entfernbar gekennzeichnet ist, entweder manuell oder automatisch (im letzteren Fall, weil es automatisch installiert wird, um eine Abhängigkeit oder Empfehlung zu erfüllen), ist das Auto-Removal-Flag die einzige gespeicherte Information; das System merkt sich nicht, warum ein Paket automatisch installiert wurde. Solche Pakete werden nur so lange aufbewahrt, wie ein anderes Paket von ihnen abhängt oder sie empfiehlt (dies ist die Standardeinstellung, sie kann geändert werden).
All dies würde Ihre Situation wie folgt erklären. Sie haben bereits ein anderes Paket, A
, Eingerichtet; Dieses Paket empfiehlt B
aber letzteres ist nicht installiert. Sie installieren pipelight-multi
was auch B
empfiehlt; vorausgesetzt, Sie haben ausdrücklich --install-recommends
angegeben , kennen wir B
wird dann zusammen mit pipelight-multi
installiert . Wenn Sie pipelight-multi
entfernen und führen Sie apt-get autoremove
aus , B
ist als automatisch entfernbar markiert und wird überprüft, aber weil A
ist noch installiert, B
bleibt erhalten, obwohl das Paket, das die Installation verursacht hat, verschwunden ist. Weil A
empfiehlt nur B
, können Sie B
manuell entfernen um zur Ausgangssituation zurückzukehren.