%dynamicdata; %shareddata; ]> Release Notes for &debian; &release; ("&releasename;"), &arch-title; Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer, Rob Bradford, Frans Pop (current), Andreas Barth (current), Javier Fernández-Sanguino Peña (current), Steve Langasek (current) debian-doc@lists.debian.org &docid; Introduction

The primary goals of these Release Notes are to inform users of major changes in this release of the &debian; distribution, to provide information on how to upgrade safely from the previous release to the current release and finally to inform users of known potential issues they could encounter when upgrading to or using the &releasename; release.

Note that it is impossible to list every known issue and that therefore a selection has been made based on a combination of the expected prevalence and impact of issues.

The most recent version of this document is always available at . If the version you are reading is more than a month oldAs listed on the front page of the PDF version and in the footer of the HTML version., you might wish to obtain the latest version.

Please note that we only support and document upgrading from the previous release of Debian (in this case, the upgrade from &oldreleasename;). If you need to upgrade from older releases, we suggest you read previous editions of the release notes and upgrade to &oldreleasename; first.

Reporting bugs on this document

We have attempted to test all the different upgrade steps described in this document and we have also tried to anticipate all the possible issues our users might encounter.

Nevertheless, if you think you have found any bug in this documentation (incorrect information or information that is missing), please file a bug in the against the release-notes package.

Contributing upgrade reports

We welcome any information from users related to upgrades from &oldreleasename; to &releasename;. If you are willing to share information please file a bug in the against the upgrade-reports package with your results. We request that you compress any attachments that are included (using

Please include the following information when submitting your upgrade report:

The status of your package database before and after the upgrade: /var/lib/dpkg/status and /var/lib/aptitude/pkgstates. You should have made a backup before the upgrade as described at , but you can also find backups of this information in /var/backups.

Session logs using .

Your /var/log/aptitude.

Note: you should take some time to review and remove any sensitive and/or confidential information from the logs before including them in a bug report as the information will be published in a public database.

Sources for this document

This document is generated using debiandoc-sgml. Sources for the Release Notes are available in the CVS repository of the Debian Documentation Project. You can use the to access its files individually through the web and see their changes. For more information on how to access the CVS please consult the .

What's new in &debian; &release;

This release adds official support for the AMD64 architecture which supports 64-bit processors from both Intel (EM64T) and AMD (AMD64). During the previous release, &debian; 3.1 ('sarge'), an unofficial version of this port was available.

Official support for the Motorola 680x0 ('m68k') architecture has been dropped because it did not meet the criteria set by the Debian Release Managers. The most important underlying reasons are performance and limited upstream support for essential toolchain components. However, the m68k port is expected to remain active and available for installation even if not a part of this official stable release.

The following are the officially supported architectures for &debian; &releasename;:

Intel x86 ('i386')

Alpha ('alpha')

SPARC ('sparc')

PowerPC ('powerpc')

ARM ('arm')

MIPS ('mips' (big-endian) and 'mipsel' (little-endian))

Intel Itanium ('ia64')

HP PA-RISC ('hppa')

S/390 ('s390')

AMD64 ('amd64')

You can read more about port status, and port-specific information for your architecture at the .

This is only the second official release of &debian; for the &arch-title; architecture. We feel that it has proven itself sufficiently to be released. However, because it has not had the exposure (and hence testing by users) that our releases on other architectures have had, you may encounter a few bugs. Please use our to report any problems; make sure to mention the fact that the bug is on the &architecture; platform.

]]> What's new for &arch-title;?

RiscPC (RPC) support is incomplete and will be removed after etch. While a kernel for RiscPC is still provided in etch, the installer doesn't support this system.

Support for Intel's IXP4xx platform has been added. The installer includes support for the Linksys NSLU2, a small and inexpensive device which allows the usage of attached storage through USB. More information about Debian on the NSLU2 can be found at .

Support has also been added for Intel's I/O Processor (IOP) platform. Specifically, &debian; &release; supports IOP 32x based devices. Two Network Attached Storage (NAS) devices based on an IOP chip are supported in the installer: the GLAN Tank from IO-Data and the Thecus N2100. See .

]]> What's new for &arch-title;? DECstation support is incomplete and untested in etch and will be removed completely after this release. This includes both DECstation variants previously supported in Debian, r3k-kn02 and r4k-kn04.

Installations on MIPS based Cobalt machines (Qube 2700, RaQ1, Qube2, RaQ2) are now possible without the use of a serial console. By default, installations on Cobalt are now done via SSH. See for more information.

]]> Support for SGI's IP32 platform has been added. The IP32 platform consists of SGI O2 machines with R5000, R5200 or RM7000 processors. Installation is possible via frame buffer or the serial console.

]]>

Support for Broadcom's SB1A evaluation board BCM91480B ("BigSur"), which is based on the BCM1480 quad-core chip, has been added, both to the kernel and the installer. This board is supported both in little and big endian mode.

Support for a Qemu machine has been added. The Qemu/MIPS machine emulates a classic ISA PC style machine with a MIPS 4Kc CPU.

]]> What's new for &arch-title;?

This release adds support for 64bit PowerPC architectures (IBM pSeries, Apple G5 powermacs). Support for the Apple Apus subarchitecture has been dropped; the Apple Nubus subarchitecture is also not supported.

Keyboards of iBooks and Powerbooks on &arch-title; are now fully supported (in X) and (contrary to &oldreleasename;) no custom made xmodmaps are required anymore.

]]> What's new in the distribution?

This new release of Debian again comes with a lot more software than its predecessor &oldreleasename;; the distribution includes over &packages-new; new packages, for a total of over &packages-total; packages. Most of the software in the distribution has been updated: over &packages-updated; software packages (this is &packages-update-percent;% of all packages in &oldreleasename;). Also, a significant number of packages (over &packages-removed;, &packages-removed-percent;% of the packages in &oldreleasename;) have for various reasons been removed from the distribution. You will not see any updates for these packages and they will be marked as 'obsolete' in package management front-ends.

With this release, &debian; switches from XFree86 to the 7.1 release of X.Org, which includes support for a greater range of hardware and better autodetection. This allows the use of Compiz, which is one of the first compositing window managers for the X Window System, taking full advantage of hardware OpenGL acceleration for supported devices.

&debian; again ships with several desktop applications and environments. Among others it now includes the desktop environments GNOME 2.14With some modules from GNOME 2.16., KDE 3.5.5a, and Xfce 4.4. Productivity applications have also been upgraded, including the office suites OpenOffice.org 2.0.4a and KOffice 1.6 as well as GNUcash 2.0.5, GNUmeric 1.6.3 and Abiword 2.4.6.

Updates of other desktop applications include the upgrade to Evolution 2.6.3 and Gaim 2.0. The Mozilla suite has also been updated, with a rename of the main programs: iceweasel (version 2.0.0.2) is the unbranded Firefox web browser and

Among many others, this release also includes the following software updates:

the GNU C library, version 2.3.6 the GNU Compiler Collection 4.1 as default compiler language interpreters: Python 2.4, PHP 5.2 server software:

e-mail servers: Exim 4.63 (default email server for new installations), Postfix 2.3, Courier 0.53, Cyrus 2.2 web servers: Apache 2.2, fnord 1.10 database servers: MySQL 5.0.32, PostgreSQL 8.1 the OpenSSH server, version 4.3 name servers: Bind 9.3, maradns 1.2 directory server: OpenLDAP 2.3

The official &debian; distribution now ships on 19 to 23 binary CDs (depending on the architecture) and a similar number of source CDs. A DVD version of the distribution is also available.

Package management

For &releasename; an advanced conflict resolving mechanism has been implemented in

debian-archive-keyring package.

In its default configuration,

For more information please read , the chapter of the .

Another feature that was added in .

debian-volatile now an official service

The

This means that it now uses a The old . Please make sure to update your /etc/apt/sources.list accordingly if you were already using this service.

.

System improvements

There have been a number of changes in the distribution that will benefit new installations of &releasename;, but may not be automatically applied on upgrades from &oldreleasename;. This section gives an overview of the most relevant changes.

Priority for basic development packages lowered

A number of development packages that used to be priority gcc, as well as some other software (dpkg-dev, flex, make) and development headers (libc6-dev, linux-kernel-headers).

If you do wish to have these packages on your system, the easiest way to install them is by installing SELinux priority standard, but not enabled by default

The packages needed for SELinux support have been promoted to priority # aptitude install selinux-basics

Note that SELinux support is .

New default inet superdaemon

The default inet superdaemon for &releasename; is openbsd-inetd instead of netkit-inetd. It will not be started if no services are configured, which is true by default. The new default daemon will be installed automatically on upgrade.

Default

The Changes in default features for ext2/ext3

New ext2 and ext3 file systems will be created with features

Users upgrading from &oldreleasename; could consider adding the The flag ; the Default encoding for &releasename; is UTF-8

The default encoding for new &debian; installations is UTF-8. A number of applications will also be set up to use UTF-8 by default.

Users upgrading to &releasename; that wish to switch to UTF-8 will need to reconfigure their environment and locale definitions. The system-wide default can be changed using

The package

Note that some applications may not yet work correctly in a UTF-8 environment, mostly due to display issues.

The has some additional information about changes between &oldreleasename; and &releasename;.

Major kernel-related changes

&debian; &release; ships with kernel version &kernelversion; for all architectures; the release is still mostly Some individual packages may no longer work correctly with a 2.4 kernel; see . ]]> compatible with 2.4 kernels, but Debian no longer provides or supports 2.4 kernel packages.

There have been major changes both in the kernel itself and in the packaging of the kernel for Debian. Some of these changes complicate the upgrade procedure and can potentially result in problems while rebooting the system after the upgrade to &releasename;. This section gives an overview of the most important changes; potential issues and information on how to work around them is included in later chapters.

If you are currently using a 2.4 kernel, you should read carefully.

]]> Changes in kernel packaging

Kernel packages renamed

All Linux kernel packages have been renamed from Flavor "386" replaced with "486"

As support for 80386 processors was dropped with &oldreleasename;, the 386 kernel flavor has now been dropped as well and replaced by a new 486 flavor.

]]> Single generic kernel for &arch-title;

In &oldreleasename; there were separate kernel flavors for different processor families of this architecture. Because of changes in the kernel which will automatically optimize the kernel for the processor(s) in the system, there is no longer any real need for seperate kernel flavors.

]]> Standard kernels have SMP abilities

Multiprocessor systems no longer require an

]]> r5k-ip22 kernel flavor dropped

The kernel image for IP22 machines with an R5000 CPU has been dropped because the r4k-ip22 image now supports IP22 machines with either an R4x000 or an R5000 CPU.

]]>

Where possible, dummy transition packages that depend on the new packages have been provided for the dropped packages.

New utilities to generate initrds The Debian kernel image packages for &arch-title; do not require an initrd for booting the system. This means that the information in this section may not be relevant for you, but is still included for reference.

]]>

Because of changes in the kernel, the utility used to generate initrds in &oldreleasename;, . Both will generate an initrd using the Upgrading to an &releasename; kernel will cause

The package ]]> Dynamic /dev management and hardware discovery

&releasename; kernels no longer provide support for devfs.

The replacement for devfs is

/dev directory and will populate that directory with devices supported by the kernel. It will also dynamically add and remove devices as kernel modules are loaded or unloaded respectively, based on events generated by the kernel.

In combination with the kernel,

If you install a Debian kernel image,

You can avoid installing ]]> Installation System

The Debian Installer is the official installation system for Debian. It offers a variety of installation methods. Which methods are available to install your system depends on your architecture.

Images of the installer for &releasename; can be found together with the Installation Guide on the .

The Installation Guide is also included on the first CD/DVD of the official Debian CD/DVD sets, at: /doc/install/manual/language/index.html

You may also want to check the for debian-installer for a list of known issues.

The installer can only be used to install on alpha systems which support the SRM console. Be sure to switch your system to SRM before starting the installation. If your machine supports only the AlphaBIOS/ARC console, the recommended way to install &releasename; is to first install a (minimal) woody system, then upgrade to &oldreleasename; and finally to &releasename;. For more information about the different consoles please read the references on the .

]]> Issues with framebuffer on &arch-title;

Because of display problems on some systems, framebuffer support is disabled by default for &arch-title; for most graphics cards. This can result in ugly display on systems that do properly support the framebuffer. If you see display problems in the installer, you can try booting the installer with the parameter framebuffer=true. Please let us know if the framebuffer is not used by default, but works for your hardware.

Issues with booting on &arch-title;

It has been reported by several users that the installation CD fails to boot successfully upon the 'boot cdrom' PROM command, displaying the error 'Illegal Instruction'.

The apparent explanation for this problem is that it doesn't work because the machine had previously been rebooted from Solaris. The workaround is to power the machine off fully, and then boot it directly into the installation CD.

The problem was reported by users of various systems (namely, Enterprise 450, Blade 2000, Fire V240, Enterprise 250, Blade 100 and Enterprise 220R at the time of writing), so it is believed to be generic. Please let us know if you observe similar issues with your hardware.

Issues with booting from qla2xxx on &arch-title;

It has been reported by several users that the installation system fails to recognize hard disks on machines which have the hard disks connected to a QLogic fibre-channel SCSI controller. This includes the Sun Fire 280R servers. The qla2xxx driver loads, but it cannot load firmware, which makes it useless.

The explanation for this problem is that the QLogic controller firmware is not free, and it had to be moved to a separate non-free package () which is not used by the installation system.

There is no straightforward solution, unfortunately; one has to first provide the firmware image to the installation system, and then later do the same in the installed system. To get the installer to load the firmware, one has to have network connectivity while the machine is being installed in order to download the firmware-qlogic udeb package with wget, install it with udpkg, and then reload the qla2xxx module. After the installation is complete, mount the new root partition, chroot to it, fetch the firmware-qlogic deb package, install it with dpkg, and then run update-initramfs in order to include it in the initial ramdisk image used by the kernel.

Alternatively, install from an older installation CD (where that non-free firmware was still integrated) and then upgrade.

Size of harddisk not detected correctly

If a hard disk has previously used under Solaris, the partitioner may not detect the size of the drive correctly. Creating a new partition table does not fix this issue. What does help, is to "zero" the first few sectors of the drive: # dd if=/dev/zero of=/dev/hdX bs=512 count=2; sync

Note that this will make any existing data on that disk inaccessible.

]]> What's new in the installation system?

There has been a lot of development on the Debian Installer since its first official release with &oldreleasename; resulting in both improved hardware support and some exciting new features.

In these Release Notes we'll only list the major changes in the installer. If you are interested in an overview of the detailed changes since &oldreleasename;, please check the release announcements for the &releasename; beta and RC releases available from the Debian Installer's .

Major changes

No reboot during the installation

Previously, the installation was split into two parts: setting up the base system and making it bootable, followed by a reboot and after that the execution of

For &releasename; the second stage has been integrated into Debian Installer itself. This has a number of advantages, including increased security and the fact that after the reboot at the end of the installation the new system should already have the correct timezone and, if you installed the Desktop environment, will at once start the graphical user interface.

UTF-8 encoding default for new systems

The installer will set up systems to use UTF-8 encoding rather than the old language-specific encodings (like ISO-8859-1, EUC-JP or KOI-8).

More flexible partitioning

It is now possible to set up file systems on an LVM volume using guided partitioning.

The installer is also able to set up encrypted file systems. Using manual partitioning you have the choice between /boot) as logical volumes.

Graphical user interface If you prefer a graphical user interface, try booting the installer with ]]> For &arch-title; a separate installation image using a graphical user interface is available on an experimental basis. It is known to work on most CHRP systems that have an ATI graphics card, but has been insufficiently tested on &arch-title; to include it on the normal installation CDs.

If you'd like to try the graphical installer, look for the "gtk-miniiso" image.

]]>

The functionality of the graphical installer is almost identical to the regular installer, only the presentation differs. There is one exception: the graphical frontend does not support setting up encrypted partitions using random keys.

The major advantage of the graphical user interface is that it supports more languages than the regular user interface (newt). Information about the graphical installer and the most important differences between the graphical and regular installer are documented in an appendix in the installation guide.

Note: the graphical user interface is not available for all architectures.

]]> Rescue mode

You can use the installer to solve problems with your system, for example when it refuses to boot. The first steps will be just like a regular installation, but the installer will not start the partitioner. Instead it will offer you a menu of rescue options.

Activate the rescue mode by booting the installer with rescue/enable=true.

Using sudo instead of root account

During expert installations you can choose to not set up the root account (it will be locked), but instead set up Cryptographic verification of downloaded packages

Packages downloaded with the installer are now cryptographically checked using Simplified mail configuration

If the "standard system" is installed, the installer sets up a basic configuration for the system's mail server which will only provide for local e-mail delivery. The mail server will be unavailable to other systems connected to the same network. If you want to configure your system to handle e-mail not local to the system (either to send e-mail or to receive it), you will have to reconfigure the mail system after installation.

Desktop selection

The installation system will install a GNOME desktop as the default desktop if the user asks for one.

However, users wishing to install alternate desktop environments can easily do so by adding boot parameters: tasks="standard, kde-desktop" for KDE and tasks="standard, xfce-desktop" for Xfce. Note that this will not work when installing from a full CD image without using a network mirror as an additional package source; it will work when using a DVD image or any other installation method.

There are also separate CD images available that install the KDE or Xfce desktop environment by default.

New languages

Thanks to the huge efforts of translators, Debian can now be installed in 47 languages using the text-based installation user interface. This is six languages more than in &oldreleasename;. Languages added in this release include Belarusian, Esperanto, Estonian, Kurdish, Macedonian, Tagalog, Vietnamese and Wolof. Due to lack of translation updates, two languages have been dropped in this release: Persian and Welsh.

If the graphical user interface is used, an additional eleven languages are supported. These languages can only be selected using this installer as their character sets cannot be presented in a non-graphical environment. The new languages are: Bengali, Dzongkha, Gujarati, Hindi, Georgian, Khmer, Malayalam, Nepali, Punjabi, Tamil and Thai.

]]>

Users that do not wish to use any locale can now select .

Simplified localization and timezone selection

Configuration of language, countries and timezones has been simplified to reduce the amount of information needed from the user. The installer will now guess what the system's country and timezone is based on the language selected, or will provide a limited selection if it cannot. Users can still introduce obscure combinations if need be.

Improved system-wide localization

Most of the internationalization and localization tasks that were previously handled by the localization-config tool are now included in the stock Debian installer or in packages themselves. This means that selection of a language will automatically install packages necessary for that language (dictionaries, documentation, fonts...) in both standard and desktop environments. Configuration that is no longer handled automatically includes the papersize configuration and some advanced X Windows keyboard settings for some languages.

Note that language-specific packages will only be installed automatically if they are available during the installation.

]]>

Automated installation

A lot of the changes mentioned in the previous section also imply changes in the support in the installer for automated installation using preconfiguration files. This means that if you have existing preconfiguration files that worked with the &oldreleasename; installer, you cannot expect these to work with the new installer without modification.

The good news is that the now has a separate appendix with extensive documentation on using preconfiguration.

The &releasename; installer introduces some exciting new features that allow further and easier automation of installs. It also adds support for advanced partitioning using RAID, LVM and encrypted LVM. See the documentation for details.

Popularity contest

The installation system will again offer to install the

Information from Upgrades from previous releases Preparing for the upgrade

We suggest that before upgrading you also read the information in . That chapter covers potential issues not directly related to the upgrade process but which could still be important to know about before you begin.

Back up any data or configuration information

Before upgrading your system, it is strongly recommended that you make a full backup, or at least back up 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, /var/lib/aptitude/pkgstates and the output of dpkg --get-selections "*" (the quotes are important).

The upgrade process itself does not modify anything in the /home directory. However, some applications (e.g. parts of the Mozilla suite, and the GNOME and KDE desktop environments) are known to overwrite existing user settings with new defaults when a new version of the application is first started by a user. As a precaution, you may want to make a backup of the hidden files and directories ("dotfiles") in users' home directories. This backup may help to restore or recreate the old settings. You may also want to inform users about this.

Any package installation operation must be run with superuser privileges, so either login as root or use

The upgrade has a few preconditions; you should check them before actually executing the upgrade.

Inform users in advance

It's wise to inform all users in advance of any upgrades you're planning, although users accessing your system via an

If you wish to take extra precautions, back up or unmount users' partitions (/home) before upgrading.

You will probably have to do a kernel upgrade when upgrading to &releasename;, so a reboot will normally be necessary. Typically, this will be done after the upgrade is finished.

Prepare for recovery

Because of the many changes in the kernel between &oldreleasename; and &releasename; regarding drivers, hardware discovery and the naming and ordering of device files, there is a real risk that you may experience problems rebooting your system after the upgrade. A lot of known potential issues are documented in this and the next chapters of these Release Notes.

For that reason it makes sense to ensure that you will be able to recover if your system should fail to reboot or, for remotely managed systems, fail to bring up networking.

If you are upgrading remotely via an ) and you will have to fix the system configuration through a local console. Also, if the system is rebooted accidentally in the middle of an upgrade there is a chance you will need to recover using a local console.

The most obvious thing to try first is to reboot with your old kernel. However, for various reasons documented elsewhere in this document, this is not guaranteed to work.

If that fails, you will need an alternative way to boot your system so you can access and repair it. One option is to use a special rescue image or a Linux live CD. After booting from that, you should be able to mount your root file system and

Another option we'd like to recommend is to use the and the .

Debug shell during boot using initrd

The This feature can be disabled by adding the parameter in the initrds it generates. If for example the initrd is unable to mount your root file system, you will be dropped into this debug shell which has basic commands available to help trace the problem and possibly fix it.

Basic things to check are: presence of correct device files in /dev; what modules are loaded (cat /proc/modules); output of

If you do manage to fix the problem, typing ]]> Prepare a safe environment for the upgrade

The distribution upgrade should be done either locally from a textmode virtual console (or a directly connected serial terminal), or remotely via an

In order to gain extra safety margin when upgrading remotely, we suggest that you run upgrade processes in the virtual console provided by the

Support for 2.2-kernels has been dropped

In case you run a kernel prior to 2.4.1, you need to upgrade to (at least) the 2.4-series before upgrading Checking system status

The upgrade process described in this chapter has been designed for upgrades from "pure" &oldreleasename; systems without third-party packages. In particular, there are known problems with third-party packages which install programs under /usr/X11R6/bin/ causing problems with upgrades due to the X.Org transition (). For greatest reliability of the upgrade process, you may wish to remove third-party packages from your system before you begin upgrading.

This procedure also assumes your system has been updated to the latest point release of &oldreleasename;. If you have not done this or are unsure, follow the instructions in .

Review actions pending in package manager

In some cases, the use of

Because of this you should review if there are any pending actions in the package manager .

To do this, you have to run Disabling APT pinning

If you have configured APT to install certain packages from a distribution other than stable (e.g. from testing), you may have to change your APT pinning configuration (stored in /etc/apt/preferences) to allow the upgrade of packages to the versions in the new stable release. Further information on APT pinning can be found in .

Checking packages status

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 # 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.

Note that # aptitude search "~ahold" | grep "^.h"

If you want to check which packages you had on hold for # dpkg --get-selections | grep hold

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 for # aptitude hold package_name Replace

If there is anything you need to fix, it is best to make sure your .

Unofficial sources and backports

If you have any non-Debian packages on your system, you should be aware that these may be removed during the upgrade because of conflicting dependencies. If these packages were installed by adding an extra package archive in your /etc/apt/sources.list, you should check if that archive also offers packages compiled for &releasename; and change the source line accordingly at the same time as your source lines for Debian packages.

Some users may have unofficial backported "newer" versions of packages that Debian's package management system normally does not allow a package to remove or replace a file owned by another package unless it has been defined to replace that package.. Section has some information on how to deal with file conflicts if they should occur.

Manually unmarking packages

To prevent # aptitude unmarkauto openoffice.org vim

And 2.6 kernel images if you have installed them using a kernel metapackage: # aptitude unmarkauto $(dpkg-query -W 'kernel-image-2.6.*' | cut -f1)

Note: You can review which packages are marked as # aptitude search 'i~M <package name>'

Preparing sources for APT

Before starting the upgrade you must set up /etc/apt/sources.list.

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).

A release can often be referred to by both its codename (e.g. &oldreleasename;, &releasename;) and by its status name (i.e. oldstable, stable, testing, unstable). Referring to a release by its codename has the advantage that you will never be surprised by a new release and for this reason is the approach taken here. It does of course mean that you will have to watch out for release announcements yourself. If you use the status name instead, you will just see loads of updates for packages available as soon as a release has happened.

Adding APT Internet sources

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.

Debian HTTP or FTP mirror addresses can be found at (look at the "Full list of mirrors" section). HTTP mirrors are generally speedier than FTP mirrors.

For example, suppose your closest Debian mirror is &url-debian-mirror-eg;/. When inspecting that mirror with a web browser or FTP program, you will notice that the main directories are organized like this: &url-debian-mirror-eg;/dists/&releasename;/main/binary-&architecture;/... &url-debian-mirror-eg;/dists/&releasename;/contrib/binary-&architecture;/...

To use this mirror with deb &url-debian-mirror-eg; &releasename; 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.

After adding your new sources, disable the previously existing " Adding APT sources for a local mirror

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 mounted over NFS).

For example, your packages mirror may be under /var/ftp/debian/, and have main directories like this: /var/ftp/debian/dists/&releasename;/main/binary-&architecture;/... /var/ftp/debian/dists/&releasename;/contrib/binary-&architecture;/...

To use this with deb file:/var/ftp/debian &releasename; 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.

After adding your new sources, disable the previously existing " Adding APT source from CD-ROM or DVD

If you want to use CDs /etc/apt/sources.list by placing a hash sign (

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 /dev/hdc is your CD-ROM drive, /etc/fstab should contain a line like: /dev/hdc /cdrom auto defaults,noauto,ro 0 0

Note that there must be 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.

Upgrading packages

The recommended way to upgrade from previous &debian; releases is to use the package management tool aptitude. This program makes safer decisions about package installations than running apt-get directly.

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

Next you should double-check that the APT source entries (in /etc/apt/sources.list) refer either to "stable". There should not be any sources entries pointing to &oldreleasename;. Note: source lines for a CD-ROM will often refer to " Recording the session

It is strongly recommended that you use the /usr/bin/script program to record a transcript of the upgrade session. Then if a problem occurs, 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 -t 2>~/upgrade-&releasename;.time -a ~/upgrade-&releasename;.script 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).

The typescript will also allow you to review information that has scrolled off-screen. Just switch to VT2 (using less -R ~root/upgrade-&releasename;.script to view the file.

After you have completed the upgrade, you can stop

If you have used the -t switch for # scriptreplay ~/upgrade-&releasename;.time ~/upgrade-&releasename;.script

Updating the package list

First the list of available packages for the new release needs to be fetched. This is done by executing:

# aptitude update

Running this the first time new sources are updated will print out some warnings related to the availability of the sources. These warnings are harmless and will not appear if you rerun the command again.

Make sure you have sufficient space for the upgrade

You have to make sure before upgrading your system that you have sufficient hard disk space when you start the full system upgrade described in . First, any package needed for installation that is fetched from the network is stored in /var/cache/apt/archives (and the partial/ subdirectory, during download), so you must make sure you have enough space on the file system partition that holds /var/ to temporarily download the packages that will be installed in your system. After the download, you will probably need more space in other file system partitions in order to both install upgraded packages (which might contain bigger binaries or more data) and new packages that will be pulled in for the upgrade. If your system does not have sufficient space you might end up with an incomplete upgrade that might be difficult to recover from.

Both

# aptitude -y -s -f --with-recommends dist-upgrade [ ... ] XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded. Need to get xx.xMB/yyyMB of archives. After unpacking AAAMB will be used. Would download/install/remove packages. Running this command at the beginning of the upgrade process may give an error, for the reasons described in the next sections. In that case you will need to wait until you've done the minimal system upgrade as in and upgraded your kernel as in before running this command to estimate the disk space.

If you do not have enough space for the upgrade, make sure you free up space beforehand. You can:

Remove packages that have been previously downloaded for installation (at /var/cache/apt/archive). Cleaning up the package cache by running apt-get clean or aptitude clean will remove all previously downloaded package files. Remove old packages you no longer use. If you have ). Alternatively you can start Remove packages taking up too much space, which are not currently needed (you can always reinstall them after the upgrade). You can list the packages that take up most of the disk space with wajig size). Temporarily move to another system, or permanently remove, system logs residing under /var/log/.

Note that in order to safely remove packages, it is advisable to switch your sources.list back to &oldreleasename; as described in .

Minimal system upgrade

Because of certain necessary package conflicts between &oldreleasename; and &releasename;, running aptitude dist-upgrade directly will often remove large numbers of packages that you will want to keep. We therefore recommend a two-part upgrade process, first a minimal upgrade to overcome these conflicts, then a full dist-upgrade.

First, run: # aptitude upgrade

This has the effect of upgrading those packages which can be upgraded without requiring any other packages to be removed or installed.

Follow the minimal upgrade with: # aptitude install initrd-tools

This step will automatically upgrade

The next step will vary depending on the set of packages that you have installed. These release notes give general advice about which method should be used, but if in doubt, it is recommended that you examine the package removals proposed by each method before proceeding.

Some common packages that are expected to be removed include .

Upgrading a desktop system

This upgrade path has been verified to work on systems with the sarge desktop task installed. It is probably the method that will give the best results on systems with the desktop task installed, or with the gnome or kde packages installed.

It is probably not the correct method to use if you do not already have the # dpkg -l libfam0c102 | grep ^ii # dpkg -l xlibmesa-glu | grep ^ii

If you do have a full desktop system installed, run: # aptitude install libfam0 xlibmesa-glu

Upgrading a system with some X packages installed

First, check whether you have the # dpkg -l libfam0c102 | grep ^ii # dpkg -l xlibmesa-glu | grep ^ii

If you do not have This command will determine whether you need libfam0 and xlibmesa-glu installed, and auto-select them for you: # aptitude install x11-common \ $(dpkg-query --showformat '${Package} ${Status}\n' -W libfam0c102 xlibmesa-glu \ | grep 'ok installed$' | sed -e's/ .*//; s/c102//') # aptitude install x11-common libfam0 xlibmesa-glu

Note that installing Upgrading a system with no X support installed

On a system with no X, no additional aptitude install command should be required, and you can move on to the next step.

Upgrading the kernel

The

As a consequence, the previous kernel package will probably not boot properly after this upgrade. Similarly, there is a time window during the upgrade in which for recommendations on preparing for this possibility if you are upgrading remotely.)

Unless your system has the desktop task installed, or other packages that would cause an unacceptable number of package removals, it is therefore recommended that you upgrade the kernel on its own at this point.

To proceed with this kernel upgrade, run: # aptitude install linux-image-2.6-flavor See for help in determining which flavor of kernel package you should install.

In the desktop case, it is unfortunately not possible to ensure the new kernel package is installed immediately after the new for information on configuring your system to not depend on hotplug for booting.

Upgrading the rest of the system

You are now ready to continue with the main part of the upgrade. Execute:

# aptitude 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"). This can be resolved by either using aptitude to choose these packages for installation or by trying aptitude -f install package.

Getting package signatures

After the upgrade, with the new version of

# aptitude update

The upgrade will have already retrieved and enabled the signing keys for Debian's package archives. If you add other (unofficial) package sources, .

You will notice that, since you are using the new version of .

Possible issues during upgrade

If an operation using E: Dynamic MMap ran out of room the default cache space is insufficient. You can solve this by either removing or commenting lines you don't need in /etc/apt/sources.list or by increasing the cache size. The cache size can be increased by setting /etc/apt/apt.conf. The following command will set it to a value that should be sufficient for the upgrade: # echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf This assumes that you do not yet have this variable set in that file.

Sometimes it's necessary to enable the -o APT::Force-LoopBreak=1 option on

It is possible that a system's dependency structure can be so corrupt as to require manual intervention. Usually this means using # dpkg --remove package_name to eliminate some of the offending packages, or # aptitude -f install # dpkg --configure --pending

In extreme cases you might have to force re-installation with a command like # dpkg --install /path/to/package_name.deb

File conflicts should not occur if you upgrade from a "pure" &oldreleasename; system, but can occur if you have unofficial backports installed. A file conflict will result in an error like: Unpacking <package-foo> (from <package-foo-file>) ... dpkg: error processing <package-foo> (--install): trying to overwrite `<some-file-name>', which is also in package <package-bar> dpkg-deb: subprocess paste killed by signal (Broken pipe) Errors were encountered while processing: <package-foo>

You can try to solve a file conflict by forcibly removing the package mentioned on the # dpkg -r --force-depends package_name

After fixing things up, you should be able to resume the upgrade by repeating the previously described

During the upgrade, you will be asked questions regarding the configuration or re-configuration of 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

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.

Upgrading your kernel and related packages

This section explains how to upgrade your kernel and identifies potential issues related to this upgrade. You can either install one of the Note that a lot of information in this section is based on the assumption that you will be using one of the modular Debian kernels, together with ]]> Note that this section contains a lot of information related to the use of ]]>

Note also that if If you are currently using a 2.4 kernel, you should also read carefully.

]]> Installing the kernel metapackage

When you dist-upgrade from &oldreleasename; to &releasename;, it is strongly recommended that you install a new linux-image-2.6-* metapackage. This package may be installed automatically by the dist-upgrade process. You can verify this by running: # dpkg -l "linux-image*" | grep ^ii

If you do not see any output, then you will need to install a new linux-image package by hand. To see a list of available linux-image-2.6 metapackages, run: # apt-cache search linux-image-2.6- | grep -v transition

If you are unsure about which package to select, run uname -r and look for a package with a similar name. For example, if you see '2.4.27-3-686', it is recommended that you install You may also use apt-cache to see a long description of each package in order to help choose the best one available. For example: # apt-cache show linux-image-2.6-686

You should then use

For the more adventurous there is an easy way to compile your own custom kernel on &debian;. Install the kernel-package tool and read the documentation in /usr/share/doc/kernel-package.

Upgrading from a 2.6 kernel

If you are currently running a 2.6 series kernel from &oldreleasename; this upgrade will take place automatically after you do a full upgrade of the system packages (as described in ).

If possible, it is to your advantage to upgrade the kernel package separately from the main for a description of this process. Note that this should only be done after the minimal upgrade process described in .

You can also take this step if you are using your own custom kernel and want to use the kernel available in &releasename;. If your kernel version is not supported by Upgrading from a 2.4 kernel

If you have a 2.4 kernel installed, and your system relies on .

If your system does not rely on You can have the kernel modules needed by your system loaded statically through proper configuration of /etc/modules you can delay the kernel upgrade to after you have done a full system upgrade, as described in . Once your system has been upgraded you can then do the following (changing the kernel package name to the one most suited to your system by substituting <flavor>): # aptitude install linux-image-2.6-<flavor>

]]> Device enumeration reordering

&releasename; features a more robust mechanism for hardware discovery than previous releases. However, this may cause changes in the order devices are discovered on your system, affecting the order in which device names are assigned. For example, if you have two network adapters that are associated with two different drivers, the devices eth0 and eth1 refer to may be swapped. Please note that the new mechanism means that if you e.g. exchange ethernet adapters in a running &releasename; system, the new adapter will also get a new interface name.

For network devices, you can avoid this reordering by using udev rules, more specifically, through the definitions at /etc/udev/rules.d/z25_persistent-net.rules The rules there are automatically generated by the script /etc/udev/rules.d/z45_persistent-net-generator.rules to have persistent names for network interfaces. Delete this symlink to disable persistent device naming for NICs by . Alternatively you can use the ifrename utility to bind physical devices to specific names at boot time. See and for more information. The two alternatives (udev and ifrename) should not be used at the same time.

For storage devices, you can avoid this reordering by using

However, removing and reloading modules after initial boot will affect this order. Also, your kernel may have some drivers linked statically, and these names will not appear in the output of lsmod. You may be able to decipher these driver names and load order from looking at /var/log/kern.log, or the output of dmesg.

Add these module names to /etc/initramfs-tools/modules in the order they should be loaded at boot time. Some module names may have changed between &oldreleasename; and &releasename;. For example, sym53c8xx_2 has become sym53c8xx.

You will then need to regenerate your initramfs image(s) by executing update-initramfs -u -k all.

Once you are running a &releasename; kernel and /dev/disk/ hierarchy.

Serial device reordering

If you have an HP machine and you're using the MP serial console port (the connector labelled "console" on the 3-headed cable), this kernel upgrade will break your console!

Upon reboot, the system will show up the message "Loading initrd...." but it will stop there. Notice that systems with outdated firmware will show similar symptoms, although the issue is related to kernel incompatibilities (see ).

Please read the following information before upgrading.

The console device will change from ttyS0 to ttyS1, ttyS2, or ttyS3 so

Edit /etc/inittab to add a getty entry for /dev/ttyS1 (rx4640, rx5670, rx7620, rx8620, Superdome), /dev/ttyS2 (rx1600), or /dev/ttyS3 (rx2600).

Edit /etc/securetty to add ttyS1, ttyS2, or ttyS3.

Leave the existing ttyS0 entries in /etc/inittab and /etc/securetty so you can still boot old kernels.

Edit /etc/elilo.conf to remove any "console=" arguments.

Run

Reboot and use the EFI boot option maintenance menu to select exactly one device for console output, input, and standard error. Then do a cold reset so the changes take effect.

For the MP console, be careful to select the device with "Acpi(HWP0002,700)/Pci(...)/Uart" in the path.

More details about these changes and troubleshooting hints are available at .

]]> Boot timing issues

If an initrd created with

The usual symptoms are that the boot will fail because the root file system cannot be mounted and you are dropped into a debug shell, but that when you check afterwards, all devices that are needed are present in /dev. This has been observed in cases where the root file system is on a USB disk or on RAID, especially if lilo is used.

A workaround for this issue is to use the boot parameter rootdelay=. The value for the timeout (in seconds) may need to be adjusted.

]]> PCILynx FireWire driver is broken

The PCILynx driver is horribly broken and might result in driver crashes on PowerPC. We encourage users who need FireWire to avail themselves of one of the cheap OHCI1394 cards and blacklist PCILynx driver.

]]>
Things to do before rebooting

When aptitude dist-upgrade has finished, the "formal" upgrade is complete, but there are some other things that should be taken care of Converting from devfs

Debian kernels no longer include support for devfs, so devfs users will need to convert their systems manually before booting an &releasename; kernel.

If you see the string 'devfs' in /proc/mounts, you are most likely using devfs. Any configuration files that reference devfs-style names will need to be adjusted to use udev-style names. Files that are likely to refer to devfs-style device names include /etc/fstab, /etc/lilo.conf, /boot/grub/menu.lst, and /etc/inittab.

More information about potential issues is available in bug report .

Possible missing drivers in initrd

The &releasename; kernels do not yet have full sysfs support for the native sparc sbus. If your system uses the /etc/initramfs-tools/modules and regenerate the initrd before you reboot your system. The initrd can be regenerated using: # update-initramfs -u -k all

]]> Possible missing drivers in initrd

The &releasename; kernels do not yet have full sysfs support for the native HP bus. If your system uses the /etc/initramfs-tools/modules and regenerate the initrd before you reboot your system. The initrd can be regenerated using: # update-initramfs -u -k all

]]> Rerun lilo

If you are using lilo after the upgrade: # /sbin/lilo

Notice this is needed even if you did not upgrade your system's kernel, as lilo's second stage will change due to the package upgrade.

Also, review the contents of your /etc/kernel-img.conf and make sure that you have do_bootloader = Yes in it. That way the bootloader will always be rerun after a kernel upgrade.

If you encounter any issues when running / to vmlinuz and initrd and the contents of your /etc/lilo.conf for discrepancies.

If you forgot to rerun For more information on .. See for information on how to recover from this.

]]> S/390 hardware configuration

Not all S/390 hardware can be configured automatically. For the &releasename; kernels a new utility /etc/sysconfig/.

Especially if your system is currently running a 2.4 kernel, getting the configuration right can be a challenge. If you need any help, feel free to contact the .

First install the utility and regenerate the initramfs initrd as the utility provides some scripts that need to be included in the initrd: # aptitude install sysconfig-hardware # update-initramfs -u -k all

Configuration for disks

This is done by modifying /etc/zipl.conf. The sysconfig utility can use the device path to the root device to enable it, which means that this path needs to be passed in the kernel boot parameters. For a regular dasd, the path is composed as follows: <bus>-<device> For the root=/dev/dasda1 you would include the following in the /etc/zipl.conf: root=/dev/disks/by-path/ccw-0.0.0122-part1 Or, alternatively you can use the root=/dev/dasda1 enable=ccw-0.0.0122 The paths to be used can vary for different devices. For example, for disks on a zFCP fiberchannel host adapter, the path consists of bus, device, driver, wwpn and lun. The parameters for a RAID1 would look like (on a single line): root=/dev/md0 enable=ccw-0.0.2900-zfcp-0x21000020371c93a5:0 enable=ccw-0.0.2900-zfcp-0x21000020371d8f94:0

Other dasd devices (dasds not needed to bring up the root file system) are enabled through configuration files in /etc/sysconfig/hardware/. For a regular dasd, you just need to touch a file with the device path in its name: # cd /etc/sysconfig/hardware # touch config-ccw-0.0.0122 For disks on a zFCP fiberchannel host adapter the individual devices are listed inside the file. Using the same example as above, create a file ZFCP_DEVICES=(0x21000020371c93a5:0x0000000000000000 0x2100...:0x...)

Configuration for network devices

Network devices are enabled through configuration files in /etc/sysconfig/hardware/. For a ctc network device with read channel CCWGROUP_CHANS=(0.0.0a00 0.0.0a01) CTC_PROTOCOL=0 For a qeth network device with layer2 mode enabled, this could be a file CCWGROUP_CHANS=(0.0.0600 0.0.0601 0.0.0602) QETH_OPTIONS=(layer2)

Supported options for ctc are:

As network devices on S/390 do not have a stable MAC address, it is not possible to use ]]> Upgrading mdadm

mdadm now needs a configuration file to assemble MD arrays (RAID) from the initial ramdisk and during the system initialisation sequence. Please make sure to read and act upon the instructions in /usr/share/doc/mdadm/README.upgrading-2.5.3.gz after the package has been upgraded and before you reboot. The latest version of this file is available at ; please consult it in case of problems.

Conflict between tulip and dmfe drivers

On some Netras (e.g. on Netra X1) udev loads both tulip and dmfe drivers, which claim support for the same PCI IDs (). The tulip driver is correct one for Netra. If this happens, you should blacklist the dmfe driver and reboot, and/or remove both dmfe and tulip (modprobe -r) and then modprobe tulip only. ]]> Preparing for the next release

After the upgrade there are several things you can do to prepare for the next release.

If using /etc/kernel-img.conf and adjust the location of the /sbin/update-grub to /usr/sbin/update-grub.

If the new kernel image metapackage was pulled in as a dependency of the old one, it will be marked as automatically installed, which should be corrected: # aptitude unmarkauto $(dpkg-query -W 'linux-image-2.6-*' | cut -f1)

Remove &oldreleasename;'s kernel metapackages by running: # aptitude purge kernel-image-2.6-<flavor>

Move any configuration options from /etc/network/options to /etc/sysctl.conf. Please see /usr/share/doc/netbase/README.Debian for details.

Remove obsolete and unused packages as described in . You should review which configuration files they use and consider purging the packages to remove their configuration files

Deprecated packages

With the release of Lenny a bigger number of server packages will be deprecated, thus updating to newer versions of those now will save you from trouble when updating to Lenny.

This includes the following packages:

apache (1.x), successor is apache2 bind8, successor is bind9 php4, successor is php5 postgresql-7.4, successor is postgresql-8.1 exim 3, successor is exim4

Obsolete packages

Introducing several thousand new packages, &releasename; also retires and omits more than two thousand old packages that were in &oldreleasename;. It provides no upgrade path for these obsolete packages. While nothing prevents you from continuing to use an obsolete package where desired, the Debian project will usually discontinue security support for it a year after &releasename;'s releaseOr for as long as there is not another release in that time frame. Typically only two stable releases are supported at any given time., and will not normally provide other support in the meantime. Replacing them with available alternatives, if any, is recommended.

There are many reasons why packages might have been removed from the distribution: they are no longer maintained upstream; there is no longer a Debian Developer interested in maintaining the packages; the functionality they provide has been superseded by different software (or a new version); or they are no longer considered suitable for &releasename; due to bugs in them. In the latter case, packages might still be present in the "unstable" distribution.

Detecting which packages in an updated system are "obsolete" is easy since the package management front-ends will mark them as such. If you are using aptitude, you will see a listing of these packages in the "Obsolete and Locally Created Packages" entry. dselect provides a similar section but the listing it presents might differ. Also, if you have used aptitude to manually install packages in &oldreleasename; it will have kept track of those packages you manually installed and will be able to mark as obsolete those packages pulled in by dependencies alone which are no longer needed if a package has been removed. Also, aptitude, unlike deborphan will not mark as obsolete packages that you manually installed, as opposed to those that were automatically installed through dependencies.

There are additional tools you can use to find obsolete packages such as deborphan, debfoster or cruft. deborphan is highly recommended, although it will (in default mode) only report obsolete libraries: packages in the "libs" or "oldlibs" sections that are not used by any other packages. Do not blindly remove the packages these tools present, especially if you are using aggressive non-default options that are prone to produce false positives. It is highly recommended that you manually review the packages suggested for removal (i.e. their contents, size and description) before you remove them.

The often provides additional information on why the package was removed. You should review both the archived bug reports for the package itself and the archived bug reports for the .

Dummy packages

Some packages from &oldreleasename; have been split into several packages in &releasename;, often to improve system maintainability. To ease the upgrade path in such cases, &releasename; often provides "dummy" packages: empty packages that have the same name as the old package in &oldreleasename; with dependencies that cause the new packages to be installed. These "dummy" packages are considered obsolete packages after the upgrade and can be safely removed.

Most (but not all) dummy packages' descriptions indicate their purpose. Package descriptions for dummy packages are not uniform, however, so you might also find deborphan with the --guess options useful to detect them in your system. Note that some dummy packages are not intended to be removed after an upgrade but are, instead, used to keep track of the current available version of a program over time.

Systems with some X packages installed, but not the full desktop task, require a different method. This method applies in general to systems with desktop task installed. # dpkg -l xfree86-common | grep ^ii

Issues to be aware of for &releasename; Potential problems

Sometimes, changes have side-effects we cannot reasonably avoid, or we expose bugs somewhere else. We document here the issues we are aware of. Please also read the errata, the relevant packages' documentation, bug reports and other information mentioned in .

Problems with devices related to udev

Although /dev/video and /dev/radio).

and /etc/udev for further information.

Some applications may no longer work with a 2.4 kernel

Some applications in &releasename; may no longer work with a 2.4 kernel, for example because they require

One example is the HTTP proxy ]]> Certain network sites cannot be reached by TCP

Since 2.6.17, Linux aggressively uses TCP window scaling which is specified in RFC 1323. Some servers have a broken behavior, and announce wrong window sizes for themselves. For more details, please see the bug reports , , .

There are usually two workarounds to these problems: either revert the maximum allowed TCP window sizes to a smaller value (preferable) or turn off TCP window scaling altogether (deprecated). See the example commands in the .

Automatic poweroff stops working

On some older systems, shutdown -h may not power off the system anymore (but just stop it). This happens because apm needs to be used there. Adding acpi=off apm=power_off to the kernel's command line, e.g. in for additional information.

]]> Slower updates of APT package index files

By default, the &releasename; version of apt uses a new way to update APT package index files (when you run Acquire::Pdiffs "false"; to the /etc/apt/apt.conf configuration file.

This change mostly affects users of the ACPI support disabled for some HP laptop models in &releasename; kernel

Certain models of HP laptops have an ACPI BIOS that is incompatible with the Linux 2.6.18 kernel shipped in &releasename;, which would prevent the fans from spinning up leading to unnecessary heat stress. Also, fans might not work after the system is suspended. The kernel therefore disables ACPI support internally when it detects certain ACPI BIOS versions. Models known to be affected by this change include the HP nx6125, nx6120, nx6325, nc6120 and nc6000 models.

Users who require ACPI support on these systems may install a Linux 2.6.19 or later kernel. Please see Debian bug and , and Linux Kernel's bugs and for additional information.

]]> Asynchronous network initialization may cause unpredictable behavior

On systems which use /etc/init.d/networking runs on system boot. Although including /etc/network/interfaces (in addition to Trouble when using WPA secured wireless networks

In &oldreleasename;, the /etc/default/wpasupplicant and a user-provided /etc/wpasupplicant.conf.

In &releasename;, /etc/init.d/wpasupplicant has been dropped and the Debian package now integrates with /etc/network/interfaces, similar to other packages such as

For information on configuring wpasupplicant please refer to /usr/share/doc/wpasupplicant/README.modes.gz, which gives examples for /etc/network/interfaces files. Updated information about the usage of the .

]]> Problems with non-ASCII characters in filenames

Mounting vfat, ntfs or iso9660 file systems with files that include non-ASCII characters in their filenames will give failures when one tries to use the filenames unless mounting is done with the utf8 option. An indication might be the following failure: 'Invalid or incomplete multibyte or wide character'. A possible solution is to use defaults,utf8 as mount options for vfat, ntfs and iso9660 file systems when they contain filenames with non-ASCII characters.

Note that the Linux kernel does not support case-insensitive filename handling for vfat when the utf8 option is used.

Data corruption with Hardware IOMMU on Nvidia chipsets

A problem has been identified on &arch-title; systems with Nvidia chipsets and more than 3GB of RAM that causes sporadic data corruption when the hardware IOMMU is used. This problem is still under investigation by the Linux kernel developers and the hardware manufacturers, and no official upstream fix has been released. To protect the integrity of their data, users of these systems are advised to manually disable the use of hardware IOMMU at boot time by adding iommu=soft to their kernel boot options until a correct solution can be found.

More information about this issue is available in Debian bug and Linux Kernel bug .

]]> Sound stops working

In rare cases the sound might stop working after the upgrade. If this happens, go through the alsa checklist: run alsaconf as root user, add your user to the cat /dev/urandom > /dev/dsp works for root.

Upgrading to a 2.6 kernel

The 2.6 kernel series contains major changes from the 2.4 series. Modules have been renamed and a lot of drivers have been partially or sometimes almost completely rewritten. Upgrading to a 2.6 kernel from an earlier version is therefore not a process to be undertaken lightly. This section aims to make you aware of some of the issues you may face.

If you compile your own kernel from source, make sure you install

If you use

If you have entries in the /etc/modules file (the list of modules to be loaded during system boot), be aware that some module names may have changed. If this happens you will have to update this file with the new module names.

For some SATA disk controllers, the device assigned to a drive and its partitions may change from /dev/hdX to /dev/sdX. If this happens, you will have to modify your /etc/fstab and bootloader configuration accordingly. Unless these changes are made correctly, your system may not boot correctlyIt will boot the kernel but will fail when trying to mount the root file system and will abort with an error waiting for root file system followed by unable to mount /dev/hdX ..not found. You can use the /dev/disk/..

]]> HP Itanium systems running older firmware are incompatible with the 2.6 kernel in &releasename;. That means you should upgrade your system to the latest firmware before upgrading your kernel. It is recommended you do this before the system upgrade, as if you are already running a 2.6 kernel you will automatically retrieve the latest kernel when upgrading the rest of the system (see ). Failing to do this will result in an system that does not boot.

]]>

Once you have installed your 2.6 kernel, but before you reboot, make sure you have a recovery method. First, make sure that the bootloader configuration has entries for both the new kernel and the old, working 2.4 kernel. You should also ensure you have a "rescue" floppy or CD-ROM to hand, in case misconfiguration of the bootloader prevents you from booting the old kernel.

Keyboard configuration

The most invasive change in the 2.6 kernels is a fundamental change of the input layer. This change makes all keyboards look like "normal" PC keyboards. This means that if you currently have a different type of keyboard selected (e.g. a USB-MAC or Sun keyboard), you will very likely end up with a non-working keyboard after rebooting with the new 2.6 kernel.

If you can SSH into the box from another system, you can resolve this issue by running dpkg-reconfigure console-data, choosing the option "Select keymap from full list" and selecting a "pc" keyboard.

If your console keyboard is affected, you will probably also need to reconfigure your keyboard for the X Window System. You can do this either by running dpkg-reconfigure xserver-xorg or by editing /etc/X11/xorg.conf directly. Don't forget to read the documentation referred to in .

This issue is unlikely to affect the &arch-title; architecture as all PS/2 and most USB keyboards will already be configured as a "normal" PC keyboard.

]]> Note that if you are using a USB keyboard, this may be configured as either a "normal" PC keyboard or as a USB-MAC keyboard. In the first case you will not be affected by this issue.

]]> Mouse configuration

Again because of the changes in the input layer, you may have to reconfigure the X Window System and If you currently have X configured for /dev/sunmouse, you probably need to change this to /dev/psaux.

]]>
Sound configuration

For the 2.6 kernel series the ALSA sound drivers are recommended over the older OSS sound drivers. ALSA sound drivers are provided as modules by default. In order for sound to work, the ALSA modules appropriate for your sound hardware need to be loaded. In general this will happen automatically if you have, in addition to the alsa-base package, either the hotplug package or the discover package installed. The alsa-base package also "blacklists" OSS modules to prevent hotplug and discover from loading them. If you have OSS modules listed in /etc/modules, you should remove them.

]]> ]]> XFree86 to X.Org transition

The transition to X.Org involves some structural changes. In case all installed packages are from Debian and also included in &releasename;, the upgrade should work without problems. However, experience has shown that there are a few changes to be aware of, as they can potentially cause issues during the upgrade.

The most important change is that /usr/X11R6/bin has been dropped and only remains as a symlink to /usr/bin. This means the directory has to be empty at the time the new packages are installed. The new packages conflict with most packages that used /usr/X11R6/bin, but in some cases manual intervention may be needed. Please remember to not run the distribution upgrade from within an X session.

In case the upgrade aborts during X.Org installation, you should check if any files are still left in /usr/X11R6/bin. You can then use dpkg -S to find out which Debian package installed that file (if any), and remove such packages with dpkg --remove. Please make a note which packages you remove, so that you can install substitute packages later on. Before continuing with the upgrade, all files in /usr/X11R6/bin need to be removed.

Please read for more details and other issues.

If you experience problems with X.Org after restarting, it might be also worth to restart the font server by running /etc/init.d/xfs restart. This happens due to /etc/X11/fs/xfs.options containing a line with no-restart-on-upgrade, but the font paths have changed.

No support for 8-bit displays in many applications

After the upgrade to the X.Org and the latest libraries, X terminals which can only represent colors 8 bits depth will not work. This is because the Cairo 2D vector graphics library (

Known systems that are affected by this include some Sun machines and X terminals from Tektronix, NCD, IBM and SGI, as well as some other remote X windowing systems. You should configure these terminals to use 16-bit colour, if possible.

More information is available in Freedesktop's .

Upgrading from exim to exim4

One of the packages that has been obsoleted by the &releasename; release is the Mail Transfer Agent (MTA)

Note that, depending on your configuration of

The on the Debian Wiki, and the README file can be found at and inside the packages as well.

The README file has a chapter about Packaging, which explains the different package variations we offer, and it has a chapter about Updating from Upgrading apache2

Apache has been upgraded to the new version 2.2. Although this shouldn't impact the average user, there are some potential issues to be aware of.

contains the upstream changes. Please read this page, and remember that especially:

all modules need to be recompiled

authorization modules have been resorted and renamed

some configuration options have been renamed

Debian-specific changes include that the string SSL is no longer defined, as ssl is now supported by the default package.

If you are using the experimental ITK MPM (from the # cd /etc/apache2/mods-enabled # rm cgid.conf cgid.load # ln -s ../mods-available/cgi.load . # /etc/init.d/apache2 force-reload

Upgrading Zope and Plone

Zope and all related products have been updated. Many products were also dropped from the distribution (either because they were obsoleted, or because they are incompatible with the newer Zope, CMF or Plone).

Unfortunately there is no easy and guaranteed way to upgrade a complex

For this reason, users are recommended to set up their system so they can continue to run the &oldreleasename; installation of Zope/Plone alongside the new &releasename; versions while testing the migration.

The easiest and safest way to achieve this, is to make a copy of your &oldreleasename; system to another hard disk or partition, and then upgrade only one of the two copies. You can then use

It is not possible to have the old and new versions of Zope/Plone installed together on an &releasename; system, partly because the old packages depend on Wildcard expansion (globbing) with GNU tar

Previous versions of GNU tar xf foo.tar '*.c' would extract all files whose names end in '.c'. This behavior was not documented and was incompatible with traditional

See /usr/share/doc/tar/NEWS.gz for further information.

NIS and Network Manager

The version of

This can be done by either uninstalling the /etc/default/nis to add

The use of Deprecated insecure php configurations

For many years, turning on the

Starting with this release, the Debian security team does not provide security support for a number of PHP configurations which are known to be insecure. Most importantly, issues resulting from

If you run legacy applications that require README.Debian.security file in the PHP documentation directory (/usr/share/doc/php4, /usr/share/doc/php5).

Security status of Mozilla products

The Mozilla programs firefox and thunderbird (rebranded in Debian to iceweasel and icedove, respectively), are important tools for many users. Unfortunately the upstream security policy is to urge users to update to new upstream versions, which conflicts with Debian's policy of not shipping large functional changes in security updates. We cannot predict it today, but during the lifetime of &releasename; the Debian Security Team may come to a point where supporting Mozilla products is no longer feasible and announce the end of security support for Mozilla products. You should take this into account when deploying Mozilla and consider alternatives available in Debian if the absence of security support would pose a problem for you.

KDE desktop

KDE media handling has changed in the version available in &releasename; from using device:/ to media:/. Some user configuration files might have stored device:/ links in them which should be adapted. Notably, ~/.kde/share/apps/konqsidebartng/virtual_folders/services contains this reference and can be safely deleted as it will not be created when setting up new users.

There have been many changes in the KDE desktop environment from the version shipped in &oldreleasename; to the version in &releasename;, you can find more information in the .

GNOME desktop changes and support

If you used the GNOME desktop in &oldreleasename; you will not benefit from some of the changes introduced in the default configuration in Debian for &releasename;. In some extreme cases the GNOME desktop might not properly handle your old configuration and might not behave properly.

If you have not heavily invested in configuring your GNOME desktop you might want to move the .gconf directory in user's home directories to a different name (such as .gconf.old) so that it gets recreated, with the default configuration for &releasename;, upon starting a new session.

With the release of &releasename;, Debian no longer contains packages for most of the obsolete version 1 release of GNOME, although some packages remain in order to support some Debian packages which have not yet been updated to GNOME 2. Packages for GTK1.2 remain fully maintained.

There have been many changes in the GNOME desktop environment from the version shipped in &oldreleasename; to the version in &releasename;, you can find more information in the .

Default editor

If you were using

Administrators who wish to change the default editor for all users will have to update the alternatives system using: # update-alternatives --config editor

Users wishing to change the default editor can define the environment variable EDITOR by introducing the following lines in their own profiles: EDITOR=vi export EDITOR alias editor=$EDITOR

Message of the day

/etc/motd is now a symlink to /var/run/motd which is rebuilt by /etc/init.d/bootmisc.sh from a template, /etc/motd.tail, at each reboot. It means that changes made to /etc/motd will be lost. Changes made into /etc/motd.tail are not automatically applied to /etc/motd other than at reboot.

Also, The EDITMOTD variable at /etc/default/rcS no longer has any effect. If you wish to disable updating of the motd, or want to maintain your own content for the message of the day you just have to point the /etc/motd symlink to a different file such as /etc/motd.static and make your changes there.

Not default support for unicode in emacs21*

Emacs21 and emacs21-nox are not configured to use Unicode by default. For more information and a workaround please see .

More information on &debian; Further reading

Beyond these release notes and the installation guide, further documentation on &debian; is available from the Debian Documentation Project (DDP), whose goal is to create high-quality documentation for Debian users and developers. Documentation, including the Debian Reference, Debian New Maintainers Guide, and Debian FAQ are available, and many more. For full details of the existing resources see the .

Documentation for individual packages is installed into /usr/share/doc/package. This may include copyright information, Debian specific details and any upstream documentation.

Getting help

There are many sources of help, advice and support for Debian users, but these should only be considered if research into documentation of the issue has exhausted all sources. This section provides a short introduction into these which may be helpful for new Debian users.

Mailing lists

The mailing lists of most interest to Debian users are the debian-user list (English) and other debian-user-. Please check the archives for answers to your question prior to posting and also adhere to standard list etiquette.

Internet Relay Chat

Debian has an IRC channel dedicated to the support and aid of Debian users located on the OFTC IRC network. To access the channel, point your favorite IRC client at &debian-irc-server; and join #debian.

Please follow the channel guidelines, respecting other users fully. The guidelines are available at the .

For more information on OFTC please visit the .

Reporting bugs

We strive to make Debian GNU/Linux a high quality operating system, however that does not mean that the packages we provide are totally free of bugs. Consistent with Debian's "open development" philosophy and as a service to our users, we provide all the information on reported bugs at our own Bug Tracking System (BTS). The BTS is browseable at .

If you find a bug in the distribution or in packaged software that is part of it, please report it so that it can be properly fixed for future releases. Reporting bugs requires a valid email address. We ask for this so that we can trace bugs and developers can get in contact with submitters should additional information be needed.

You can submit a bug report using the program reportbug or manually using email. You can read more about the Bug Tracking System and how to use it by reading the reference cards (available at /usr/share/doc/debian if you have doc-debian installed) or online at the .

Contributing to Debian

You do not need to be an expert to contribute to Debian. By assisting users with problems on the various user support you are contributing to the community. Identifying (and also solving) problems related to the development of the distribution by participating on the development is also extremely helpful. To maintain Debian's high quality distribution, and help developers track them down and fix them. If you have a way with words then you may want to contribute more actively by helping to write or existing documentation into your own language.

If you can dedicate more time, you could manage a piece of the Free Software collection within Debian. Especially helpful is if people adopt or maintain items that people have requested for inclusion within Debian. The details this information. If you have an interest in specific groups then you may find enjoyment in contributing to some of Debian's subprojects which include ports to particular architectures, and .

In any case, if you are working in the free software community in any way, as a user, programmer, writer or translator you are already helping the free software effort. Contributing is rewarding and fun, and as well as allowing you to meet new people it gives you that warm fuzzy feeling inside.

Managing your &oldreleasename; system

This appendix contains information on how to make sure you can install or upgrade &oldreleasename; packages before you upgrade to &releasename;. This should only be necessary in specific situations.

Upgrading your &oldreleasename; system

Basically this is no different than any other upgrade of &oldreleasename; you've been doing. The only difference is that you first need to make sure your package list still contains &oldreleasename; packages as explained in .

If you upgrade your system using a Debian mirror, it will automatically be upgraded to the latest &oldreleasename; point release.

Checking your sources list

If any of the lines in your /etc/apt/sources.list refer to 'stable', you are effectively already "using" &releasename;. If you have already run apt-get update, you can still get back without problems following the procedure below.

If you have also already installed packages from &releasename;, there probably is not much point in installing packages from &oldreleasename; anymore. In that case you will have to decide for yourself whether you want to continue or not. It is possible to downgrade packages, but that is not covered here.

Open the file /etc/apt/sources.list with your favorite editor (as root) and check all lines beginning with deb http: or deb ftp: for a reference to "

If you have any lines starting with deb file:, you will have to check for yourself if the location they refer to contains a &oldreleasename; or an &releasename; archive.

deb cdrom:. Doing so would invalidate the line and you would have to run

If you've made any changes, save the file and execute # apt-get update to refresh the package list.