Re: apt-get doesn't upgrade, but synaptic does
On 04/11/2014 09:28 PM, Patrick Bartek wrote:
> On Fri, 11 Apr 2014, PaulNM wrote:
>> On 04/11/2014 12:04 AM, Patrick Bartek wrote:
>>> Now, if "they" could come up with an efficient and effective way to
>>> uninstall/purge stuff installed via a metapackage. Or maybe there
>>> is and I just haven't found it. ;-)
>> apt-get autoremove
> Know about autoremove, but that's not what I meant. For example, let's
> say I install libreoffice using the metapackage libreoffice.
> 'apt-get install libreoffice'
> Fine. Everything is installed. Now, sometime later, I want to
> uninstall or purge libreoffice from the system. 'apt-get purge
> libreoffice' won't do it. I've done tests, and as far as I can tell
> little or nothing is removed. It seems the only way is to
> uninstall/purge each component individually and/or by using wildcards.
That's because the component is a dependency of something else,
On a testing VM I have:
"sudo apt-get purge libreoffice" purges libreoffice
"sudo apt-get autoremove"
removes fonts-sil-gentium fonts-sil-gentium-basic
One of the things "left behind" is libreoffice-writer, but:
paul@debguis2:~$ aptitude why libreoffice-writer
i gnome Depends libreoffice-writer | abiword (>= 2.8)
See, libreoffice-writer is needed by gnome. When I remove gnome,
libreoffice-writer (along with a bunch of other packages) wants to be
removed by an autoremove run.
Libreoffice is a bad example for this because alot of things use parts
of it. Removing kde-full results in over 500 packages being removed on
the "apt-get autoremove" run afterwards.
> Wouldn't it make sense for the metapackage to uninstall as well? It
> would certainly make things easier.
No, because there's no way for the metapackage to know if any of the
packages are dependencies of something else, or are otherwise needed
(manually installed). That's the job of the package manager.
If you really want to be sure, look into gtkorphan/deborphan. That'll
also be useful on older installs that started before apt kept track of
whether a package was automatically installed or not.