Release Notes for Debian GNU/Linux 2.1 (Slink) ---------------------------------------------- Bob Hilliard Adam Di Carlo version 2.1.8.1, 01 March, 1999 ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- 1. What's New in Debian 2.1 --------------------------- Debian 2.1, also known as ``slink'', introduces two additional architectures into the officially released set: DEC Alpha (``alpha''), and SPARC (``sparc''). The officially supported architectures from Debian's 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. 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 aren't allowed anymore in glibc2.1. The number of distributed packages in our main distribution is now around 2250. As always, the distribution is growing around 50% per release; it show no sign of slackening. 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' is not the officially blessed package installation tool, which is to be used in conjunction with `dpkg'. `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, CD-ROM distributions must ship as _two_ binary package CD-ROMs. This has necessitated an upgrade of the installation tools, in order to deal with multiple CD-ROMs. 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 still may be sketchy for non-x86 architectures, help is still needed). 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 3.1, `The Great X Reorganization' for details. ------------------------------------------------------------------------------- 2. Upgrading ------------ If your i386 system not yet been upgraded to Debian 2.0 (hamm), you should first upgrade to libc6, as described in ftp://ftp.debian.org/debian/dists/slink/main/upgra de-older-i386/README-upgrade. 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'. 2.1. Using `apt-get' -------------------- If you have not already installed `apt', we suggest you download and install it, from ftp://ftp.debian.org/debian/dists/slink/main/upgra de-2.0-i386/apt_0.1.8_i386.deb. Depending on your browser you may need to take special action to download directly to a file, in raw binary mode. For example, in Netscape you need to hold the shift key when clicking on the URL to retrieve the file. Install the downloaded package as root with the command `dpkg -i apt*.deb'. If you are installing from CD-ROM, you can install it directly from the CD-ROM. As root, run dpkg -i /upgrade-2.0-i386/apt_0.1.8_i386.deb 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. If you are installing from CD-ROM, add as the first line after the instructional comments: deb file:/debian stable main If you do not yet have Internet access (or do not want to download any new security fixes) on the machine then comment out the other two lines. Otherwise you may select a closer mirror. Once you have configured `apt', run: apt-get update apt-get -f dist-upgrade If new versions of packages currently installed are available, `apt-get' upgrade retrieves and upgrades 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. 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 `cd_autoup.sh' method to upgrade. 2.2. 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' at http://www.debian.org/releases/2.1/i386/dselect-beginner in case you need to refresh your memory. The first step in using `dselect' is to choose an ``Access'' method. 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. 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. 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'. It is recommended that you first upgrade your existing packages before adding any new ones. Run the ``Access'', ``Update'', and ``Select'' steps of `dselect' initially. As soon as you enter ``Select'' you should press _Enter_ immediately. A conflict/depend resolution screen will probably be presented. After resolving the conflicts (usually you can just press _Enter_, run ``Install'', and then ``Configure'' to simply upgrade all installed packages. After that you may use the ``Select'' and ``Install'' modules 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 desirable to repeat the ``Update'' step between install passes. It may be helpful to exit `dselect' and restart it immediately before the ``Update'' step. 2.3. General Cautions --------------------- `dpkg' does not yet handle locales properly. If you use locales, you must set `LC_ALL=C' before upgrading, otherwise `dpkg' may break during the upgrade. You should not run the upgrade from an X terminal or a remote X server. `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. You should not do the upgrade over a remote telnet connection, unless you install the `net' 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 `telnetd' is installed. ------------------------------------------------------------------------------- 3. Details Concerning Slink --------------------------- 3.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'. 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. The following list summarizes these changes: xfntbase -> xfonts-base xfnt75 -> xfonts-75dpi xfnt100 -> xfonts-100dpi xfntscl -> xfonts-scalable xfntbig -> xfonts-cjk xfntcyr -> xfonts-cyrillic xfntpex -> xfonts-pex xslib -> xlib6-static xslibg -> xlib6g-static 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. 3.2. Renamed Packages --------------------- NOTE: There is some overlap between this section and section 3.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 3.3. Split Packages ------------------- NOTE: There is some overlap between this section and section 3.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 text/a2ps_4.10.2-4.deb split into 2 packages: net/mime-support text/a2ps 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.2-4.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.2-4.deb split into 2 packages: x11/xf86setup x11/xserver-vga16 imap_4.4-4.deb deb split into 2 packages: imap ipopd ------------------------------------------------------------------------------- Release Notes for Debian GNU/Linux 2.1 (Slink) Bob Hilliard Adam Di Carlo version 2.1.8.1, 01 March, 1999