******************
We need this information, and any port specific details.
******************
The following packages have been renamed as shown. In most, if not all, cases, Conflicts:, Replaces:, and Provides: fields (or even dummy packages) have been provided so the new package will either get installed automatically, and/or will safely replace or remove the old one. This also includes packages that have been merged into other packages as this gives the same end result as a rename.
gimp -> gimp1.2 (GIMP1.2 release only) dict-web1913 -> dictgcide amcl -> gnome-mud rstart -> xutils rstartd -> xutils xspecs -> xbooks xfonts-cjk -> xfonts-base xcontrib -> xbase-clients xlib6g-static -> xlibs-dev listar -> ecartis cln -> libcln2 cln-dev -> libcln-dev pgp-i, pgp-us -> pgp cvs-doc -> cvs acm -> acm4 user-ja -> language-env expect5.31, expect5.24 -> expect user-ja -|> language-env
Although we have made every effort to complete this list, it may still not be
exhaustive.
Between releases 2.2 (`potato') and 3.0 (`woody'), a number of packages have been split into two or more packages. The reason for these splits, in general, is that the original package provided a diverse set of functionalities, and that few, if any, users used all of these components.Some packages will display a notice warning of the split during the installation, some mention it in the package description, and some just ignore it.
If you find that a familiar package is lacking some or all of its
functionality, check the list below to see if you need to install additional
packages to restore the original functionality. Failing that, check the
changelog for the package, which can be found in
/usr/share/doc/package/changelog.Debian.gz
.
The following is a list of packages that have been split (this list may not be complete):
isdnutils -> ipppd, isdnlog, isdnutils-doc, isdnutils-xtools, isdnvboxserver, isdnvboxclient xpdf -> xpdf-reader, xpdf-utils, xpdf-chinese-simplified, xpdf-chinese-traditional, xpdf-cyrillic, xpdf-japanese, xpdf-korean,xpdf-thai cupsys -> cupsys (CUPS daemon), cupsys-client (CUPS client), cupsys-pstoraster (postscript rasterizer) groff -> groff-base, groff, groff-x11 xspectemu -> spectemu-common, spectemu-svga, spectemu-x11 ecpg -> libecpg3 (library), postgresql-dev (development files) postgresql-pl -> libpgperl, libpgtcl netbase -> netbase, portmap, ifupdown, ipautofw, ipchains, ipfwadm, ipmasqadm, iputils, net-tools, netkit-base uqwk -> uqwk, uqwk-spool tetex-bin -> tetex-bin, texi2html xproxy -> lbxproxy, proxymngr, xfwp xlib6g -> xlibs, libxaw6 xlib6g-dev -> libxaw6-dev, xlibs-dev xbase-clients, xlib6g-dev, xcontrib -> xutils xconq -> xconq, xconq-common python-imaging-doc -> python-imaging-doc, python-imaging-doc-html, python-imaging-doc-pdf gnumeric -> gnumeric, gnumeric-doc, gnumeric-python latex2rtf -> latex2rtf, latex2rtf-doc glade -> glade, glade-gnome, glade-gnome-db, glade-common, glade-doc apmd -> apmd, xapm, libapm1, libapm-dev, powermgmt-base uudeview -> uudeview, xdeview, libuu-dev sysklogd -> sysklogd, klogd xtide -> xtide, xtide-data snack -> libsnack2, libsnack2-dev, libsnack2-doc gnapster -> gnapster, gnapster-gtk proftpd -> proftpd, proftpd-common, proftpd-doc, proftpd-ldap, proftpd-mysql, proftpd-pgsql alsaplayer -> alsaplayer-common, alsaplayer-gtk, alsaplayer-nas, alsaplayer-text, libalsaplayer-dev, libalsaplayer0
Debian attempts to avoid changing upstream packages, therefore changes in the original packages will be present in Debian GNU/Linux
In Debian GNU/Linux 2.2 'Potato' release tar
used the
-I
switch for bzip
compression, however now the
-j
switch is in use. Any you may need to change scripts accordingly.
Before upgrading your system, it is strongly recommended that you make a full backup, or at least backup any data or configuration information you can't afford to lose. The upgrade tools and process are quite reliable, but a hardware failure in the middle of an upgrade could result in a severely damaged system.
The main things you'll want to back up are the contents of /etc
,
/var/lib/dpkg
and the output of dpkg --get-selections
\*.
It's wise to inform all users in advance of any upgrades you're planning,
although users accessing your system via ssh (at least) shouldn't notice much
during the upgrade, and may want to continue working. If you wish to take extra
precautions, back up or unmount user's partitions (/home
) before
upgrading. A reboot will not normally be necessary.
Distribution upgrade should be done either locally from a textmode virtual
console (or a directly connected serial terminal), or remotely via an
ssh
link.
Important: You should not upgrade using
telnet
, rlogin
, rsh
, or from an X session
managed by xdm
on the machine you are upgrading. That is because
each of those services may well be terminated during the upgrade, which can
result in an inaccessible system that is only half-upgraded.
Regardless of the method used for upgrading, it is recommended that you check the status of all packages first, and verify that all packages are in an upgradable state. The following command will show any packages which have a status of Half-Installed or Failed-Config, and those with any error status.
# dpkg --audit
You could also inspect the state of all packages on your system using
dselect
, or with commands such as
# dpkg -l | pager
or
# dpkg --get-selections > ~/curr-pkgs.txt
It is desirable to remove any holds before upgrading. If any package that is essential for the upgrade is on hold, the upgrade will fail. You can identify packages on hold with
# dpkg --audit
If you changed and recompiled a package locally, and didn't rename it or put
an epoch in the version, you must put it on hold to prevent it from being
upgraded. The `hold' package state can be changed either by using
dselect
(in the Select menu, use the `H' and `G' keys to hold and
unhold, respectively), or by editing the file produced by
dpkg --get-selections > ~/curr-sels.txt
to change "hold" to "install" (or vice versa), and then, with root permissions, doing
dpkg --set-selections < ~/curr-sels.txt
The commercial SSH located in the ssh
package before release 2.2
or in the ssh-nonfree
in release 2.2 has been replaced by the DFSG
free ssh
package (OpenSSH) in this release. The commercial SSH
collection is no longer present and the ssh-nonfree
package is a
dummy package which installs the OpenSSH ssh
package. The
ssh
package includes a Debconf question which will regenerate a
configuration which is OpenSSH compatible.
Please note that the ssh
package in this release enables root
logins by default. (Disabled in 2.2) If you do not need this feature for remote
access to your system you should ensure that the PermitRootLogin
option in /etc/ssh/sshd_config
is set to no after
upgrade for security reasons. To ensure dpkg never updates the file to match new
defaults, you can simply modify the file locally. Adding a blank line is enough.
It is important that the /etc/rcS.d
directory exists prior to
the upgrade; the installation of the libc6
package will fail
otherwise.
The /usr/share/doc
directory (if it exists already) should not
be a symlink (e.g. to /usr/doc
), since that will cause some
packages to break. However, symlinking /usr/doc
to
/usr/share/doc
is allowed. Please note that if you use such a
symlink there will be numerous messages about /usr/doc
directories
that can't be removed. Those are normal, and you can safely ignore them.
The recommended method of upgrading is to use apt-get
directly,
as described here. APT's built-in dependency analysis enables smooth upgrades
and easy installations.
You should not be doing any major package upgrades with access
methods other than apt
in dselect
, because those,
unlike the apt
method, do not do any logical package ordering
during the installation, and therefore aren't as reliable. Additionally, such
upgrades are not well tested and are unsupported by Debian.
Any package installation operation must be run with superuser privileges, so
either login as root or use su
or sudo
to gain the
necessary access rights.
Before starting the upgrade you must set up apt
's configuration
file for package lists, /etc/apt/sources.list
.
apt
will consider all packages that can be found via any
"deb" line, and install the package with the highest version
number, giving priority to the first mentioned lines (that way, in case of
multiple mirror locations, you'd typically first name a local harddisk, then
CD-ROMs, and then HTTP/FTP mirrors).
If you want to upgrade using CD-ROMs, or if you are upgrading from Debian
GNU/Linux release 2.0 or earlier, you need the versions of apt
and
dpkg
available in the http://http.us.debian.org/debian/dists/woody//main/upgrade-i386/
directory at your Debian mirror, or the upgrade/
directory on the
first CD-ROM from your Debian 3.0 CD set.
Download and install these files, using (in this exact order):
dpkg -i dpkg_1.6.13_i386.deb dpkg -i apt_0.3.19_i386.deb
These are specially compiled static versions, that can be installed (and run) on any Debian system.
If you are upgrading from Debian GNU/Linux version 2.1 or later and you want
to upgrade using either the network (FTP, HTTP) or a local packages mirror
(possibly a disk partition, or an NFS-mounted mirror), then you can use the
apt
and dpkg
packages that came with that Debian
release. Of course, if apt
is not installed yet, install it now.
Please note that for upgrading with multiple CDs from any
Debian release you need the static versions of apt
and
dpkg
packages, as described above.
It is recommended that you read the apt-get(8)
and the
sources.list(5)
man pages at this time.
If you installed the static versions of apt
and
dpkg
, you can only access the manpages with commands like man
-l /usr/share/man/man8/apt-get.8.gz until the man-db
package
is upgraded.
The default configuration is set up for installation from main Debian
Internet servers, but you may wish to modify /etc/apt/sources.list
to use other mirrors, preferably a mirror that is network-wise closest to you.
Otherwise, Debian HTTP or FTP mirror addresses can be found at http://www.debian.org/distrib/ftplist
(look at the "Full list of mirrors" section). HTTP mirrors are generally
speedier than ftp mirrors.
For example, suppose your closest Debian mirror is http://mirrors.kernel.org/debian/. When inspecting that mirror with a web browser or FTP program, you will notice that the main directories are organized like this:
http://mirrors.kernel.org/debian/dists/woody/main/binary-i386/... http://mirrors.kernel.org/debian/dists/woody/contrib/binary-i386/...
To use this mirror with apt
, you add this line to your
sources.list
file:
deb http://mirrors.kernel.org/debian woody main contrib
Note that the `dists' is added implicitly, and the arguments after the release name are used to expand the path into multiple directories.
If the mirror also contains the non-US sections under http://mirrors.kernel.org/debian/debian-non-US, also add the following line:
deb http://mirrors.kernel.org/debian/debian-non-US woody/non-US main contrib
After adding your new sources, disable the previously existing
"deb" lines in sources.list
, by placing a hash sign
(#) in front of them.
Any package needed for installation that is fetched from the network is
stored in the /var/cache/apt/archives
(and the
partial/
subdirectory, during download), so you must make sure you
have enough space before attempting to start the installation. With a reasonably
extended Debian installation, you can expect at least 300 MB of downloaded data.
Note: if you are using the static versions of apt
and
dpkg
, the hostname-lookup is broken (which is one reason to use the
normal apt
when upgrading over the network). The solution is to
simply put the mirrors' IP address in the "deb" line. (Hint:
nslookup some-server)
Instead of using HTTP or FTP packages mirrors, you may wish to modify
/etc/apt/sources.list
to use a mirror on a local disk (possibly
NFS-mounted).
For example, your packages mirror may be under /var/ftp/debian/
,
and have main directories like this:
/var/ftp/debian/dists/woody/main/binary-i386/... /var/ftp/debian/dists/woody/contrib/binary-i386/...
To use this with apt
, add this line to your
sources.list
file:
deb file:/var/ftp/debian woody main contrib
Note that the `dists' is added implicitly, and the arguments after the release name are used to expand the path into multiple directories.
If your local mirror contains the non-US/* sections under
/var/ftp/debian-non-US
, also add the following line:
deb file:/var/ftp/debian-non-US woody/non-US main contrib
After adding your new sources, disable the previously existing
"deb" lines in sources.list
, by placing a hash sign
(#) in front of them.
First you need to install the latest version of apt
and
dpkg
packages, as described above.
If you want to use CDs only, comment out the existing
"deb" lines in /etc/apt/sources.list
by placing a hash
sign (#) in front of them.
Make sure there is a line in /etc/fstab
that enables mounting
your CD-ROM drive at the /cdrom
mount point (the exact
/cdrom
mount point is required for apt-cdrom
).For
example, if /dev/hdc
is your CD-ROM drive, /etc/fstab
should contain a line like:
/dev/hdc/cdrom auto defaults,noauto,ro0 0
Note that there must be no spaces between the words defaults,noauto,ro in the fourth field.
To verify it works, insert a CD and try running
mount /cdrom(this will mount the CD to the mount point) ls -alF /cdrom (this should show the CD's root directory) umount /cdrom(this will unmount the CD)
Next, run:
apt-cdrom add
for each Debian Binary CD-ROM you have, to add the data about each CD to
APT's database.
Don't forget to mount all needed partitions (notably the root and
/usr
partitions) read-write, with a command like:
mount -o remount,rw /mountpoint
Assuming you have already configured apt
's
sources.list
as explained above, run (as root):
apt-get update
This will resynchronize the package overview files from their sources, updating information about new and updated packages.
It is strongly recommended that you use the /usr/bin/script
program to record a transcript of the upgrade session. Then if any problems
develop, you will have a log of what happened, and if needed, can provide exact
information in a bug report. To start the recording, type:
script -a ~/upgrade-to-woody.typescript
or similar. Do not put the typescript file in a temporary directory such as
/tmp
or /var/tmp
(files in those directories may be
deleted during the upgrade or during any restart).
It is important to upgrade apt, dpkg and debconf before you do the majority of the upgrade. Apt has been considerably improved since the previous releases. Debconf is an essential tool which is in extensive use in recent packages.
apt-get install dpkg apt debconf
This will install the newest versions of dpkg
, apt
and debconf
, which are needed for the rest of the upgrade. It will
also upgrade some necessary system libraries to the latest version.
Some people prefer to first rehearse the upgrade using
apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager
While this may be somewhat time consuming, it may avoid some surprises. This will tell you either what's wrong with your system (and how to solve it), or, most likely, what exactly will be done during the upgrade. Pay special attention to the packages that will be "REMOVED"; no essential packages should be listed there.
After you have verified that apt-get
should work fine, run:
apt-get --fix-broken --show-upgraded dist-upgrade
This will perform a complete upgrade of the system, i.e. install the newest available versions of all packages, and resolve all possible dependency changes between packages in different releases. If necessary, it will install some new packages (usually new library versions, or renamed packages), and remove any conflicting obsoleted packages.
When upgrading from a set of CD-ROMs, you will be asked to insert specific CDs at several points during the upgrade. You might have to insert the same CD multiple times; this is due to inter-related packages that have been spread out over the CDs.
New versions of currently installed packages that cannot be upgraded without
changing the install status of another package will be left at their current
version (displayed as "held back"). Therefore, it may be necessary to use
dpkg
or dselect
to remove and reinstall some broken
packages or dependencies. Alternatively, apt-get dselect-upgrade
may be used after apt-get -f dist-upgrade.(See the
apt-get(8)
man page.)
The --fix-broken (or just -f) option causes
apt
to attempt to correct a system with broken dependencies in
place. apt
does not allow broken package dependencies to exist on a
system.
Sometimes it's necessary to enable APT::Force-LoopBreak option in APT to be
able to temporarily remove an essential package due to a Conflicts/Pre-Depends
loop. apt-get
will alert you of this and abort the upgrade. You can
work around that by specifying -o APT::Force-LoopBreak=1 option on
apt-get
command line.
It is possible that a system's dependency structure can be so corrupt as to
require manual intervention. Usually this means using dselect
or
dpkg --remove packagename
to eliminate some of the offending packages, or
apt-get --fix-broken --show-upgraded install dpkg --configure --pending
In extreme cases you might have to force re-installation with a command like
dpkg --install /path/to/packagename.deb
After fixing things up, you should be able to resume the upgrade by repeating the previously described dist-upgrade commands.
During the upgrade, you will be asked questions to configure or re-configure
several packages. When you are asked if any file in the /etc/init.d
or /etc/terminfo
directories, or the
/etc/manpath.config
file should be replaced by the package
maintainer's version, it's usually necessary to answer `yes' to ensure system
consistency. You can always revert to the old versions, since they will be saved
with a .dpkg-old extension.
If you're not sure what to do, write down the name of the package or file,
and sort things out at a later time. You can search in the typescript file to
review the information that was on the screen during the upgrade.
When apt-get dist-upgrade has finished, the "formal" upgrade is complete, but there are some other things that should be taken care of before the next reboot.
Most importantly, packages locales
and util-linux
may need to be installed. This can be done with:
apt-get install locales util-linux
If you were upgrading from Debian version 2.0 or earlier, this will remove
the getty
package, because getty
is now in the
util-linux
package.
There probably are several more packages that need to be installed, that are
not noticed by apt-get
, because apt-get
doesn't
automatically select the packages that aren't depended on by other packages
(e.g. all packages in Recommends: and Suggests: fields). These can quite easily
be found when using dselect
or another visual frontend. In
dselect
, pick the `apt' method in the [A]ccess screen (if you
haven't already) and update the database with new packages information, using
the [U]pdate option. After that, in the [S]elect screen, press `o', `o', `v' and
Shift-d, and then search for the
--- Obsolete and local packages present on system ---
header. In that section, all such packages will be shown. For example, the
old gimp
package has been replaced by gimp1.2
. You can
either install the new package via dselect
(which will then show a
``dependency conflict resolution'' screen indicating that the old packages
should be removed), or by using:
apt-get install gimp1.2
which will remove the older versions at once (you might just need to confirm).
Another example, that is often not shown even in dselect
, are
the telnet and talk clients and servers, and the NFS server, which were split
off from the old netstd
package. You can install them with a
command like:
apt-get install telnet telnetd talk talkd nfs-server
The same applies to manpages-dev
, which was split off from
manpages
.
Please refer to the Release Notes document for previous releases of Debian GNU/Linux for more information about packages that were split in that release; go back and read Renamed Packages, Section 3.1.1 and Split Packages, Section 3.1.2 to see the list of packages split in this release.
If you were upgrading from Debian version 2.0 or earlier, and have the X Window System installed, give the following commands:
apt-get remove xbase apt-get install xfonts-base xfonts-75dpi xfonts-100dpi xfonts-scalable
And if you don't want xdm
to start at boot time ("X autostart"),
also run:
apt-get remove xdm
Read /usr/share/doc/xfree86-common/README.Debian-upgrade
for
more info on the upgrade of the X window system packages. This is relevant for
users of all previous Debian releases. In short, you need to read it.
The configuration system for the kernel modules has changed since Debian
GNU/Linux release 2.0. If you upgraded from Debian 2.0 or earlier, you must
convert your system before the next reboot. Usually running update-modules
force will be enough; nevertheless reading the
update-modules(8)
manual page is recommended.
If you were upgrading from a Debian GNU/Linux version 1.x (i.e. lower than
2.0), the old system was using the `libc5' library, while the upgraded system
uses the `libc6' version. The new library has changed the format for the
utmp
and wtmp
files; you can check this by trying the
last
command. To solve this, a reboot is necessary, but first copy
the old file and empty the existing ones, with these commands:
cd /var/log mv wtmp wtmp.libc5 touch wtmp cd /var/run cp /dev/null utmp
Then reboot the system (note: this is not necessary for upgrades
from Debian release 2.0 and higher!). Once rebooted, the last
command will show correct data again.
Note that the Linux kernel was not upgraded by these procedures.You
may wish to do so yourself, either by installing one of the
kernel-image-*
packages or by compiling a customized kernel from
sources.
Debian GNU/Linux comes with a 2.2.20 which is in the 2.2 series, the older stable Linux kernel series. You may wish to use a 2.4 series kernel for better hardware support or improved performace. Booting the third cdrom will do this automagically or you can use install a prebuilt one.
apt-get install kernel-image-2.4.18-{386,586tsc,686}
For the more adventurous, there is an easy way to compile your own custom
kernel on Debian GNU/Linux. Install the kernel-package
tool and
read the documentation in /usr/share/doc/kernel-package
.
Enjoy your new Debian GNU/Linux 3.0 system! :-)
debian-doc@lists.debian.org