Nainstaloval jsem Pipelight z archivu PPA podle těchto pokynů.
Instalační příkaz, sudo apt-get install --install-recommends pipelight-multi
byl pouze pro jeden balíček, ale vyžadovalo to stažení a instalaci asi 180 závislých balíčků, z nichž asi 40 byly upgrady na aktuálně nainstalované balíčky.
Proto bylo nainstalováno asi 140 nových balíčků.
Pipelight následně nefungoval, tak jsem ho odstranil:
sudo apt-get purge pipelight-multi
Žádné další balíčky nebyly odstraněny.
Potom jsem použil sudo apt-get autoremove
. Tento příkaz odstranil všechny automaticky odstranitelné balíčky. Těch bylo přesně 100 (rovněž přesně 100 balíčků bylo v seznamu Synaptic Package Manager ‘Autoremovable’).
Zůstalo tedy asi 40 balíčků, které nebyly považovány za automaticky odstranitelné, a proto nebyly odstraněny. Musel jsem je odstranit ručně.
Před instalací Pipelight nebyly na mém systému žádné nesplněné závislosti; a neoznačil jsem žádné balíčky jako ručně nainstalované, nainstalované nebo odstraněné cokoli jiného nebo něco podobného. Mezi instalací Pipelight a jeho odstraněním uplynulo jen asi deset minut.
Proč tedy poté, co jsem odebral Pipelight, nebyly všechny jeho nepotřebné závislosti označeny jako automaticky odstranitelné?
Přijatá odpověď:
Můj nejlepší odhad je, že těch 40 balíčků bylo doporučeno jinými balíčky, které jste již nainstalovali; pipelight-multi spolu s --install-recommends
volba způsobila, že byly nainstalovány, ale po jeho odstranění byly kvůli těmto doporučením zachovány. Protože jste balíčky odstranili ručně, je těžké to určit, ale v budoucnu můžete spustit aptitude why ${package}
pro každý balíček, o kterém si myslíte, že by měl být automaticky odstraněn, a aptitude
vám řekne, proč je uchováván.
Mechanika za tím nemusí být nutně intuitivní. Když je balíček označen jako automaticky odstranitelný, ať už ručně, nebo automaticky (v druhém případě, protože je nainstalován automaticky, aby vyhovoval závislosti nebo doporučení), je příznak automatického odstranění jedinou uloženou informací; systém si nepamatuje, proč byl balíček automaticky nainstalován. Takové balíčky jsou uchovávány pouze tak dlouho, dokud na nich závisí nějaký jiný balíček nebo je doporučí (toto je výchozí nastavení, lze jej změnit).
To vše by vysvětlovalo vaši situaci následovně. Již máte nějaký jiný balíček, A
, nainstalovaný; tento balíček doporučuje B
ale ten druhý není nainstalován. Nainstalujete pipelight-multi
který také doporučuje B
; za předpokladu, že jste výslovně uvedli --install-recommends
, známe B
se poté nainstaluje spolu s pipelight-multi
. Když odeberete pipelight-multi
a spusťte apt-get autoremove
, B
je označeno jako automaticky odstranitelné a bude zaškrtnuto, ale protože A
je stále nainstalován, B
je zachován, i když balíček, který způsobil jeho instalaci, je pryč. Protože A
doporučuje pouze B
, můžete ručně odstranit B
abyste se dostali zpět do výchozí situace.