Red Hat Linux 7.0 (Guinness) Release Notes
------------------------------------------

This document describes features that are new to Red Hat Linux 7.0, but may
not have been available prior to our documentation being finalized.

Installation-Related Enhancements
---------------------------------

The Red Hat Linux 7.0 installation program includes a number of new
features.  For more information, please refer to the Official Red Hat Linux
Installation Guide.

Improvements to Red Hat Linux 7.0 which will make installation even
easier include:

    o New Multi-CD Install -- The Red Hat Linux 7.0 installation program is
      now capable of installing Red Hat Linux from multiple CD-ROMs.
      Because of this change, if you intend to support NFS, FTP, or HTTP
      installations, it is no longer possible to simply mount a single Red
      Hat Linux CD-ROM, and install from it.

      Instead, you must copy the RedHat directory from each CD-ROM
      comprising Red Hat Linux 7.0 onto a disk drive:

        - Insert CD 1
          mount /dev/cdrom /mnt/cdrom
          cp -var /mnt/cdrom/RedHat /location/of/disk/space
          umount /mnt/cdrom

        - Insert CD 2
          mount /dev/cdrom /mnt/cdrom
          cp -var /mnt/cdrom/RedHat /location/of/disk/space
          umount /mnt/cdrom

      You must then make /location/of/disk/space accessible to the
      installation program (for example, exporting it for NFS
      installations):

        - Export /location/of/disk/space

    o Installation Program Supports RPM 4.0 -- The Red Hat Linux 7.0
      installation program now supports the newest version of the RPM
      Package Manager: RPM 4.0.  Because RPM 4.0 uses a new database
      format, the Red Hat Linux 7.0 installation program automatically
      migrates the rpm database to the new format during upgrades.  For
      more information, please see the "RPM 4.0" section below.

    o XFree 4.0.1 -- Configuration of your X Window System during the
      installation has never been more thorough. From choosing your monitor
      and its correct settings, to video card probing, to testing your
      desired X setup, Xconfigurator will help you set everything just
      right.

    o Labels are used by default in the installer and /etc/fstab -- The
      ext2 filesystem's support for labels is now used in Red Hat Linux
      7.0.  Note that this applies to fresh installations only; upgrades to
      Red Hat Linux 7.0 from prior versions of Red Hat Linux will not be
      configured to use labels.  In fresh installations, the installer
      creates labels for all ext2 filesystems created during the
      installation process, and /etc/fstab uses the labels to associate the
      filesystems with their mount points.  (Note that you can use e2label
      after installation to display/change any filesystem's label.)

    o USB Support -- The installation program now supports USB devices
      (mice and keyboards).

    o Help Text Available in Text Mode Installation -- Help text has been
      added to the text mode installation program to further assist you
      during your installation of Red Hat Linux 7.0. By pressing F1, you
      can enable help text for that specific screen. Press Enter to close
      the help text screen.

    o Install-Time LDAP and Kerberos Configuration -- LDAP and Kerberos can
      now be configured for account authentication at install-time (custom
      installations only).

    o Unsupported Workaround for 1024 Cylinder LILO Limitation -- If your
      BIOS and hard drive support EDD block transfers, you can enter "linux
      lba32" at the "Boot:" prompt when booting the installation program.
      This will enable you to place the linux kernel on any partition,
      regardless of the starting cylinder.  USE THIS OPTION AT YOUR OWN
      RISK; IT IS NOT SUPPORTED.

System-Related Enhancements
---------------------------

There are many features new to Red Hat Linux 7.0 that are not part of the
installation process.  Some new features are tools or applications that you
can use, while others are new versions of the kernel or desktop
environments.  This list will provide a bit more information about what to
expect from Red Hat Linux 7.0 once you are actually using the OS itself.

    o Upgraded Core System Components -- The following major system
      components have been upgraded in Red Hat Linux 7.0:

        - glibc 2.1.92 (compatible with 2.2 kernel, but 2.4-ready as well)
        - XFree86 4.0.1, XFree86 4.0.1 runtime environment
        - XFree86 3.3.6 X servers included for maximum hardware compatibility
        - GNOME 1.2
        - kernel 2.2.16
        - GCC 2.96

    o New and Updated Drivers -- Many drivers are new to Red Hat Linux 7.0,
      or have been newly upgraded, including but by no means limited to:

        - aacraid 1.0.6
        - qla2x00 2.23
        - e1000 2.0.7
        - e100 1.2.1
        - cciss 1.0.0
        - 3c90x 1.0.0i
        - emu10k1
        - 2.4 USB backport
        - kaweth
        - Tachyon FibreChannel
        - SysKonnect FDDI
        - Crystal SoundFusion support
        - lm_sensors
        - pcmcia 3.1.19 (better PCMCIA/Cardbus support)

    o RPM 4.0 -- The newest version of the RPM Package Manager is included
      in Red Hat Linux 7.0.  RPM 4.0 now includes a virtualized database
      access framework.  This has allowed migration of the RPM database
      from Berkeley DB 1 to Berkeley DB 3.1 format.  The Red Hat Linux 7.0
      installation program automatically migrates DB 1 databases to the new
      DB 3.1 format.  To migrate from DB 1 to DB 3.1 manually, use RPM's
      --rebuilddb option, specifying two additional options:

          rpm --rebuilddb --dbapi 1 --rebuilddbapi 3

      This automatically converts DB 1 databases to the new DB 3.1 format.
      To revert to DB 1 format after migrating to DB 3.1, use this command:

          rpm --rebuilddb --dbapi 3 --rebuilddbapi 1

      Many parameters in the RPM database can be tuned using RPM macros.
      For more information, read /usr/lib/rpm/macros.  Local modifications
      should be made to /etc/rpm/macros.

      RPM 4.0 can install packages built with RPM 2.0 and later.  Support
      for legacy RPM 1.0 packages has been disabled.  Please note that
      packages built with the default settings in RPM 4.0 cannot be
      installed on versions of RPM less than 3.0.5.  RPM 4.0 is capable of
      building packages compatible with older versions of RPM, but this is
      not enabled by default.

      When building binary packages with RPM 4.0, users can now take
      advantage of new %configure and %makeinstall macros for packages
      utilizing autoconf for build configuration.  The macros pass FHS
      compliant paths to the configuration scripts.  Combined with RPM
      macro definitions for the various paths passed to %configure, this
      greatly simplifies migrating packages to FHS paths.

    o Packages Optimized -- All packages that comprise Red Hat Linux 7.0
      have been optimized for maximum performance.  Some packages are
      optimized for Pentium Pro and above processors while remaining
      compatible with 386, 486, and Pentium processors.  Other packages are
      optimized for a specific processor family (with the installation
      program installing the package with the most appropriate
      optimizations).  As in prior releases, Red Hat Linux 7.0 installs
      kernels optimized for a specific processor family for maximum
      performance.

    o Basic USB Support -- Red Hat Linux 7.0 includes support for USB
      devices (primarily mouse and keyboard devices, although modules for
      other device types are included).  The usbview graphical tool is also
      included, and can be used to display the devices present on the
      Universal Serial Bus.

    o IDE Disk Drive Tuning Now Easier -- For the adventurous user, IDE
      disk drive tuning parameters (for improving performance) can be found
      in the /etc/sysconfig/harddisks file.

    o Expanded Hardware Accelerated 3-D Support -- Accelerated 3-D support
      is included for the following graphics chipsets, using the
      XFree86-4.0.1 DRI/DRM infrastructure:

        - Intel i810/i815
        - ATI Rage 128
        - Matrox G200

      Note that these modes require quite a bit more memory than the
      ordinary modes, which can cause previously working modes to fail. If
      you'd rather have high resolution than accelerated 3-D on these
      cards, run Xconfigurator with the --nodri option, or comment/remove
      the "dri" line from the "Module" section in /etc/X11/XF86Config-4.
      You must then add your desired resolutions to the "Display"
      subsection of the "Screen" section after creating a file with
      lower resolutions in Xconfigurator.

      Other 3-D chipsets may work, through the use of third-party drivers
      and/or software.  Contact the manufacturer of your chipset for more
      information.

      At the time of the Red Hat Linux 7.0 release, the X server is
      automatically configured in such a way that allowed only the
      root user to use the DRI functionality.  This is because DRI
      requires kernel interaction.  A workaround to enable DRI for all
      users is to add "Modes 0666" to the "DRI" section of
      /etc/X11/XF86Config-4.

    o Details Behind Hardware Accelerated 3-D Support -- To implement the
      expanded 3-D support present in Red Hat Linux 7.0, we have included a
      special, modified version of Mesa. We did this because we needed to
      support both XFree86 3.3.x servers and XFree86 4.0.1 servers.

      The version of Mesa included in XFree86-4.0.1 can only be used in
      conjunction with the XFree86-4.0.1 X server; it fails against
      3.3.x. The standalone Mesa supports the XFree86 3.3.x servers, but
      does not support the DRI infrastructure in XFree86-4.0.1, which means
      that hardware accelerated 3-D support is not possible.

      Therefore, it was decided to add DRI-awareness to the standalone Mesa
      libraries, creating one library that can be used both by
      XFree86-4.0.1 servers for DRI, and by XFree86-3.3.x servers for
      software-based rendering.

      Frequently asked questions:

        - Exactly how did you do this?

          We packaged some of the DRI-related files from XFree86-4.0.1 into
          a tarball. We linked these into the standard Mesa tree, and then
          applied a patch. The goal of this patch is to have the library
          determine (at initialization time) which X server it's running on
          and the extensions that are currently present. Depending on the
          results, it uses either normal Mesa routines or the added DRI
          based routines.

        - Why didn't you do <foo> instead?

          We investigated several alternatives. Among these were:
  
            1) Symlinks of various sorts.

               This was rejected, mainly because this does not allow for a
               shared /usr (such as NFS) to be used easily by both versions
               of servers.

            2) A wrapper library that dlopen()s the correct library

               This actually works for most cases. However, if an
               application dlopen()s a library linked against libGL with
               the flag RTLD_NOW, it will fail.
      
        - Will this patch be integrated into a future release of Mesa?

          Maybe, maybe not. In its current form, it's somewhat hackish;
          that is why it hasn't been submitted to the Mesa maintainers yet.
  
        - GL in 7.0 isn't working right. Should I send a report to the Mesa
          team?

          In general, no. Please enter any problems you have in Bugzilla:
  
                   http://bugzilla.redhat.com/bugzilla/
     
          After looking at the bug, we may then ask you to send a report to
          the Mesa team, but reporting bugs to us first allows us to figure
          out whether the bug is in what we did in our Mesa package as
          opposed to the base Mesa distribution, and allows the Mesa team
          to not have to worry about our changes.

    o XFree86 4.0.1 Configuration File Change -- The XFree86 4.0.1
      configuration located in /etc/X11 may be named XF86Config or
      XF86Config-4, depending on the X server in use.  The way to determine
      the name currently used is to issue the following command:

                             ls -l /etc/X11/X

      If the X symlink points to a file starting with "XF86_", the
      XF86Config configuration file used; otherwise, the XF86Config-4 file
      is used.  Note that you may actually see both files on your system;
      use the above command to determine which file is currently being
      used.

    o RH PPP Dialer (rp3) Only PPP Configuration Tool -- The PPP
      configuration tool (known as rp3) is now the only recommended tool
      for configuring dialup Internet connections based on the
      Point-to-Point Protocol (PPP).  If you have an ISDN line, the
      isdn-config tool should be used.  If you must use SLIP or CSLIP as
      your dialup protocol, you should use the netcfg tool.

    o GCC Compiler 2.96 -- GCC 2.96 allows for faster optimized code and
      more complete C++ support.

    o BSD lpr Replaced by LPRng -- LPRng is a reimplementation of BSD lpr,
      and includes accounting and authentication abilities. The main LPRng
      project page is available at:

                  http://www.astart.com/LPRng/LPRng.html

      While the use of LPRng should be transparent to end users, there are
      a number of system-level differences that system administrators
      should understand.  They are outlined below:

        - Changes to rhs-printfilters and printtool -- Changes in spooling
          between LPRng and BSD lpr have caused a major change in the input
          format of rhs-printfilters. BSD lpr's lpd directed standard input
          to the print filter, while LPRng's lpd passes a file name.

          In addition, printtool no longer copies master-filter from
          /usr/lib/rhs/rhs-printfilters/ into the printer's spool directory
          when configuring a printer; instead it creates a symlink in the
          spooler directory to the master-filter.  This will prevent future
          upgrade-related issues, as changes to the master-filter will
          propagate automatically to the spoolers that use it.

          POTENTIAL PRINTING PROBLEM WITH UPGRADES -- However, there is an
          upgrade issue with printers that were configured using older
          versions of printtool and rhs-printfilters.  Since the filter
          that resides in the print spool directory is a copy of the old
          master-filter, upgrades to the new master-filter will not be
          reflected in the filters residing in any old spool directories.
          Since the rhs-printfilters input format has changed to
          accommodate LPRng, these older filters will not function
          correctly with LPRng.

          We have implemented a limited fix, in that, upon upgrade, the
          rhs-printfilters rpm will compare the master-filter that is
          already on the machine with the filters in the spool directories,
          and if they are identical, it will replace those filters with
          symlinks, before it replaces the master-filter. This will handle
          most upgrade cases.  However, in two scenarios the new
          master-filter will not be used:

            o If you have a custom, or edited filter, it will not be
              replaced.

            o Printer filters configured using versions of rhs-printfilters
              older than the version currently on your system will not
              match the master-filter, and therefore will not be replaced.

          In these cases, it is up to the system administrator to determine
          whether it is better to replace the current filter with a symlink
          to /usr/lib/rhs/rhs-printfilters/master-filter (or simply use
          printtool to delete and recreate the printer entry), or to leave
          the current filter in place.

    o INTEROPERABILITY ISSUES WITH OLDER VERSIONS OF lpr -- Versions of the
      BSD lpr's lpd that shipped with older versions of Red Hat Linux
      improperly handle extensions to the lpr/lpd protocol, and will
      generate "cannot stat file" error messages when extended lpd spoolers
      (such as LPRng) try to print to them.  However, the file spooled by
      LPRng will still print.  Red Hat, Inc. will release an errata to lpr
      for Red Linux 5.2 and 6.2 systems that will eliminate the incorrect
      error message.

    o UPGRADE ISSUE WITH POSTGRESQL - Upgrading to Red Hat Linux 7.0 has
      certain implications related to postgresql.  Existing databases must
      undergo a dump and restore cycle.  The best way to do this is to use
      pg_dumpall(1) BEFORE upgrading to Red Hat Linux 7.0.  After the
      upgrade, please see the README.rpm file in
      /usr/share/doc/postgresql*/.

      Note that the upgrade keeps the old binaries around (along with a
      helper script) after the upgrade, but doing the dump before the
      upgrade and restoring afterwards (after removing the old database) is
      highly recommended.

    o Encryption-related changes -- The following packages have been
      changed to provide additional support for encryption-related
      technologies:

        - OpenSSH encryption tools are included in Red Hat Linux 7.0,
          allowing secure remote logins to your system.

        - The OpenSSL cryptography toolkit is included in Red Hat Linux 7.0
          enabling secure communication.

        - CIPE is now included in Red Hat Linux 7.0 for building encrypted
          VPNs (Virtual Private Networks). Note that if you used CIPE 1.3
          (or earlier) previously, you'll either have to regenerate your
          CIPE keys, or change them by passing them through the following
          "tr" command:

                            tr \[a-f] \[1-6]

          This is necessary because previous CIPE versions contained a
          serious bug in key handling which is fixed in the new version.

    o Sawfish window manager now included -- The sawfish window manager is
      now included in Red Hat Linux 7.0 as the default window manager for
      GNOME.  Based on a Lisp-like language, sawfish is extensible, and
      GNOME-aware.

    o Enlightenment Window Manager Updated -- The Enlightenment window
      manager has been upgraded to 0.16, and includes many features that
      are part of desktop environments such as GNOME and KDE.

    o inetd replaced by xinetd -- The xinetd package has greater
      functionality than the inetd super-server it replaces.  See the
      configuration file /etc/xinetd.conf (and the files in /etc/xinetd.d)
      for more information on xinetd's default configuration for Red Hat
      Linux 7.0.  (NOTE: On upgrades, /etc/inetd.conf will be converted to
      an xinetd-style file using the inetdconvert script present in the
      xinetd RPM.  Your original inetd.conf will be saved as
      /etc/inetd.conf.rpmsave.)

    o xinetd Support in ntsysv/chkconfig -- ntsysv and chkconfig now
      controls services started from xinetd as well as the standard init
      scripts.

    o Support For sar/sard System Status Reporting -- The sysstat RPM
      includes sar/sard along with iostat.

    o New graphical boot screen for LILO -- LILO now uses a graphical
      screen that displays available boot selections.

    o Greater FHS Compatibility -- Red Hat Linux 7.0 has moved towards
      greater compatibility with the FHS (Filesystem Hierarchy Standard).
      Therefore, the following directories have moved:

          /usr/man is now /usr/share/man
          /usr/doc is now /usr/share/doc
          /usr/info is now /usr/share/info

      See http://www.pathname.com/fhs/ for more information on FHS.

    o Other Filesystem Changes -- Red Hat Linux 7.0 also includes other
      changes to the directory structure:

          /home/httpd is now /var/www
          /home/ftp is now /var/ftp

      (This makes it possible to automount /home without web or FTP
      activity keeping it mounted.)

      To foster greater cross-distribution compatibility, the following
      symlinks have been added to Red Hat Linux 7.0:

          /etc/rc.local -> /etc/rc.d/rc.local
          /etc/rc.sysinit -> /etc/rc.d/rc.sysinit
          /etc/init.d -> /etc/rc.d/init.d
          /etc/rc#.d -> /etc/rc.d/rc#.d

      Please note that Red Hat may, in the future, turn the symlinks into
      directories, and the /etc/rc.d/* directories into symlinks.

    o /etc/conf.modules File Renamed -- The file conf.modules has been
      renamed to modules.conf, and still resides in /etc.

    o Expanded LDAP and Kerberos Integration -- The new authconfig provides
      an automated method of configuring a Red Hat Linux 7.0 system to use
      LDAP or Kerberos for user authentication.  The installation program
      takes advantage of this to offer the options at install-time.
      Install-time LDAP and Kerberos configuration is also available for
      kickstart installations and after installation.

    o "service" Command Now Supports Conditional Restart -- The "service"
       command now includes the "condrestart" option.  For example, to
       restart service <foo> only if it is currently running, run 'service
       <foo> condrestart'.

    o Kickstart Enhancements -- Kickstart has been improved with new
      commands, as well as partitioning improvements.

    o Red Hat Network Registration Client -- Red Hat Linux 7.0 includes
      support for Red Hat Network (RHN), an easily-customized way of
      receiving system updates.  To join Red Hat Network, create a System
      Profile with the RHN Registration Client.  The first time you login
      as root, the RHN Registration Client (rhn_register) is started.  If
      you cancel it, it will not appear again.  Updates can be received via
      the Red Hat Update Agent (up2date) or the new RHN Web Application.
      For more information, please see http://www.redhat.com/network.
 
    o Red Hat Update Agent and the Red Hat Network -- Existing registered
      users of the Red Hat Update Agent (up2date) shipped with prior
      versions of Red Hat Linux are now automatically members of Red Hat
      Network.  If you've used up2date to access priority.redhat.com in the
      past, you should still be able to do so using Red Hat Linux 7.0
      (assuming your access to priority.redhat.com has not expired, of
      course).  Please note that the Red Hat Network Web Application can
      also be used to get updates, as well as configure email notifications
      and view per-system update information.  To learn more about Red Hat
      Network, please see http://www.redhat.com/network.

    o Package Highlights -- the following packages are a small sample of
      those that are new or upgraded in Red Hat Linux 7.0:

        - GIMP 1.1.25
        - Perl 5.6.0
        - Tcl/Tk 8.3.1
        - SDL, smpeg
        - SANE
        - gphoto
        - MySQL
        - AbiWord
        - dia
        - aspell (replaces ispell)
        - XEmacs

    o pax Included -- pax, the POSIX conformant archiver, is now included
      in Red Hat Linux 7.0.  pax has a much-simplified command line syntax
      relative to tar and cpio, and reads and writes many archive formats.

    o gnome-lokkit Firewall Setup Utility Included -- gnome-lokkit makes
      setting up firewalls an easier process than it was in previous
      releases of Red Hat Linux.

    o nut UPS Tools Included -- nut makes is possible to monitor a variety
      of uninterruptible power supplies.

    o rp-pppoe Included -- rp-pppoe provides an RFC-2516 compliant
      implementation of pppoe (Point-to-Point Protocol Over Ethernet).
      pppoe is now used by many xDSL-based Internet Service Providers.

    o Next-Generation Technology Previews -- the following are previews of
      technologies that will play a large role in future versions of Red
      Hat Linux:

        - pango (internationalized text layout; see www.pango.org)

        - Inti (C++ foundation libraries including GTK+ GUI toolkit
          classes; see sources.redhat.com/inti)

        - GTK+ 2.0

        - KDE version 2 (including KOffice) (*)

        - Pre-production, highly experimental snapshot of TUX kernel
          webserver (*)

        - The 2.4test kernel (TUX support is included as a patch in the
          kernel24 source RPM; uncomment the line that applies the patch,
          and rebuild the kernel24 source RPM to use it.  Note that
          patching instructions are present in the spec file.) (*)

        - glibc 2.1.92 (optimized for 2.4 kernels only) (*)

        - Mozilla M17 (*)

        - 3Dfx accelerated 3D support, using Glide (*)

      (*) These packages are not installed by default, but may be found in
          the preview directory on CD #2.

