The directory upgrades/ contains files needed by users upgrading
from Debian 0.93R6 to Debian 1.1 (or later). There are two ways to upgrade:
upgrade_manual.doc. You will also need the files
UpGrade, base_list, and dpkg-*.deb.upgrade_dselect.doc. You will also need
dpkg-*.deb.Note that the version of dpkg in this directory has the
a.out binary format. The versions of dpkg in the development
and stable trees have the ELF format.
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. Three different packages are available for this purpose:
dpkg-ftp
.
This is an access method for dselect. It can be invoked from within
dselect, thereby allowing a user the ability to download files
and install them directly in one step. To do this, bring up the
dselect program, choose option "0" ("Choose
the access method to use"), highlight the option "ftp"
then specify the remote hostname and directory.
dpkg-ftp will then automatically download the files that are
selected (either in this session of dselect or earlier ones).
Note that, unlike the mirror program,
dpkg-ftp does not grab everything at a mirror site.
Rather, it downloads only those files which you have selected (when first
starting up dpkg-ftp), and which need to be updated.
dpkg-ftp is available in the directory
stable/binary-all/net/ on any Debian archive.
mirror. This Perl script, and its (optional) manager program
called mirror-master, can be used to fetch user-specified parts
of a directory tree from a specified host via anonymous ftp.
mirror is particularly useful
for downloading large volumes of software. After the first time files have
been downloaded from a site, a file called .mirrorinfo is
stored on the local host. Changes to the remote filesystem are
tracked automatically by mirror, which compares this file to
a similar file on the remote system and downloads only changed files.
The mirror program is generally useful for updating local copies of
remote directory trees. The files fetched need not be Debian files.
(Since mirror is a Perl script, it can also run on non-Unix systems.)
Though the mirror program provides mechanisms for excluding files whose
names match user-specified strings, this program is most useful when
the objective is to download whole directory trees, rather than selected
packages.
The mirror program has been packaged for Debian, and is
found in the directory
stable/binary-all/net in the Debian FTP archive.
dftp
. This Perl script can
be used to fetch user-specified Debian packages from a specified host.
It begins by downloading the Packages.gz files for the directories
specified by the user (e.g. stable, contrib, non-free) and presents him
with a list of packages. These are placed in
various sections: new upgrades, downgrades, new packages, ignored
upgrades, and ignored packages. The user then selects the packages he wants
and dftp downloads and installs them. This makes it very easy to have
your Debian system 100% current all the time without downloading
packages that you are not going to install.
dftp can be used to call
dselect,
thereby providing an integrated way to fetch and update the Debian packages
on one's system. When the installation is finished, another dftp
command can be used to remove the package archive (".deb") files.
Changes to the remote filesystem are tracked automatically by
dftp, which compares the local Packages.gz file to the files on
the remote system.
The dftp program is available as a script in the directory
project/misc in the Debian FTP archive.
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.
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.
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