What is the difference between a meta-package and a package?

These packages do not contain actual software, they simply depend on other packages to be installed.

It is important to note that removing a meta package does NOT remove the packages it installed:

when a metapackage 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 metapackage's depends list are still installed on the system.

You can look at the structure of a typical meta package by pulling (for example) ubuntu-desktop:

apt-get source ubuntu-desktop

and then looking at the structure, you'll find the list of packages each meta-package recommends, as well as the structure of putting it all together in debian/rules.

References:

  • https://help.ubuntu.com/community/MetaPackages
  • How to create a meta-package that automatically installs other packages?

Metapackages are a link to existing package or packages. So they are essentially a script that installs other packages.They keep the packages as dependencies

Eg: the package ubuntu-desktop installs all the packages needed for the Default UI for ubuntu. But uninstalling the same does not uninstall its dependencies


A meta-package pulls in other packages, and by definition should not do anything else.

A package usually has some sort of content (files, applications, documentation, a script, or such).