Release Notes for Debian GNU/Linux 2.1 (Slink) ---------------------------------------------- Bob Hilliard Adam Di Carlo version 2.1.10-31, 3 June, 1999 ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- 1. What's New in Debian GNU/Linux 2.1 ------------------------------------- [The most recent version of this document is always available at www.debian.org/~hilliard/Release-Notes. If your version is more than a month old, you might wish to download the latest version.] Debian 2.1, also known as ``slink'', introduces two additional architectures into the officially released set: Alpha (``alpha''), and SPARC (``sparc''). The officially supported architectures from Debian's previous release, Intel x86 (``i386'') and Motorola 680x0 (``m68k''), are of course still supported. This brings the total number of supported architectures to four, which is greater than the number of architectures supported by any other GNU/Linux distribution. Debian 2.1 ships with kernel version 2.0.36 for the Intel x86 architecture. The X Window System packages, now at 3.3.2.3a, have undergone major changes that you might want to be aware of. See Section 4.1, `The Great X Reorganization' for details. The number of distributed packages in our main distribution is now around 2250. As always, the distribution is growing around 50% per release; it shows no sign of slackening. The sparc port of Debian is based on a pre-release of the shining new glibc2.1. So it's probably _the_ first distribution which is glibc2.1 based. Programmers' note: glibc2.1 is binary compatible but not source compatible. Almost everything compiled for glibc2 will run on glibc2.1, but if you recompile with glibc2.1 headers sometimes you've got to fix a couple of constructs which are no longer allowed in glibc2.1. Unlike the transition from 1.3.x (``bo'') to 2.0 (``hamm''), the changes from 2.0 to 2.1 are incremental. New versions are included, fixes for bugs, etc. `apt', which is used in conjunction with `dpkg', is now the preferred package installation tool, except for installation from CDs. `apt' can be used as a package acquisition (download) method in `dselect', or it can be used from the command-line as `apt-get'. `apt' will internally model the entire state of your installed packages, and will do its best to ensure that all package dependencies are met at all times. Due to the increased number of packages, the Official CD-ROM distribution must ship as _two_ binary package CD-ROMs. If a vendor adds portions of non-free and non-US to a CD set, there may be three binary CDs. A new access method for `dselect', `multi_cd' has been developed to deal with multiple CD-ROMS. While a "workaround" to use `apt' with multiple CDs exist, the `apt' counterpart of the `multi_cd' access method for `dselect' is still beta software. Therefore `dselect' with the multi_cd access method is the preferred installation tool for installation from CDs. The Debian installation system, which is called the `boot-floppies' (even though it is for more than just floppies), has been streamlined and upgraded for user's convenience. The documentation has been expanded and corrected; documentation for the new architectures has been added (but may be sketchy for non-x86 architectures, help is still needed). ------------------------------------------------------------------------------- 2. Installing ------------- If you are making a new installation of Debian, you should read the installation manual, which is available on the Internet at http://www.debian.org/releases/2.1/ARCH/install and on the Official CD at /dist/slink/main/disks-ARCH/current/install.txt or .html. (Substitute your architecture [alpha, i386, m68k, or sparc] for ARCH) ------------------------------------------------------------------------------- 3. Upgrading ------------ 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 during an upgrade could be catastrophic. If your i386 system has not yet been upgraded to Debian 2.0 (hamm), you should first upgrade to libc6, as described in /upgrade-older-i386/README-upgrade on this CD. Regardless of the method used for upgrading, it is recommended that you check the status of all packages first. This can be done by `dpkg -l | less' or `dpkg --get-selections > filename', or it can be done in `dselect'. 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. Holds can be removed in `dselect', or by editing the file produced by `dpkg --get-selections > filename' to change "hold" to "install". Then, with root permissions, do `dpkg --set-selections < filename'. Any package installation operation must be run with superuser privileges, so either login as root or use `su' or `sudo' to gain these privileges. It is strongly recommended that you use `/usr/bin/script' to record a transcript of the upgrade session -- in fact, it is a good idea to use script to record any `dselect' session (and anything else you do that it is desirable to record). Then if any problems develop, you can see what happened. `script' will write this transcript to the file specified as an argument (`script ') or to the default filename, `typescript'. There are two methods of upgrading to slink -- using `apt-get' directly, or using `dselect'. 3.1. Using `apt-get' -------------------- If you have not already installed `apt', we suggest you do so now. If you are installing from CD-ROM, you can install it directly from the CD-ROM. As root, run: for i386 systems: `dpkg -i /upgrade-2.0-i386/apt_0.1.8_i386.deb' for other architectures: `dpkg -i /debian/dists/slink/main/binary-ARCH/admin/apt*.deb' (Substitute your architecture [alpha, m68k, or sparc] for ARCH) It is recommended that you read the apt-get(8) and the sources.list(5) man pages at this time. Before beginning the upgrade you must set up `apt''s configuration file, `/etc/apt/sources.list'. The default configuration is suitable for installation from the Internet, but you may wish to modify `/etc/apt/sources.list' to use other mirrors or your local mirror. If you are installing from a CD, see Section 3.2, `Upgrading from CD-ROMs:' Once you have configured `apt', run (as root): apt-get update apt-get -f dist-upgrade Some people prefer to run `apt-get -f --dry-run dist-upgrade | less' prior to `apt-get -f dist-upgrade' in order to see what will happen. While this may be somewhat time consuming, it may avoid some surprises. If new versions of packages currently installed are available, `apt-get dist-upgrade' and `apt-get upgrade' retrieve and upgrade them; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. 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. 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 `-f' (fix) 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. It is possible that a system's dependency structure can be so corrupt as to require manual intervention (which usually means using `dselect' or `dpkg --remove ' to eliminate some of the offending packages). If `apt' reports some broken packages after these two commands, try to repair the system (perhaps removing the broken packages or installing missing dependencies). If you can not repair the system to `apt''s satisfaction, you must use the `dselect' method with a non-`apt' backend to upgrade. 3.2. Upgrading from CD-ROMs: ---------------------------- The apt code for handling multiple CDs was not completed in time for the slink release, but there is a workaround available. In `/etc/apt/sources.list', add as the first line after the instructional comments: deb file:/debian stable main The other `deb' lines should be commented out by placing a # before them. Then insert the first Binary CD, mount it, and, as root, run apt-get update apt-get dist-upgrade As mentioned above, `apt-get -f --dry-run dist-upgrade | less' may be used before `apt-get dist-upgrade' to avoid surprises. While the first CD is still mounted, it would be a good idea to run `apt-get install dpkg-multicd'. Unmount the first Binary CD, replace it with the second Binary CD, and mount that one. Then change the line in `/etc/apt/sources.list' to deb file:/debian stable main contrib and repeat the `update' and `dist-upgrade' steps, as shown above. After upgrading, unmount the last CD but leave it in the CD-ROM drive. Then start `dselect'. [A]ccess, choose the new `multi_cd' install method, give the correct /dev-name and Enter on all following questions (the second Binary CDROM should be in the drive when doing this!). [U]pdate. Then [S]elect; press Space to leave the help screen. In the package selection screen, press Shift-D followed by Enter immediately. It is very likely that there will be some dependency conflicts, in which case you will see a help screen. Exit the help screen by pressing space, and inspect the list of packages that is presented. You may change the calculated states, but this is not recommended; just pressing Enter should solve all dependencies/conflicts satisfactorily. Then [I]nstall. After [I]nstall, another [C]onfigure is usually needed. In rare cases, it may be necessary to repeat [I]nstall and [C]onfigure. The Official Debian CD Set has two Binary CDs. Some vendors produce a set with three Binary CDs, including all or part of non-free and/or non-US. If you have a third Binary CD, unmount the second CD and insert and mount the third one. Change the line in /etc/apt/sources.list to deb file:/debian stable non-free non-US (Omit non-free or non-US if your CD doesn't include them.) Then repeat the `update' and `dist-upgrade' steps as above. Note that you have to rerun [A]ccess and [U]pdate in `dselect' after this step, as described above. A few versions of such unofficial third Binary CDs have a structure that makes it possible to have them inserted while performing the [A]ccess and [U]pdate steps; if you have such a CD, packages from all three CDs will be accessible from `dselect' simultaneously. An "unofficial alternative" using the potato version of `apt', version 0.3.x, is available. Keep in mind that the 0.3.x `apt' is still beta, so bugs are probably still present. Jason Gunthorpe , one of the principal authors of `apt', writes: The real solution is to install `apt' 0.3 from potato and use its built in CD handling through apt-cdrom. I have made a special source specifically for this, which can be accessed by putting the line ``deb http://www.debian.org/~jgg apt/'' in `sources.list', and then running `apt-get update; apt-get install apt'. This version contains the latest glibc 2.0 linked `apt' v. 3.x. Install whatever APT you can, add the above to your sources.list (and maybe a temporary file: uri for the first CD-ROM) and then do 'apt-get install apt'. Next insert the first disc, run 'apt-cdrom add', then insert the second disc and run 'apt-cdrom add' then run 'apt-get dist-upgrade -m' twice (or is it 3 times?) 3.3. Using dselect ------------------ This section assumes that you have some knowledge of `dselect'. After all, you did install the system you are trying to upgrade, didn't you? There is a beginner's tutorial for `dselect' on the CD at dists/stable/main/disks-ARCH/current/ in case you need to refresh your memory. [Substitute your architecture [alpha, i386, m68k, or sparc] for ARCH] The first step in using `dselect' is to choose an ``Access'' method. More information about the access methods, and which one you should choose, can be found in the `dselect Tutorial' mentioned above. The `apt' access method for `dselect' is the fastest one presently available. It installs and configures the packages in the proper sequence, so all dependencies are resolved when the packages are unpacked, making a second pass unnecessary. However, the `apt' access method is not yet able to handle multiple CDs correctly. If any packages on your system are so broken that `apt-get upgrade' cannot be used, the `apt' access method will also fail. The `mounted' access method for dselect installs and configures any pre-depends first, which reduces the number of install passes necessary. The `mountable' access method also attempts to install and configure pre-depends first, and is relatively fast. These methods may be used if you are upgrading from anything else than a CD Set. (There are some known problems with the pre-dependency handling of these access methods; in case of problems, try to use the `apt' method as described above.) The recommended access method for use with multiple CDs is the `multi_cd' method. To use this method, first install `dpkg-multicd' using: `dpkg -i /dists/stable/main/binary-ARCH/base/dpkg-multicd*' [Substitute your architecture [alpha, i386, m68k, or sparc] for ARCH] or `apt-get install dpkg-multicd' Refer to README.multicd on the first CD and, after installing `multi-cd', /usr/doc/dpkg-multicd/readme.txt.gz for using this method. The hamm version of the `http' access method does not handle pre-Depends properly; it is not recommended. If this version of dpkg-http is used to upgrade there will be a prompt "Abort automatic installation (Y/n)? " for every Pre-Depends. Due to a bug in hamm's dpkg-http the user should hit `Ctrl-C' instead of `Y' at this point and manually install (`dpkg -i') the requested package. `dselect' should then be restarted to find the next pre-Dependency. To save time the user may wish to manually install all of the following slink packages: `libc6', `libncurses4', `libreadlineg2', `libstdc++2.9', `slang1', and `libhtml-parser-perl'. Regardless of the access method used, it is recommended that you first upgrade your existing packages before adding any new ones. Run the [A]ccess, [U]pdate, and [S]elect steps of `dselect' initially. As soon as you enter ``Select'' you should press `D' (shift-D) then _Enter_ immediately. A conflict/depends resolution screen will probably be presented. After resolving the conflicts (usually you can just press Enter), run [I]nstall, and then [C]onfigure to simply upgrade all installed packages. After that you may use the [S]elect and [I]nstall options to install additional packages, if desired. When `dpkg' or `dselect' upgrade many packages, it is usually necessary to repeat the install and configure steps several times before the whole system is configured. Depending on the access method chosen, it may be necessary to repeat the [U]pdate step between install passes. It may be helpful to exit `dselect' and restart it immediately before the [U]pdate step. 3.4. General Cautions --------------------- You should not run the upgrade from any X session managed by `xdm' on the machine you are upgrading. `xdm' and `xfs' are stopped on upgrade, so you would end up with a half-upgraded machine when X suddenly shuts down. If the machine is configured to start X automatically on boot, it may be difficult to fix. If the X server you are using refers to the upgrading host for `xfs' font services, it will lose its connection to the font server when `xfs' is stopped. This is not fatal but can be annoying. If in doubt about whether your X session is handled by `xdm' or not, upgrade your machine from a Linux virtual console. You should not do the upgrade over a remote telnet connection, unless you install the `netstd' and `telnetd' packages from slink first. When the old `netstd' package is removed, the telnet connection will be broken, and you won't be able to reconnect until the `telnetd' package is installed. ------------------------------------------------------------------------------- 4. Details Concerning Slink --------------------------- 4.1. The Great X Reorganization ------------------------------- This section was prepared by Branden Robinson . The Great X Reorganization happened at version 3.3.2.3a-2, which was a Debian 2.1 ("slink") release. `xbase' used to be a catch-all package, containing all kinds of miscellaneous data, programs, and documentation. That is no longer the case. Its contents have been redistributed among other packages, and in many cases, completely new packages have been created. New packages were created for a variety of reasons: 1. In some cases, there were undeclared dependencies on other programs. For instance, the `rstart' and `rstartd' programs depend on `rsh'. 2. There are several programs which are daemons and should be split out for easier management. This includes `xdm' and `xfs'. Since these programs are now in their own packages, they no longer need to refer to `/etc/X11/config' to determine whether they should run or not. 3. Some of the X clients provided in the former `xbase' package, like `twm', `xmh', and `xterm', have very popular replacements, and may just be a waste of disk space for some people. (It's worth keeping in mind that all of the X source code, even the libraries, was originally intended to be only a "sample implementation" of various standards.) 4. It is desirable to have a common foundation for both systems designed to be X terminals (which run all their X clients from a remote machine) and for application servers which may not need to run X servers on their own display hardware. That is the purpose of the new `xfree86-common' package. It also simplifies the task of dealing with any large changes in the X directory name space that may arise in the future (e.g., X11R7, or simply putting all of X in `/usr'). The new packages in the Debian XFree86 distribution are `rstart', `rstartd', `twm', `xbase-clients', `xdm', `xfree86-common', `xfs', `xmh', `xproxy', `xserver-common', `xsm', and `xterm'. Some files from the old `xbase' package were also placed in `xlib6g' (XKB and locale data) and `xlib6g-dev' (development tools). `xbase' is now an effectively empty package that exists only to have the package management system automatically "pull in" the new packages (and the latest versions of the X libraries). Once it has been upgraded, it may be safely removed. Furthermore, the X font and static library packages have been renamed (see section 3.2, `Renamed Packages' below). We believe the new names are less cryptic. Note, however, that the old packages may not necessarily be automatically upgraded to the new versions. This is because their names have changed, and as yet there is no easy way to tell the packaging system that a package has changed its name. However, there are no serious consequences of leaving the old X fonts and static libraries around. The contents of these packages have not changed. The X font server, for instance, formerly in `xbase' but now in its own package, works just as well with `xfntbase' as with `xfonts-base'. Still, it is advisable to install the renamed versions of these packages as soon as is convenient, in the event that their contents do change in the future. In summary, there are four important points to note: 1. After upgrading, the `xbase' package should be removed. Leaving it in place will make it necessary to supply the `--force-depends' option to dpkg to remove any package that xbase depends on (such as `xdm' or `xfs'). dpkg --remove xbase 2. The `xdm' and `xfs' daemons will automatically start on boot; since `xdm' defaults to managing a local X server, this can be somewhat surprising to people who did not use `xdm' before. If you do not wish these programs to run at all, remove the packages before your next reboot. dpkg --remove xdm dpkg --remove xfs 3. The `/etc/X11/config' file is no longer used by the X packages and may be removed if you have not customized any other programs or configuration files to use it. Note especially that this file no longer has anything to do with whether `xdm' and `xfs' are stopped or started. The flags previously in this file have been distributed among other configuration files. After the upgrade is complete, the following manual pages will get you up to speed. man Xsession.options man xdm.options man xfs.options 4. The following commands can be used to upgrade to the new X font and static library packages. Note that most people will only need the first four listed packages; if you require any of the others, you will probably know it. Multiple package names can be listed after the `--install' option to speed things up. To use these commands as is, you will need to be in a directory that contains the appropriate package files. dpkg --install xfonts-base_3.3.2.3a-11.deb dpkg --install xfonts-75dpi_3.3.2.3a-11.deb dpkg --install xfonts-100dpi_3.3.2.3a-11.deb dpkg --install xfonts-scalable_3.3.2.3a-11.deb dpkg --install xfonts-cjk_3.3.2.3a-11.deb dpkg --install xfonts-cyrillic_3.3.2.3a-11.deb dpkg --install xfonts-pex_3.3.2.3a-11.deb dpkg --install xlib6-static_3.3.2.3a-11.deb dpkg --install xlib6g-static_3.3.2.3a-11.deb 4.2. Renamed Packages --------------------- NOTE: There is some overlap between this section and Section 4.1, `The Great X Reorganization'. The following packages have been renamed as shown. In most, if not all, cases, Conflicts:, Depends:, and Provides: have been provided so the new package will be installed automatically to replace the old one. libc6-doc -> glibc-doc xfntbase -> xfonts-base xfnt75 -> xfonts-75dpi xfnt100 -> xfonts-100dpi xfntbig -> xfonts-cjk xfntcyr -> xfonts-cyrllic xfntpex -> xfonts-pex xfntscl -> xfonts-scalable xslib -> xlib6-static xslibg -> xlib6g-static 4.3. Split Packages ------------------- NOTE: There is some overlap between this section and section 4.1, `The Great X Reorganization'. Between 2.0 (hamm) and 2.1 (slink), 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 display a notice warning of the split during the installation, some mention it in the package description, and some 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 more packages to restore the original functionality. Failing that, check the changelog for the package, which can be found in `/usr/doc//changelog.Debian.gz'. The following is a list of packages that have been split (this list may not be complete): graphics/ivtools-bin_0.6.2-4.deb split into 2 packages: devel/ivtools-dev graphics/ivtools-bin mail/imap_4.2-1.deb split into 2 packages: mail/imap mail/ipopd misc/plan_1.6.1-7.deb split into 2 packages: misc/netplan misc/plan net/netstd_3.07-2.deb split into 10 packages: mail/vrfy net/bwnfsd net/netstd net/nfs-server net/rexec net/talk net/talkd net/telnet net/telnetd non-free/net/pcnfsd news/slrn_0.9.4.3-4.deb split into 2 packages: news/slrn news/slrnpull utils/nosql_0.9-0.deb split into 2 packages: utils/nosql utils/nosql-fastops web/apache_1.3.0-2.deb split into 2 packages: web/apache web/apache-common web/php3_3.0-2.deb split into 2 packages: web/php3 web/php3-cgi x11/wmaker_0.14.1-7.deb split into 2 packages: x11/asclock x11/wmaker x11/xbase_3.3.2.3-2.deb split into 16 packages: mail/xmh x11/rstart x11/rstartd x11/twm x11/xbase x11/xbase-clients x11/xdm x11/xext x11/xf86setup x11/xfs x11/xlib6g-dev x11/xmodmap x11/xproxy x11/xserver-common x11/xsm x11/xterm x11/xserver-vga16_3.3.2.3-2.deb split into 2 packages: x11/xf86setup x11/xserver-vga16 ------------------------------------------------------------------------------- Release Notes for Debian GNU/Linux 2.1 (Slink) Bob Hilliard Adam Di Carlo $Id: Release-Notes,v 0.31 1999/06/03 19:14:08 bob Exp bob $