I have the following sources enabled: main, universe, restricted and multiverse. On Ubuntu Software Center on 11.10 I see two packages for Emacs:

What is the difference between metapackage version and non-metapackage one?

By the way, this thread What differences are there between the various version of Emacs available? also explains the difference between two Emacs versions: Emacs and Emacs-snapshot, and interestingly I don't see these packages now on my Ubuntu Software Center.


You can see from the descriptions.

For emacs, the metapackage, we have

Description-en: The GNU Emacs editor (metapackage)
 GNU Emacs is the extensible self-documenting text editor.
 This is a metapackage which will always depend on the latest Emacs

while for the other we have

Description-en: The GNU Emacs editor
 GNU Emacs is the extensible self-documenting text editor.
 This package contains a version of Emacs with a Lucid user interface.

So you should install the first, that should automatically bring in the current version of emacs as a dependency.


A metapackage is a package that do not provides the files of an application per se, but it lives only because of its dependencies. When you install it, also dependencies get installed (a metapackage has also other characteristics, but it is enough here).

If you run apt-cache show emacs | grep Depends, you would get the following output:

Depends: emacs23 | emacs23-lucid | emacs23-nox

and it means that when you install emacs, it needs one of that three packages. How the package manager choose which one to install, I don't know.

  • Thanks @enzotib, but I still don't fully understand the difference. What is the difference between a metapackage and a package? Is this a distinction that Ubuntu or the Unix/Linux community makes between packages? Also, does the second package have a Lucid user interface, while the first one a Oneiric one? – Amelio Vazquez-Reina Dec 17 '11 at 18:08

A metapackage is for your convenience. Think of it as a container of packages. (It's a package of packages, hence the name meta-.)

Metapackages are intended to make it easier to install stuff. Sometimes they group a number of packages (either regular packages or other meta packages) together. Other times they automatically choose the exact package version for you without you having to know any of the details.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.