Among the metadata, you have the maintainer scripts, preinst, postinst, prerm,
and postrm to do the right things as packages are being installed and
removed.
New additions are config (debconf which lets you do all user interaction at the
same time), template (debconf defaults), and trigger (rebuilding man page
indexes at package install time for instance can be slow, so trigger lets you
delay that).
Dpkg is the low level tool used to manipulate packages and manage the package status information. Dpkg calls dpkg-deb to do the actual work with debian packages, which allows for other other formats like dpkg-rpm
The dpkg database (/var/lib/dpkg) contains available, status, diversions which
are all 3 text files and the alternatives directory.
Status stores both the current and wanted state of a package. It has a copy
of the package control information for installed packages: wanted state
(unknown, install, hold, deinstall, purge), error state (ok, reinstreq), current
state (not-installed, unpacked, half-configured, installed, half-installed,
config-files)
libapt-pkg tries to make sure that complex upgrades work correctly, which can be
iffy when you upgrade C libraries.
libapt also has the code to retreive packages from multiple sources (file, http,
ftp, cdrom, ...)
Dselect is the old install tool, which isn't very user friendly. Wichert calls it a "failed experiment in C++". Most people simply use apt instead, even though it doesn't have a GUI frontend.
dpkg-divert lets you tell dpkg to move new files from installed packages to
another name so that it doesn't modify some local version you might have.
update-alternatives lets you change the symlink for a function program like
editor can point to the program of your choice.
Making packages:
Picture library | Back to Main Page | Next page |
2001/01/28 (15:22): Version 1.0