Meta package and package group

From ArchWiki
Revision as of 05:30, 8 February 2019 by Larivact (talk | contribs) (Undo revision 566034 by Regid (talk) it is pretty clear that "new member" means new member and not "newer version of a member")
Jump to navigation Jump to search

A package group is a set of related packages, defined by the packager, which can be installed or uninstalled simultaneously by using the group name as a substitute for each individual package name. While a group is not a package, it can be installed in a similar fashion to a package, see Pacman#Installing package groups and PKGBUILD#groups.

Groups

The most important package groups are:

base

The base group contains:

base-devel

The base-devel group contains tools required to build many packages like GCC and make. See also makepkg#Usage.

Difference to a meta package

A meta package, often (though not always) titled with the "-meta" suffix, provides similar functionality to a package group in that it enables multiple related packages to be installed or uninstalled simultaneously. Meta packages can be installed just like any other package (see Pacman#Installing specific packages). The only difference between a meta package and a regular package is that a meta package is empty and exists purely to link related packages together via dependencies.

The advantage of a meta package, compared to a group, is that any new member packages will be installed when the meta package itself is updated with a new set of dependencies. This is in contrast to a group where new group members will not be automatically installed. The disadvantage of a meta package is that it is not as flexible as a group; you can choose which group members you wish to install but you cannot choose which meta package dependencies you wish to install. Likewise, you can uninstall group members without having to remove the entire group. However, you cannot remove meta package dependencies without having to uninstall the meta package itself.

See also