Differences between version 10 and previous revision of PackageManagement.
Other diffs: Previous Major Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 10 | Last edited on Tuesday, September 23, 2003 5:37:14 am | by AristotlePagaltzis | Revert |
Older page: | version 7 | Last edited on Saturday, July 19, 2003 6:08:16 am | by AristotlePagaltzis | Revert |
@@ -1,18 +1,10 @@
-One
of the major points of difference between LinuxDistributions is the PackageManagementTool they use
.
+PackageManagement gives the SystemAdministrator (whether that be an administrator of a large network of machines, or Joe Schmoe at his single-user Linux desktop) rapid, easy control over which [Package]s are installed. The [Package] format and corresponding PackageManagementTool used is one
of the major points of difference between [LinuxDistribution]s
. In general, PackageManagement has to perform at least the following tasks:
-A PackageManagementTool is a program
, or set of programs, that give the system administrator (whether that be an administrator of
a large network
of machines
, or Joe Public at his single-user Linux desktop) rapid
, easy control over which packages are installed
.
+* install [Package]s
,
+* maintain
a database
of already installed ones
,
+* upgrading them
,
+* and uninstalling [Package]s
.
-Most [PackageManagementTool]s revolve around binary distributions of packages. That
is, they consult
a repository of pre-compiled packages and install the package best suited
to your system architecture. They may
also offer source packages, allowing you
to build
the package locally with whatever patches and optimization or configuration options you may have chosen. Other [PackageManagementTool]s are source based -
they may not even provide binary packages at all, but at least try really hard
to avoid them. These download the sources for
a package, apply any vendor-provided patches, then compile
on the local machine
. This process takes considerably longer
, but
some people swear it gives them much better performance. It does have the advantage that you can taylor the system very closely to your desires, but is not much fun on slow machines, particularly for the desktop where such mammoths as
[GNOME
],
[KDE
],
[Mozilla
], and [OpenOffice] are waiting to occupy your machine for hours
on end
.
+It
is nowadays commonly considered
a required for PackageManagement
to also address dependencies - which means it should make sure
to at least notify
the SystemAdministrator when
they're trying
to install
a [Package] that won't work because it depends
on other software not currently installed
. For example
, some [GUI
] application may require
[GTK+
] and/or
[GNOME
] libraries to run. These are of course also provided as [Package]s. Those may again depend on other packages
, which may in turn have their own dependecies -
and so
on.
-In general, features offered by a PackageManagementTool are:
-
-* a repository of packages which the administrator
can install on their machine(s)
-* a database of already installed packages
-* easy ways to uninstall packages
-* easy ways to upgrade packages
-* etc
-
-An important point PackageManagement has to address is dependencies. For example
, while trying to install [X-Chat|http://www.x-chat.org], a graphical IRC client, you may find yourself having to look for [GTK+] and/or [GNOME] library packages it depends on. In turn, trying to install those may have you looking for further packages they depend on, which may again have their own unfulfilled dependecies - and so on. Installing
any not entirely trivial package can take ages and turn out to be a very frustrating job. Source based distributions have intelligent dependency management by default
, while the binary based distributions usually rely on ''front-ends''
to ease the laborous task of meeting all the dependencies of a particular package.
-
-A link to a comparison
of package formats
, originally seen on
[Slashdot
]:
-http://www
.kitenet.net/~joey/pkg-comp/
+As you
can imagine
, installing
any not entirely trivial package can take ages and turn out to be a very frustrating job. Therefor
, most contemporary [PackageManagementTool]s were designed
to ease the laborous task of meeting all the dependencies of a particular package by resolving them automatically
. Binary based distributions usually rely on ''front-ends'' such as [APT] built on top
of their original more simple-minded [PackageManagementTool]s
, while source based distributions tend to have intelligent dependency management by default. To be able to automatically resolve dependencies, such
[PackageManagementTool
]s use an external repository (or several ones) of [Package]s which
.