Fedora Core 4 Release Notes

   Copyright © 2005 Red Hat, Inc.

   Permission  is granted to copy, distribute, and/or modify this
   document under the terms of the GNU Free Documentation License,
   Version 1.2 or any later version published by the Free Software
   Foundation; with no Invariant Sections, no Front-Cover Texts, and no
   Back-Cover  Texts.  A  copy  of  the  license  is available at
   http://www.gnu.org/licenses/fdl.html.

   This document may be copied and distributed in any medium, either
   commercially  or  noncommercially,  provided that the GNU Free
   Documentation License (FDL), the copyright notices, and the license
   notice saying the GNU FDL applies to the document are reproduced in
   all copies, and that you add no other conditions whatsoever to those
   of the GNU FDL.

   Garrett  LeSage  created  the  admonition graphics (note, tip,
   important,    caution,    and    warning).    Tommy   Reynolds
   <Tommy.Reynolds@MegaCoder.com> created the callout graphics. They
   all may be freely redistributed with documentation produced for the
   Fedora Project.

   RELEASE-NOTES-FC4 (2005-05-30-T16:20-0700)

   Red  Hat, Red Hat Network, the Red Hat "Shadow Man" logo, RPM,
   Maximum  RPM,  the  RPM logo, Linux Library, PowerTools, Linux
   Undercover, RHmember, RHmember More, Rough Cuts, Rawhide and all Red
   Hat-based  trademarks  and  logos are trademarks or registered
   trademarks  of  Red  Hat,  Inc. in the United States and other
   countries.

   Linux is a registered trademark of Linus Torvalds.

   Motif and UNIX are registered trademarks of The Open Group.

   Intel and Pentium are registered trademarks of Intel Corporation.
   Itanium and Celeron are trademarks of Intel Corporation.

   AMD, AMD Athlon, AMD Duron, and AMD K6 are trademarks of Advanced
   Micro Devices, Inc.

   Windows is a registered trademark of Microsoft Corporation.

   SSH and Secure Shell are trademarks of SSH Communications Security,
   Inc.

   FireWire is a trademark of Apple Computer Corporation.

   All other trademarks and copyrights referred to are the property of
   their respective owners.
     _________________________________________________________

   Table of Contents

   Welcome to Fedora Core 4

        New in Fedora Core 4

   Introduction and Technical Release Notes
   Hardware Requirements

        CPU Requirements
        Hard Disk Space Requirements
        Memory Requirements
        PPC Hardware Requirements

   Overview of This Release
   Installation-Related Notes

        PPC Installation Notes
        Anaconda Notes
        Installation-Related Issues

   Package-Specific Notes

        Basic Components
        Core
        Development Tools 
        Language Support
        Multimedia
        Web Servers
        Samba (Windows Compatibility)
        X Window System (Graphics)

   Packages Movement

        Packages Moved to Fedora Extras

   An Overview of the Fedora Project

Welcome to Fedora Core 4

   Fedora Core is a completely free, user friendly, and secure general
   purpose platform based on Linux. The Fedora Project is an open
   source project that pioneers leading edge technology and concepts
   sponsored by Red Hat and supported by the Fedora community.

New Installation Guide

   New for this release is the Fedora Core 4 Installation Guide. This
   guide is useful for users of all levels and can be found at this
   URL:

   http://fedora.redhat.com/docs/fedora-install-guide-en/

   Refer to these webpages to find out more information about Fedora:
     * the section called “New in Fedora Core 4”
     * the section called “Introduction and Technical Release Notes”
       — Technical release notes
     * Help and Support
       (http://fedora.redhat.com/participate/communicate/)
     * Participate in the Fedora Project
       (http://fedora.redhat.com/participate/)
     * About the Fedora Project (http://fedora.redhat.com/about/)

New in Fedora Core 4

   Fedora Core 4 is the latest version of the free and popular Fedora
   Core platform with a number of unique features and significant
   improvements  over previous versions. This section provides an
   overview of the major highlights in this release.
     * Desktop Enhancements — The Fedora desktop brings to you the
       latest software such as GNOME 2.10 and KDE 3.4 with a new look
       and  feel. GNOME has the new simple and elegant Clearlooks
       default theme that is inspired by the classic Red Hat Bluecurve
       theme.
       [Fedora_Desktop.png]

                                                              [D]
     * Improved Productivity
          + Evince  (http://www.gnome.org/projects/evince/)  is a
            document viewer for multiple document formats such as pdf,
            postscript,  and many others. Evince replaces a whole
            category  of  document  viewers  with a single simple
            application.
          + OpenOffice.org 2.0
            (http://www.openoffice.org/product2/index.html) is an
            office productivity suite. This latest version includes
            several enhancements such as improved Microsoft Office
            compatibility, completely revamped Impress presentation
            software, and native support for the OpenDocument format.
            This version also introduces Base, a fully integrated
            database management software. You can find the extensive
            list of new features at
            http://marketing.openoffice.org/2.0/featureguide.html.
          + Eclipse  3.1  is  an open and extensible platform and
            Integrated Development Environment (IDE) that can be used
            to develop software in any language.
     * Support for PowerPC (PPC) Architecture — Refer to the section
       called “PPC Hardware Requirements” and the section called “PPC
       Installation Notes”.
     * Improved Security — SELinux is a security architecture that
       protects applications and uses through finely grained security
       controls. The targeted policy that has been active since Fedora
       Core 3 has been improved to cover dozens of more daemons. You
       can read more in the technical release notes the section called
       “Overview of This Release”.
     * Integrated Clustering Technology — Global File System (GFS) is
       an open source clustering file system that allows a cluster of
       Linux servers to share a common storage pool. Fedora Core 4 has
       integrated GFS within the system to manage your storage in an
       efficient way. You can read more at
       http://www.redhat.com/software/rha/gfs/.
     * Built-in Virtualization — Xen is a virtual machine that can
       securely run multiple operating systems in their own sandboxed
       domains. Xen has been integrated into Fedora Core to work in a
       seamless   fashion.   You  can  read  more  about  Xen  at
       http://fedora.redhat.com/projects/virtualization/.
     * Solid Platform — Fedora Core 4 includes and integrates the
       latest  4.0 version of GNU Compiler Collection which has a
       rewritten optimisation infrastructure and improved support for a
       native  Free  Java  software stack. This includes parts of
       OpenOffice.org 2.0., Eclipse, and Apache Jakarta, among others.

Introduction and Technical Release Notes

   The Fedora Project is an openly-developed project designed by Red
   Hat, open for general participation, led by a meritocracy, and
   following a set of project objectives. The results from this project
   include Fedora Core, a complete, general-purpose operating system
   built exclusively from open source software.

Note

   Fedora Core is a community supported project.

   Fedora Core is not a commercially supported product of Red Hat,
   Inc..

   For more information, refer to the section called “Overview of This
   Release”.

   Additional important information about this release may be made
   available at http://fedora.redhat.com/docs/release-notes/. Users are
   advised to check this link regularly for updates.

   For reporting errors or other requests about these release notes,
   file a bug report using this pre-filled bugzilla template:

   https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?assigned_to=relno
   tes%40fedoraproject.org&blocked=151189&bug_file_loc=http%3A%2F%2Ffed
   oraproject.org%2Fwiki%2FDocsProject%2FReleaseNotes%2FProcess&bug_sev
   erity=normal&bug_status=NEW&cc=kwade%40redhat.com&comment=Descriptio
   n%20of%20problem%2C%20bug%2C%20incorrect%20information%2C%20or%20enh
   ancement%20request%3A%0D%0A%0D%0A%0D%0AVersion%20of%20release%20note
   s%20this%20bug%20refers%20to%3A%0D%0A%0D%0AFedora%20Core%204%20final
   %20release&component=fedora-docs&contenttypeentry=&contenttypemethod
   =list&contenttypeselection=text%2Fplain&data=&dependson=&description
   =&estimated_time=0.0&estimated_time_presets=0.0&ext_bz_bug_id=&ext_b
   z_id=0&form_name=enter_bug&keywords=&maketemplate=Remember%20values%
   20as%20bookmarkable%20template&op_sys=Linux&priority=normal&product=
   Fedora%20Core&rep_platform=All&short_desc=Describe%20problem%2C%20fi
   x%2C%20or%20request%20for%20release%20notes&version=devel&GoAheadAnd
   LogIn=Login

   This http://tinyurl.com/al5g4 will take you to the same pre-filled
   bugzilla template.

Hardware Requirements

   The  following  information  represents  the  minimum hardware
   requirements necessary to successfully install Fedora Core 4.

Note

   The compatibility/availability of other hardware components (such as
   video and network cards) may be required for specific installation
   modes and/or post-installation usage.

CPU Requirements

   This section lists the CPU specifications required by Fedora Core 4.

Note

   The  following CPU specifications are stated in terms of Intel
   processors. Other processors (notably, offerings from AMD, Cyrix,
   and VIA) that are compatible with and equivalent to the following
   Intel processors may also be used with Fedora Core.
     * Minimum: Pentium-class — Fedora Core 4 is optimized for Pentium
       4 CPUs, but also supports earlier CPUs (such as Pentium, Pentium
       Pro,  Pentium  II,  Pentium III, and including AMD and VIA
       variants). This approach has been taken because Pentium-class
       optimizations  actually  result in reduced performance for
       non-Pentium-class  processors, and Pentium 4 scheduling is
       sufficiently different (while making up the bulk of today's
       processors) to warrant this change.
     * Recommended for text-mode: 200 MHz Pentium-class or better
     * Recommended for graphical: 400 MHz Pentium II or better

     * AMD64 processors (both Athlon64 and Opteron)
     * Intel processors with Intel® Extended Memory 64 Technology
       (Intel® EM64T)

Hard Disk Space Requirements

   This section lists the disk space required to install Fedora Core 4.

Note

   The disk space requirements listed below represent the disk space
   taken  up by Fedora Core 4 after the installation is complete.
   However, additional disk space is required during the installation
   to support the installation environment. This additional disk space
   corresponds to the size of /Fedora/base/stage2.img (on CD-ROM 1)
   plus the size of the files in /var/lib/rpm on the installed system.

   In practical terms, this means that as little as an additional 90MB
   can be required for a minimal installation, while as much as an
   additional 175MB can be required for an "everything" installation.

   Also, keep in mind that additional space will be required for any
   user data, and at least 5% free space should be maintained for
   proper system operation.

   This list is for 32-bit x86 systems:
     * Custom Installation (Minimal): 620MB
     * Server: 1.1GB
     * Personal Desktop: 2.3GB
     * Workstation: 3.0GB
     * Custom Installation (Everything): 6.9GB

   This list is for 64-bit x86_64 systems:
     * Custom Installation (Minimal): 900MB
     * Server: 1.5GB
     * Personal Desktop: 2.7GB
     * Workstation: 3.4GB
     * Custom Installation: (Everything) 7.5GB

Memory Requirements

   This section lists the memory required to install Fedora Core 4.

   This list is for 32-bit x86 systems:
     * Minimum for text-mode: 64MB
     * Minimum for graphical: 192MB
     * Recommended for graphical: 256MB

   This list is for 64-bit x86_64 systems:
     * Minimum for text-mode: 128MB
     * Minimum for graphical: 256MB
     * Recommended for graphical: 512MB

PPC Hardware Requirements

   This section lists the minimum PowerPC (PPC) hardware needed to
   install Fedora Core 4.
     * Minimum: PowerPC G3 / POWER4
     * Fedora  Core 4 supports only the “New World” generation of
       Apple® Power Macintosh, shipped circa 1999 onwards. It also
       supports the 64-bit G5 processor and, POWER processors in IBM®
       eServer™ pSeries™. Currently 32-bit IBM® RS/6000™ machines are
       not supported.
     * Recommended for text-mode: 233 MHz G3 or better
     * Recommended for graphical: 400 MHz G3 or better

Overview of This Release

   The following list includes brief summaries of some of the more
   significant aspects of Fedora Core 4:
     * Fedora Core 4 contains the following changes:
          + Support for the PowerPC (PPC) architecture.
          + GCC 4.0
          + GNOME 2.10
          + KDE 3.4 — includes new accessibility features. You can
            manage these new features in KDS Control CenterRegional &
            AccessibilityAccessibility.
          + Native Eclipse 3.1M6 (part of a free Java stack)
          + MySQL 4.1
          + PHP 5.0
          + Xen 2 (virtualization to run multiple versions of an OS)
          + GFS 6.1-0.pre22 (cluster file system)
          + Evince 0.2.1 (universal document viewer)
          + GDM 2.6 - Includes early login capability
          + SELinux — This release includes coverage for 80 new daemons
            by the targeted policy. There are changes to the handling
            of Booleans. The targeted policy is enabled by default. For
            more information, refer to:
            http://fedora.redhat.com/docs/selinux-faq/
            For This is the complete list of daemons covered by the
            targeted policy:
               o NetworkManager
               o amanda
               o apache
               o apmd
               o arpwatch
               o auditd
               o bluetooth
               o canna
               o cardmgr
               o checkpolicy
               o chkpwd
               o compat
               o comsat
               o consoletype
               o cpucontrol
               o cpuspeed
               o crond
               o cups
               o cvs
               o cyrus
               o dbskkd
               o dbusd
               o dhcpc
               o dhcpd
               o dictd
               o dmidecode
               o dovecot
               o fingerd
               o fsadm
               o ftpd
               o getty
               o hald
               o hostname
               o hotplug
               o howl
               o hwclock
               o i18n_input
               o ifconfig
               o inetd
               o init
               o initrc
               o innd
               o kerberos
               o klogd
               o ktalkd
               o kudzu
               o ldconfig
               o load_policy
               o login
               o lpd
               o mailman
               o modutil
               o mta
               o mysqld
               o named
               o netutils
               o nscd
               o ntpd
               o portmap
               o postgresql
               o ppd
               o privoxy
               o radius
               o radvd
               o restorecon
               o rlogind
               o rpcd
               o rpm
               o rshd
               o rsync
               o samba
               o saslauthd
               o sendmail
               o setfiles
               o slapd
               o snmpd
               o squid
               o ssh
               o stunnel
               o syslogd
               o telnetd
               o tftpd
               o udev
               o updfstab
               o uucpd
               o webalizer
               o winbind
               o xdm
               o ypbind
               o ypserv
               o zebra

Installation-Related Notes

   This section outlines those issues that are related to Anaconda (the
   Fedora Core installation program) and installing Fedora Core 4 in
   general.

Note

   If you intend to download the Fedora Core 4 DVD ISO image, keep in
   mind that not all file downloading tools can accommodate files
   larger than 2GB in size. For example, wget will exit with a File
   size limit exceeded error.

   The  curl and ncftpget file downloading tools do not have this
   limitation, and can successfully download files larger than 2GB.

   Bittorrent  is another method for downloading large files. For
   information about obtaining and using the torrent file refer to this
   website:

   http://torrent.fedoraproject.org/

PPC Installation Notes

   The DVD or first CD of the installation set of Fedora Core is set to
   be bootable on the Apple® Macintosh and should boot the appropriate
   32-bit or 64-bit installer. In addition, bootable CD images can be
   found in the images/ directory of the DVD or first CD. Choose the
   appropriate boot.iso according to the hardware:
     * images/mac/boot.iso - 32-bit Apple® Macintosh (G3/G4)
     * images/mac64/boot.iso - 64-bit Apple® Macintosh (G5)
     * images/pseries/boot.iso  -  64-bit  IBM® eServer™ pSeries™
       (POWER4/POWER5)
     * Power management support, including sleep and backlight level
       management, is present in the apmud package, which is in Fedora
       Extras. Fedora Extras for Fedora Core is configured by default
       for yum. Following installation, apmud can be installed by
       running yum install apmud.

Anaconda Notes

     * The Fedora Core installation program has the ability to test the
       integrity of the installation media. It works with the CD, DVD,
       hard  drive ISO, and NFS ISO installation methods. Red Hat
       recommends that you test all installation media before starting
       the   installation   process,  and  before  reporting  any
       installation-related  bugs  (many of the bugs reported are
       actually due to improperly-burned CDs). To use this test, type
       linux mediacheck at the boot: prompt.
       The mediacheck function is highly sensitive, and may report some
       usable discs as faulty. This result is often caused by disc
       writing software that does not include padding when creating
       discs from ISO files. For best results with the mediacheck, boot
       with the option:
linux ide=nodma
       Use the sha1sum utility to verify discs before carrying out an
       installation. This test accurately identifies discs that are not
       valid or identical to the ISO image files.
     * Memory testing may be performed prior to installing Fedora Core
       by entering memtest86 at the boot: prompt. This causes the
       Memtest86 standalone memory testing software to run. Memtest86
       memory testing continues until the Esc key is pressed.
       NOTE: You must boot from CD-ROM 1 (or a rescue CD-ROM) in order
       to use this feature.
     * Fedora Core 4 supports graphical FTP and HTTP installations.
       However, due to the necessity of containing the installer image
       in RAM, only systems with more than 128MB of RAM (or systems
       booted from CD-ROM 1, which contains the installer image) can
       use the graphical installer. Systems with 128MB or less will
       continue to use the text-based installer.

Installation-Related Issues

     * Certain hardware configurations (particularly those with LCD
       displays) may experience problems while starting the Fedora Core
       installation  program.  In  these  instances,  restart the
       installation, and add the "nofb" option to the boot command
       line.

Note
       Chinese, Japanese, and Korean graphical installations started
       using the "nofb" option will start in English, and then switch
       to the appropriate language once the graphical phase of the
       installation process begins.
     * Some  Sony  VAIO® notebook systems may experience problems
       installing Fedora Core from CD-ROM. If this happens, restart the
       installation process and add the following option to the boot
       command line:
       pci=off ide1=0x180,0x386
       This option allows the installation to proceed normally; any
       devices not detected due to the use of this option will be
       configured the first time Fedora Core is booted.
     * Serial mice are known to be inoperative during installation.
       However, there are indications that serial mice work properly in
       X after the installation has completed. Refer to bug 119474 for
       more information:
       http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=119474
     * There have been issues observed when upgrading Red Hat Linux
       7.<x>, 8.0, 9, and Fedora Core 1, 2, and 3 systems where third
       party  packages  are installed that conflict with packages
       provided by Fedora Project. One example is Ximian GNOME.
       The issue with Ximian GNOME is caused by version overlap between
       the official Red Hat Linux RPMs (or the ones from the Fedora
       Project)  and  the  Ximian RPMs. This configuration is not
       supported. You have several choices in resolving this particular
       issue:
         1. 1) You may remove Ximian GNOME from your system prior to
            upgrading to Fedora Core.
         2. 2)  You may upgrade your system, and then immediately
            reinstall Ximian GNOME.
         3. 3) You may upgrade your system, and then immediately remove
            all  remaining  Ximian  RPMs, replacing them with the
            corresponding Fedora Core RPMs.
       You must resolve the version overlap using one of the above
       choices. Failure to do so will result in an unstable GNOME
       configuration.

Package-Specific Notes

   The following sections contain information regarding packages that
   have undergone significant changes for Fedora Core 4. For easier
   access, they are organized using the same groups used in Anaconda.

Basic Components

   This  section  contains  information  related  to basic system
   components.

Fedora Extras Repository

   Fedora  Extras  is  part of the larger Fedora Project and is a
   volunteer-based community effort to create a repository of packages
   that compliment Fedora Core. The Fedora Extras repository is enabled
   by default from Fedora Core 4 onwards.

   You can lean more about Fedora Extras from:

   http://fedoraproject.org/wiki/Extras

   If you would like to install any software available from Fedora
   extras you can use yum.

   yum install <packagename>

   Where <packagename> is the name of the package you want to install.
   For example, if you wanted to install the abiword package, the
   command yum install abiword automatically installs the package and
   all dependencies.

Audit Daemon auditd and Log Files

   The audit daemon, auditd, is now enabled by default. When auditd is
   running,    the    kernel    directs    audit    messages   to
   /var/log/audit/audit.log. The location of this file is specified in
   /etc/auditd.conf.

   AVC messages for SELinux are sent using the audit infrastructure.
   These messages are now in /var/log/audit/audit.log.

   When auditd is not running, the kernel passes audit messages to
   syslog. These logs are typically kept in /var/log/messages and are
   viewable using dmesg.

   Audit extensions are now compiled into PAM. All programs that do
   grant entry to the system or change user account attributes will
   generate an audit message.

   To enable auditing within the kernel, you must pass the parameter
   audit=1 to the kernel during boot. Otherwise, you can use this
   command to enable auditing during run time:

   auditctl -e 1

LinuxThreads versus NPTL

   As the next step in removing support for the obsolete LinuxThreads
   library, code compiled and linked on Fedora Core 4 now automatically
   uses the NPTL headers and libraries.

   In previous releases since Red Hat Linux 9, the default threading
   was LinuxThreads since the interface is mostly forward compatible.
   The  advantages of the NPTL interface is that the cancellation
   handling is faster (when -fexception is used, even in C code) and
   that the additional interfaces are now available without special
   compiler and linker parameters. In other words, you do not need to
   use -I/usr/include/nptl and -L/usr/lib{,64}/nptl any longer. Note
   that lib{,64} is to be interpreted as lib64 on platforms which place
   DSOs in lib64/ directories, and lib/ otherwise.

   In Fedora Core 4 it is still possible to create code using the
   LinuxThreads definitions. For this the linuxthreads-devel package
   must be installed and

   -I/usr/include/linuxthreads -L/usr/lib{,64}/linuxthreads

   must be passed to the compiler.

   Previously,  you  could  select  the  version of glibc and the
   libpgthread DSH using run time environment variables. You now need
   to also specify this variable in the environment:

   LD_LIBRARY_PATH=/lib{,64}/obsolete/linuxthreads

   This additional variables is required because the run/time libraries
   have been moved out of the way. There might programs that will not
   work if the program uses an unfortunate DT_RPATH (which overwrites
   the LD_LIBRARY_PATH setting).

   All this makes it more cumbersome to run programs which depend on
   LinuxThreads. But this is intentional.

Important

   FC5 will not have LinuxThreads support and all programs have to be
   converted to use NPTL by then.

   In general, conversion to using NPTL has not been an issue.

Enabling the slocate Database

   The database needed by the locate utility is no longer created by
   default. Enable the database creation by setting DAILY_UPDATE to yes
   in /etc/updatedb.conf if you want to use locate.

Stricter Controls in openssh

   The version of OpenSSH in Fedora Core 4 is based on OpenSSH 3.9 and
   includes  strict  permission and ownership checks for the user
   configuration  file  ~/.ssh/config. If this file does not have
   appropriate ownership and permissions, ssh will exit.

   Check that ~/.ssh/config is owned by the owner of ~/, and that its
   permissions are set to mode 600.
ls -l ~/.ssh/config
-rw-------  1 username username 400 May  5 18:44 /home/username/.ssh/co
nfig

   The directory ~/ is command-line shorthand for the logged in user's
   home directory, usually /home/username/.

   In  addition,  OpenSSH  is no longer configured to request X11
   forwarding by default when connecting to servers. To enable X11
   forwarding, the -X or -Y option must be specified, or the ForwardX11
   option must be enabled in the ~/.ssh/config file.

   The behavior of ssh clients that are invoked with the -X option has
   changed. In OpenSSH 3.8 and later, X11 forwarding is performed in a
   way  that  applications  run  as untrusted clients by default.
   Previously, X11 forwarding was performed so that applications always
   ran as trusted clients. Some applications may not function properly
   when run as untrusted clients. To forward X11 so that applications
   are run as trusted clients, invoke ssh with the -Y option instead of
   the -X option, or set ForwardX11Trusted in the ~/.ssh/config file.

Perl Binary Compat Symlinks

   Binary compat symlinks for perl-5.8.0, perl-5.8.1, and perl-5.8.2
   have been removed. If you have perl modules built with those older
   versions of perl, you need to rebuild using the perl-5.8.6 contained
   in Fedora Core 4.

Server and System Configuration Tools

   This section highlights changes and additions to the various GUI
   server and system configuration tools in Fedora Core.

system-config-lvm

   The new LVM tool system-config-lvm assists you in managing logical
   volumes.

Java Package Recommendations

   Fedora Core 4 users are advised not to use the Java RPM provided by
   Sun. It contains Provides that conflict with names used in packages
   provided as part of Fedora Core 4. Because of this, Sun Java might
   disappear  from  an  installed  system  during package upgrade
   operations.

   Fedora Core 4 users should use either the RPM from jpackage.org or
   manually install the Sun Java tarball into /opt. Sun Java 1.5+ is
   recommended for stability purposes.

Core

   This section contains the most elemental components of Fedora Core,
   including the kernel.

yum

   The sqllite database is now used by yum, and makes performance
   noticeably faster.

   The Fedora Extras repository is now enabled by default.

Linux Kernel

Version

   The Fedora Core is based on a 2.6.11 kernel. Fedora Core may include
   additional  patches for improvements, bug fixes, or additional
   features.  For  this reason, the Fedora Core kernel may not be
   line-for-line equivalent to the so-called vanilla kernel from the
   kernel.org web site.

   You may obtain a list of any such patches by using the command on
   the Fedora Core package:
$ rpm -qpl kernel-<version>.src.rpm

Kernel Flavors

   Fedora Core includes the following kernel builds:
     * Native kernel, in both uniprocessor and SMP varieties.
       Configured     sources     are     available     in    the
       kernel-devel-<version>.<arch>.rpm package.
     * Virtual kernel for use with the XEN emulator package.
       Configured     sources     are     available     in    the
       kernel-xen0-devel-<version>.<arch>.rpm package.

   Sources for both kernel flavors may be installed at the same time.
   The files will be installed into the
   /usr/src/kernels/<version>[-xen0]-<arch>/ tree. Use the command:
# rpm -Uvh kernel-devel[-xen0]-<version>.<arch>.rpm

   as appropriate.

Following Generic Textbooks

   Many of the tutorials, examples, and textbooks about Linux kernel
   development  assume the kernel sources are installed under the
   /usr/src/linux directory. If you make a symbolic link, as shown
   below, you should be able to use those learning materials with the
   Fedora Core packages. Install the appropriate kernel sources, as
   shown earlier, and then:
# ln -s /usr/src/kernels/kernel-<all-the-rest> /usr/src/linux

Preparing for Kernel Development

   Fedora Core 4 does not include the kernel-source package provided by
   older  versions.  Instead, configured sources are available as
   described in the section called “Kernel Flavors”. Users that require
   access to Fedora Core original kernel sources can find them in the
   kernel .src.rpm package. To create an exploded source tree from this
   file, perform the following steps:

These Instructions Refer The Currently-running Kernel!

   To simplify the following directions, we have assumed that you want
   to configure the kernel sources to match your currently-running
   kernel. In the steps below, you must understand that the phrase
   <version> refers to the kernel version shown by the:
$ uname -r

   command.
    1. Obtain  the  kernel-<version>.src.rpm file from one of the
       following sources:
          + The SRPMS directory on the appropriate SRPMS CD iso image.
          + The FTP site where you got the kernel package.
          + By running the following command:
# up2date --get-source kernel
    2. Install kernel-<version>.src.rpm using the command:
# rpm -Uvh kernel-<version>.src.rpm
       This writes the RPM contents into /usr/src/redhat/SOURCES and
       /usr/src/redhat/SPECS.
    3. Prepare the kernel sources using the commands:
# cd /usr/src/redhat/SPECS
# rpmbuild -bp --target $(arch) kernel.spec
       The   kernel   source   tree   will   be  located  in  the
       /usr/src/redhat/BUILD/kernel-<version> directory. It is common
       practice to move the resulting linux-<version> directory to the
       /usr/src tree; while not strictly necessary, we suggest that you
       do this to match the generally-available documentation.
# cd /usr/src/redhat/BUILD/kernel-<version> /usr/src/
# mv linux-<version> /usr/src/
# cd /usr/src
# ln -s ./linux-<version> linux
# cd /usr/src/linux
    4. The configurations for the specific kernels shipped in Fedora
       Core 4 are in the configs/ directory. For example, the i686 SMP
       configuration file is named
       configs/kernel-<version>-i686-smp.config. Issue the following
       command to place the desired configuration file in the proper
       place for building:
# cp configs/<desired-config-file> .config
    5. Issue the following command:
# make oldconfig

   You can then proceed as usual.

Building Only Kernel Modules

   An exploded source tree is not required to build a kernel module,
   such as your own device driver, against the currently in-use kernel.

   For  example, to build the foo.ko module, create the following
   Makefile in the directory containing the foo.c file:
obj-m := foo.o

KDIR  := /lib/modules/$(shell uname -r)/build
PWD   := $(shell pwd)

default:
    $(MAKE) -C $(KDIR) M=$(PWD) modules

   Issue the make command to build the foo.ko module.

Userspace Dependancies on the Kernel

   Fedora Core adds support for clustered systems. This requires a
   special  kernel that works in conjunction with some user-space
   utilities, such as management daemons. Consequently, to remove such
   a kernel, perhaps after an update, you cannot simply use the rpm -e
   kernel-<version> command as in earlier distributions because these
   userspace packages depend on the kernel package. You may either list
   both the kernel package and its userspace dependant packages on the
   rpm  -e  command,  or  you  may  wish  to  use  the yum remove
   kernel-<version> command instead since yum automatically removes
   dependant packages if necesssary.

Security

   This section highlights various security items from Fedora Core.

Digital Certificates Consolidated

   Digital  certificates are now centralised in directories under
   /etc/pki/. Users performing an upgrade must relocate their digital
   certificates.

   OpenSSL: the /usr/share/ssl contents have moved to /etc/pki/tls and
   /etc/pki/CA.

   Dovecot: A dovecot-openssl.cnf file is automatically installed in
   /etc/pki/dovecot/.

Development Tools

GCC Compiler Collection

   Fedora Core 4 has been built using GCC 4.0, which is included with
   the distribution.

   Caveats
     * GDB 6.1 or newer is needed to debug binaries unless compiled
       using the -fno-var-tracking compilation option.
     * The -fwritable-strings option is no longer accepted.
     * English-language diagnostic messages now use Unicode quotes; if
       you cannot read this, set your LC_CTYPE environment variable to
       "C" or change your terminal emulator.
     * The specs file is no longer installed on most systems. Ordinary
       users will not notice, but developers who need to alter the file
       can use the -dumpspecs option to generate the file for editing.

   Code Generation
     * The SSA code optimizer is now included and brings with it better
       constant propagation; partial redundancy elimination; load and
       store code motion; strength reduction; dead storage elimination;
       better detection of unreachable code; and tail recursion by
       accumulation.
     * Autovectorization is supported. This technique achieves higher
       performance for repetitive loop code, in some circumstances.

   Language Extentions
     * A sentinel attribute has been added so that the compiler will
       now issue a warning if a function such as execl(char *path,
       const char *arg, ...), which requires a NULL list terminator is
       missing the NULL.
     * The  cast-as-lvalue, conditional-expression-as-lvalue, and
       compund-expression-as-lvalue extentions have been removed.
     * The #pragma pack() semantics have been brought closer to those
       used by other compilers.
     * Taking the address of a variable declared with the register
       modifier now generates an error instead of a warning.
     * Arrays of incomplete element types now generate an error. This
       implies no forward reference to structure definitions.
     * The basic compiler, without any optimization (-O0), has been
       measured as much as 25% faster in real-world code.
     * Libraries may now contain function-scope static variables in
       multi-threaded programs. The -fno-threadsafe-statics can be used
       by embedded developers to turn off this feature, but ordinary
       users should never do this.

   Java
     * To avoid naming conflicts: rmic is now grmic; rmiregistry is now
       grmiregistry; and jar is now fastjar.
     * The GCJ compiler can now be used as a just-in-time (JIT) tool by
       using the gnu.jit facilities.
     * More support of the AWT and SWING packages have been added.

   FORTRAN
     * The GNU FORTRAN 77 front end has been replaced by a new FORTRAN
       90/95 recognizer.

   Eclipse Development Environment
     * Eclipse 3.1M6 has been compiled as a native application.
     * The C Development Tool (CDT) has been included.

Language Support

   This section includes information related to the support of various
   languages under Fedora Core.

The IIIMF Input System

   IIIMF is the Internet/Intranet Input Method Framework. In Fedora
   Core 4 the iiimf package is updated to version 12.2.

   File Path Changes
          The names and locations of some files in the iiimf packages
          have changed.

          The IIIMF server has been renamed from /usr/sbin/htt to
          /usr/bin/iiimd, and the XIM bridge client renamed from httx
          to iiimx. The init.d script name has not changed: it is still
          called iiim. All the global system configuration files are
          now located under /etc/iiim/.

          Language Engine (LE) developers should note that LE modules
          and their data now live under ${libdir}/iiim/le/<LE_NAME>/,
          while runtime data is stored under
          /var/lib/iiim/le/<LE_NAME>/.

          For more information on the exact path and file location
          changes, please refer to Fedora IIIMF FAQ:

          http://www.fedora.redhat.com/projects/i18n/iiimf-faq.html.

   Hotkeys
          Trigger keys, such as Ctrl-Space used to activate Input
          Methods, are now configurable with the command-line tool
          iiimf-le-tools.  This feature is only supported by GTK2
          applications currently. For other applications using XIM the
          trigger key can be changed using an X resource. Refer to the
          IIIMF FAQ at
          http://www.fedora.redhat.com/projects/i18n/iiimf-faq.htmlfor
          more details on how to change trigger hotkeys.

          Note that the keyname refers to the X key symbol name. For
          example, if you want to activate with Ctrl-@, you need to
          specify '<Control>at' as the keyname not '<Control>@'.

          The per-user configuration of hotkeys does not work currently
          with SELinux in enforcing mode due to lack of SELinux policy.
          In  this  case,  the  hotkey can only be changed in the
          system-wide configuration.

   Qt Support
          A Qt immodule for iiimf is now included. This immodule works
          but lacks a status window and is considered experimental.
          Therefore, the default for Qt applications is to continue
          using XIM for IIMF input.

          If you wish to try the immodule in a Qt application, first
          install the iiimf-qt package, start the application, then
          click mouse button-3 in an input area and select iiimqcf from
          the Select Input Method' submenu.

Multimedia

   This   section  contains  information  related  to  multimedia
   applications.

Web Servers

   This section contains information on Web-related applications.

mod_perl

   The RC5 release of mod_perl 2.0 is now included. The API provided by
   this release is incompatible with previous 1.99_xx releases. Please
   refer to the following document for a discussion of how to adapt
   code to use the new API:

   http://perl.apache.org/docs/2.0/rename.html

php

   Version 5.0 of PHP is now included, which includes a number of
   changes  to  the  language  along with significant performance
   improvements.  Please  refer to the PHP documentation for more
   information on migrating from PHP 4.3 to PHP 5.0:

   http://www.php.net/manual/en/migration5.php

   The /usr/bin/php binary is now built using the CLI command-line
   SAPI, rather than the CGI SAPI. Use /usr/bin/php-cgi for CGI SAPI.
   The php-cgi also includes FastCGI support.

   The following extensions have been added:
     * The mysqli extension, a new interface designed specifically for
       MySQL 4.1. This is included in the php-mysql package.
     * The soap extension, for implementing SOAP clients and servers.

   The following extensions are now available as optional loadable
   extensions, rather than being built in to the PHP binaries:
     * The dba extension, now available in the php-dba package
     * The bcmath extension, now available in the php-bcmath package

Samba (Windows Compatibility)

   This section contains information related to Samba, the suite of
   software that enables Linux to interact with Microsoft Windows
   systems.

   Browsing of Windows shares (also known as SMB browsing) fails on
   Fedora Core 4 systems that have the standard firewall configured.
   This is most easily noticed in the failure of the desktop to display
   shares.

   The firewall disrupts the broadcast mode of SMB browsing, which is
   the default. There are two workarounds:
     * Configure  a WINS server on the network, and set the "wins
       server" option in smb.conf to the address of the WINS server.
     * Disable the firewall.

Disabling the firewall may make your system vulnerable

   Make sure you fully understand the risks before undertaking this
   step.

   For additional information, refer to the following bug report:

   https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=133478

X Window System (Graphics)

   This section contains information related to the X Window System
   implementation provided with Fedora Core.

xorg-x11

   Users new to the X.org X11 implementation should take note of a few
   differences between it and the XFree86.org X11 implementation which
   shipped in previous Red Hat operating systems. In particular, the
   names of some files have changed:

   X Server Binary:
     * XFree86 X11: XFree86
     * X.org X11: Xorg

   X Server Configuration File:
     * XFree86 X11: /etc/X11/XF86Config
     * X.org X11: /etc/X11/xorg.conf

   X Server Log File:
     * XFree86 X11: /var/log/XFree86.$DISPLAY.log
     * X.org X11: /var/log/Xorg.$DISPLAY.log

   When configuring or troubleshooting your X server configuration, be
   sure that you are using the correct files.

   There has been some confusion regarding font-related issues under
   the X Window System in recent versions of Fedora Core (and versions
   of Red Hat Linux before it.) At the present time, there are two font
   subsystems, each with different characteristics:
     * The original (15+ year old) subsystem is referred to as the
       "core X font subsystem". Fonts rendered by this subsystem are
       not anti-aliased, are handled by the X server, and have names
       like: -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
     * The newer font subsystem is known as "fontconfig", and allows
       applications direct access to the font files. Fontconfig is
       often used along with the Xft library, which allows applications
       to render fontconfig fonts to the screen with antialiasing.
       Fontconfig uses more human-friendly names such as: Luxi Sans-10

   Over  time,  fontconfig  and  Xft will replace the core X font
   subsystem. At the present time, applications using the Qt 3 or GTK 2
   toolkits (which would include KDE and GNOME applications) use the
   fontconfig and Xft font subsystem; most everything else uses the
   core X fonts.

   In the future, Fedora Core may support only fontconfig/Xft in place
   of the XFS font server as the default local font access method.

Note

   An  exception  to  the  font subsystem usage outlined above is
   OpenOffice.org (which uses its own font rendering technology).

   If you wish to add new fonts to your Fedora Core 4 system, you must
   be aware that the steps necessary depend on which font subsystem is
   to use the new fonts. For the core X font subsystem, you must:
    1. Create the /usr/share/fonts/local/ directory (if it doesn't
       already exist):
mkdir /usr/share/fonts/local/
    2. Copy the new font file into /usr/share/fonts/local/
    3. Update the font information by issuing the following commands
       (note  that, due to formatting restrictions, the following
       commands may appear on more than one line; in use, each command
       should be entered on a single line):
ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.sca
le
mkfontdir /usr/share/fonts/local/
    4. If you had to create /usr/share/fonts/local/, you must then add
       it to the X font server (xfs) path:
chkfontpath --add /usr/share/fonts/local/

   Adding  new  fonts  to  the  fontconfig font subsystem is more
   straightforward; the new font file only needs to be copied into the
   /usr/share/fonts/ directory (individual users can modify their
   personal  font configuration by copying the font file into the
   ~/.fonts/ directory).

   After the new font has been copied, use fc-cache to update the font
   information cache:
fc-cache <directory>

   (Where  <directory>  would  be either the /usr/share/fonts/ or
   ~/.fonts/ directories.)

   Individual users may also install fonts graphically, by browsing
   fonts:/// in Nautilus, and dragging the new font files there.

Note

   If the font filename ends with ".gz", it has been compressed with
   gzip, and must be decompressed (with the gunzip command) before the
   fontconfig font subsystem can use the font.

   Due  to  the  transition  to  the  new  font  system  based on
   fontconfig/Xft,  GTK+ 1.2 applications are not affected by any
   changes  made  via  the  Font  Preferences  dialog.  For these
   applications, a font can be configured by adding the following lines
   to the file ~/.gtkrc.mine:

style "user-font" {
fontset = "<font-specification>"
}
widget_class "*" style "user-font"

   (Where <font-specification> represents a font specification in the
   style   used   by   traditional   X   applications,   such  as
   "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*".)

Packages Movement

Packages Moved to Fedora Extras

   These are some of the packages that have moved from Core to Fedora
   Extras. These are active packages that are maintained and supported
   by the Fedora Project. If you are looking for information about
   Extras, refer to this URL:

   http://fedoraproject.org/wiki/Extras

List is Incomplete

   This list highlights some of the major packages that moved from Core
   to Extras between Fedora Core 3 and Fedora Core 4. This is not a
   complete list.
     * abiword
     * aiksaurus
     * balsa
     * bzflag
     * cyrus-imapd
     * dbh
     * dietlibc
     * exim
     * freeciv
     * gnuchess
     * gnumeric
     * grip
     * jed
     * lapack
     * libgda
     * libgnomedb
     * libtabe
     * libxfce4mcs
     * libxfce4util
     * libxfcegui
     * Maelstrom
     * ncftp
     * ots
     * recode
     * SDL_image
     * SDL_mixer
     * SDL_net
     * sylpheed
     * system-switch-im
     * xboard
     * xcin
     * xemacs
     * xemacs-sumo
     * xfce4-iconbox
     * xfce4-panel
     * xfce4-systray
     * xfce-mcs-manager
     * xfce-mcs-plugins
     * xfce-utils
     * xfdesktop
     * xffm
     * xffm-icons
     * xfprint
     * xfwm4
     * xmms

An Overview of the Fedora Project

   The goal of the Fedora Project is to work with the Linux community
   to build a complete, general-purpose operating system exclusively
   from open source software. Development is done in a public forum.
   The  project  produces  time-based  releases  of  Fedora  Core
   approximately 2-3 times a year, with a public release schedule. The
   Red Hat engineering team will continue to participate in building
   Fedora Core and will invite and encourage more outside participation
   than was possible in the past. By using this more open process, we
   hope to provide an operating system more in line with the ideals of
   free software and more appealing to the open source community.

   For more information, refer to the Fedora Project website:

   http://fedora.redhat.com/

   In  addition  to  the website, the following mailing lists are
   available:
     * fedora-list@redhat.com — For users of Fedora Core releases
     * fedora-test-list@redhat.com — For testers of Fedora Core test
       releases
     * fedora-devel-list@redhat.com — For developers, developers,
       developers
     * fedora-docs-list@redhat.com — For participants of the docs
       project

   To subscribe to any of these lists, send an email with the word
   "subscribe" in the subject to <listname>-request (where <listname>
   is one of the above list names.)

   Alternately, you can subscribe through the Web interface:

   http://www.redhat.com/mailman/listinfo/

   If you have subscribed in the past to rhl-list, rhl-beta-list,
   rhl-devel-list, or rhl-docs-list, your subscriptions have been
   retained.

   The  Fedora Project also includes an IRC (Internet Relay Chat)
   channel. IRC is a real-time, text-based form of communication. With
   it, you can have conversations with multiple people in an open
   channel or chat with someone privately one-on-one.

   To talk with other Fedora Project participants via IRC, access
   freenode IRC network. Initially, you can use irc.freenode.net as the
   IRC server, although you may decide to select a server that is
   geographically  closer  to  you. Refer to the freenode website
   (http://www.freenode.net/) for more information. Fedora Project
   participants frequent the #fedora channel, while Fedora Project
   developers can often be found on the #fedora-devel channel. Some of
   the  larger projects may have their own channels as well; this
   information can be found on the project pages.

   In order to talk on the #fedora channel, you will need to register
   your nickname (nick). Instructions are given when you /join the
   channel.

Note

   Red Hat has no control over the Fedora Project IRC channels or their
   content.