Ho installato Pipelight dall'archivio PPA, secondo queste istruzioni.
Il comando di installazione, sudo apt-get install --install-recommends pipelight-multi
era per un solo pacchetto, ma comportava il download e l'installazione di circa 180 pacchetti di dipendenze, di cui circa 40 erano aggiornamenti ai pacchetti attualmente installati.
Pertanto, sono stati installati circa 140 nuovi pacchetti.
Pipelight successivamente non ha funzionato, quindi l'ho rimosso:
sudo apt-get purge pipelight-multi
Nessun altro pacchetto è stato rimosso.
Ho quindi usato sudo apt-get autoremove
. Questo comando ha rimosso tutti i pacchetti rimovibili automaticamente. C'erano esattamente 100 di questi (c'erano anche esattamente 100 pacchetti nell'elenco "Automovibili" di Synaptic Package Manager).
Quindi questo ha lasciato circa 40 pacchetti che non erano considerati rimovibili automaticamente e quindi non sono stati rimossi. Ho dovuto rimuoverli manualmente.
Non c'erano dipendenze non soddisfatte sul mio sistema prima di installare Pipelight; e non avevo contrassegnato nessun pacchetto come installato manualmente, installato o rimosso nient'altro o qualcosa del genere. Sono trascorsi solo una decina di minuti tra l'installazione e la rimozione di Pipelight.
Quindi, dopo aver rimosso Pipelight, perché tutte le sue dipendenze non necessarie non sono state contrassegnate come rimovibili automaticamente?
Risposta accettata:
La mia ipotesi migliore è che i 40 pacchetti siano stati consigliati da altri pacchetti che avevi già installato; pipelight-multi insieme a --install-recommends
l'opzione ne ha causato l'installazione, ma sono stati mantenuti dopo la sua rimozione a causa di tali raccomandazioni. Dal momento che hai rimosso i pacchetti manualmente è difficile da determinare, ma in futuro puoi eseguire aptitude why ${package}
per ogni pacchetto che ritieni debba essere rimosso automaticamente e aptitude
ti dirà perché viene conservato.
I meccanismi alla base di questo non sono necessariamente intuitivi. Quando un pacchetto viene contrassegnato come rimovibile automaticamente, manualmente o automaticamente (in quest'ultimo caso, perché è installato automaticamente per soddisfare una dipendenza o una raccomandazione), il flag di rimozione automatica è l'unica informazione memorizzata; il sistema non ricorda perché un pacchetto è stato installato automaticamente. Tali pacchetti vengono mantenuti solo finché un altro pacchetto dipende da essi o li consiglia (questa è l'impostazione predefinita, può essere modificata).
Tutto questo spiegherebbe la tua situazione come segue. Hai già qualche altro pacchetto, A
, installato; questo pacchetto consiglia B
ma quest'ultimo non è installato. Installi pipelight-multi
che consiglia anche B
; dato che hai specificato esplicitamente --install-recommends
, conosciamo B
viene quindi installato insieme a pipelight-multi
. Quando rimuovi pipelight-multi
ed esegui apt-get autoremove
, B
è contrassegnato come rimovibile automaticamente e viene controllato, ma perché A
è ancora installato, B
viene mantenuto, anche se il pacchetto che ne ha causato l'installazione è scomparso. Perché A
consiglia solo B
, puoi rimuovere manualmente B
per tornare alla situazione iniziale.