Why you should be aware of the consequences of deleting a meta-package and how to hide menu items as an alternative strategy

This article/tutorial has been written to address the concerns expressed by some people about removing specific applications from the Ubuntu-Mate desktop and where such removal has precipitated a warning from their system that the Ubuntu-Mate meta-package would be removed in the process.

The advice (and consequent tutorial) given here is that users would be advised to not try and remove a bundled app from a meta package and, instead, simply hide its menu entry and then just forget about it. Not because its removal will immediately break a person's system, but because it will have deleterious implications for any consequent upgrades to that system. The reason being that such upgrades are to the meta-package as a whole. Thus, following removal of a specific application from that meta-package, the meta-package (in it's original form) would cease to exist. For more details on this, see below for an official explanation I have lifted from the Ubuntu main site and/or proceed to the tutorial at the bottom of this post on how to hide menu items.


A meta-package, such as Ubuntu-minimal or Ubuntu-desktop, can have a long list of dependencies. So, when a meta-package is automatically removed by the removal or purging of any one, or more, of its underlying dependencies, all of the other packages that were in the meta-package's depends list are still installed on the system.

The first part appears to be saying that removal of a specific application or other dependency within the meta package does not bring down the actual desktop. So far so good.

If at a later time, there is an upgrade to the meta-package, the upgrade cannot occur, because the meta-package to be upgraded is no longer installed on the system. However when upgrading to new versions of Ubuntu the update-manager will check to see if you have the meta package installed before attempting to do an upgrade.

However, the second part appears to say that, although the desktop is not brought down, all subsequent upgrades are not going to work because they rely on upgrading the original (fully intact) meta-package. Obviously, if you have removed one or more of its dependencies, the original meta package no longer exists. However, if upgrading to a newer version of your desktop environment, an upgrade becomes possible because the update-manager will check to see if you have any missing dependencies. In which case, presumably, it will reinstall them. Meaning, presumably, you will need to remove them again. Not so good.

It may be possible to create a replacement meta-package to enable an upgrade, but some packages may then need to be removed or purged upon the upgrade of the meta-package. A meta-package which defines some Conflict or Replacement dependencies might be able to stop some of the unwanted packages from being reinstalled. Some trickery is needed.

Finally, this article then seems to say that all of the above problems may be addressed to some extent by "some trickery". If all you are after is just a desktop environment that works and behaves itself, this is not good at all.

All of which is why, as I mentioned earlier, my advice is always to simply hide the menu entry for the application that is not wanted. Then simply ignore its presence on the system. After all, unless disk space is an absolute premium, it's not as if its continued presence is going to affect anything. Then, if the user wants, they may install whatever alternative they wish. Or no alternative at all, of course.


How to hide menu items:

Right click the main menu and select "edit menu"

Navigate using the left pane to your sub menu of choice. Then, in the right pane, navigate to the specific menu entry. Once there, un-check the tick box next to the entry. Then close your menu editor down.

That's it. From now on, you wont see it in your menu and can forget about it.


5 posts were split to a new topic: Removal of meta-packages

I have removed the following bundled applications from 16.04 without any problems:

deja-dup galculator mate-icon-theme-faenza rhythmbox shotwell transmission-gtk ubuntu-mate-core ubuntu-mate-desktop xul-ext-gdata-provider xul-ext-lightning, and xul-ext-ubufox.

When uninstalling, I got the notification that the meta packages ubuntu-mate-core and ubuntu-mate-desktop would necessarily be removed, but Synaptic package manager informed me that it was safe to remove them if some of the bundled packages were not required.

When I upgraded to mate 1.14.1, sure a couple (but just a couple) of packages got re-installed, but I removed them again in a blink of an eye.

I had done the same thing with 15.10 without any problems.

But why bother? Why not just hide them in the Main Menu? Well, for one thing you can’t hide the Firefox and Thunderbird extensions in the Main Menu, although you can disable them in the applications themselves. For another, I find these applications give me an eyesore even when they are hidden.


A post was merged into an existing topic: Removal of meta-packages