Next Previous Contents

10. Keeping Your Debian System Up To Date

10.1 How can I upgrade my Debian 1.3.1 (or earlier) distribution, based on libc5, to 2.0 (or later), based on libc6?

There are several ways to upgrade:

10.2 How can I keep my Debian system current?

One could simply execute an anonymous ftp call to a Debian archive, then peruse the directories until he finds the desired file, and then fetch it, and finally install it using dpkg. Note that dpkg will install upgrade files in place, even on a running system. Sometimes, a revised package will require the installation of a newly revised version of another package, in which case the installation will fail until/unless the other package is installed.

Many people find this approach much too time-consuming, since Debian evolves so quickly---typically, a dozen or more new packages are uploaded every week. This number is larger just before a new major release. To deal with this avalanche, many people prefer to use an automated programs. Several different packages are available for this purpose:

10.3 Must I go into single user mode in order to upgrade a package?

No. Packages can be upgraded in place, even in running systems. Debian has a start-stop-daemon program that is invoked to stop, then restart running process if necessary during a package upgrade.

10.4 Do I have to keep all those .deb archive files on my disk?

No. If you have downloaded the files to your disk (which is not absolutely necessary (see dpkg-ftp or dftp)), then after you have installed the packages, you can remove them from your system.

10.5 How can I keep a log of the packages I added to the system?

dpkg keeps a record of the packages that have been unpacked, configured, removed, and/or purged, but does not (currently) keep a log of terminal activity that occured while a package was being so manipulated. Some users overcome this simply by using tee:

dpkg -iGOEB -R stable/binary non-free/binary contrib/binary | \
    tee -a /root/dpkg.log

The same command written using long options:

dpkg --install --refuse-downgrade --selected-only \
  --skip-same-version --auto-deconfigure \
  --recursive stable/binary non-free/binary contrib/binary | \
    tee -a /root/dpkg.log


Next Previous Contents