[clug] apt naming convention

Paul TBBle Hampson Paul.Hampson at Pobox.com
Sun Jan 7 11:21:14 GMT 2007

On Sun, Jan 07, 2007 at 09:18:25PM +1100, Chris Smart wrote:
> I'm playing with Debian on a box of mine and I'm a little confused.
> Installing various packages from the repository I generally just do
> "apt-get install package" but sometimes it's not available and I find
> variants. Sometimes it is there but there are other options, like
> package-bin, package-common, even package-new or package-old, sometimes
> has versions like package-2 or package2 and sometimes package as well as
> package-common with the same description? Some are libpackage others are
> package-lib.. etc

There's some conventions, and there's some stuff left to maintainer

libblahx is the shared library libblah soversion x. If blah ends in
a digit (or a +) then it's -x. And if there's a reason to support
parallel API versions, that might be libblax-API-x, but it may not
be. (The -dev package _will_ show the API version if neccessary).

A quick survey suggests blah-lib is usually not providing shared
libraries for system use, but are language-specific libraries for
non-C languages (eg. guile-1.x-lib, ocaml-libs)

blah-bin will usually be the binary components of a program, and
blah-data or blah-common will be the non-binary (ie. non-arch specific)
components that live in /usr/share and can therefore safely be shared
across architectures (eg reducing archive duplication, or letting you
have one NFS-shared /usr/share for a whole network of Debian boxes in

package-2 and package2 (except in the case of lib* where the style is
dictated) are maintainer-aesthetics, and usually only occur when there's
a reason for an earlier version to co-exist with the newer version.

A lot of the above are because dpkg (as opposed to RPM, I understand?)
absolutely forbids multiple versions of a package with the same name
being installed simultaneously.

The only -new packages that came to hand quickly were amavisd-new, and
that's the actual upstream name (Out of amavis, amavis-perl, amavisd,
amavis-ng and amavisd-new, only this one seems to have survived [1]),
and template-new, which is actually known as 'new' upstream, and so it's
the "template-" that'll confuse the person looking for it by name in
this case. ^_^

> Some others make sense to me like postfix-mysql and postfix-ldap,
> apf-client and apf-server, but in general the naming convention seems
> strange to me. There is apache-common, apache2-common and apache2.2-common
> and I'm confused.

That one's easy. Those're the common files for Apache 1.3, Apache 2.0
and Apache 2.2.

They basically provide a package modules can depend on to say "I
implement this ABI". This allows apt to hold back upgrading your
apache from 2.0 to 2.2 until all the modules you have installed
can upgrade simultaneously, preventing partial-upgrade breakages.

Of course, you can either force the partial upgrade by removing
the not-updated modules, or you don't get any updates until the
whole shebang (at least as far as your installation goes) has
updated. This is the dreaded "transition" that Debian suffers
a few of fairly soon after each stable release.

[1] http://www.amavis.org/download.php3

Sorry for the length of reply, I've had my head buried in Debian
RC-bug hunting all evening.

Paul "TBBle" Hampson, B.Sc, LPI, MCSE
On-hiatus Asian Studies student, ANU
The Boss, Bubblesworth Pty Ltd (ABN: 51 095 284 361)
Paul.Hampson at Pobox.Com

Of course Pacman didn't influence us as kids. If it did,
we'd be running around in darkened rooms, popping pills and
listening to repetitive music.
 -- Kristian Wilson, Nintendo, Inc, 1989

License: http://creativecommons.org/licenses/by/2.1/au/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.samba.org/archive/linux/attachments/20070107/abe5d6e3/attachment.bin

More information about the linux mailing list