One of Debian goals is to provide a consistant upgrade path and a secure upgrade process, and we always do our best to make the new release smoothly upgradable from the previous ones. In case there's some important note to add to the upgrade process, the packages will alert the user, and often provide a solution to a possible problem.
You should also read the Release Notes, document that describes the details of
specific upgrades, shipped on all Debian CDs, and available on the WWW at
http://www.debian.org/releases/stable/i386/release-notes/
.
There are several ways to upgrade:
Currently, the latest release of autoup.sh may be found on the following locations:
libc5-libc6-Mini-HOWTO
and upgrade the most important packages by hand. autoup.sh is
based on this Mini-HOWTO, so this method should work more or less like using
autoup.sh.
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:
APT is a management system for software packages, namely Debian binary and
source packages. apt-get is the command-line tool for handling packages, and
APT dselect method is an interface to APT through dselect
, both of
which provide a simpler, safer way to install and upgrade packages.
APT features complete installation ordering, multiple source capability and several other unique features, see the User's Guide in /usr/share/doc/apt/guide.html/index.html.
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.
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
names of which match user-specified strings, this program is most useful when
the objective is to download whole directory trees, rather than selected
packages.
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
(see dselect, Section 7.1.2), 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.
dpkg-mountable adds an access method called `mountable' to dselect's list, which allows you to install of any filesystem specified in /etc/fstab (e.g. a normal hard disk partition, or an NFS server), which it will automatically mount and umount for you if necessary.
It also has some extra features not found in the standard dselect methods, such as provision for a local file tree (either parallel to the main distribution or totally separate), and only getting packages which are required, rather than the time-consuming recursive directory scan, as well as logging of all dpkg actions in the install method.
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 above for dpkg-ftp or dftp descriptions), 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
, like this:
dpkg -iGOEB -R main/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 main/binary non-free/binary contrib/binary | \ tee -a /root/dpkg.log