Scientific Linux 5.0 Release Notes --------------------------------------------------------------------------- Introduction The following topics are covered in this document: o Installation-Related Notes o Technology Previews o Known Issues o General Information o Internationalization o Kernel Notes Installation-Related Notes The following section includes information specific to the installation of Scientific Linux and the Anaconda installation program. Note In order to upgrade an already-installed Scientific Linux, you must use yum to update those packages that have changed. You may use Anaconda to perform a fresh installation of Scientific Linux 5.0 or to perform an upgrade from the latest updated version of Scientific Linux 4.x to Scientific Linux 5.0. Note that the minimum RAM required to install Scientific Linux 5.0 has been raised to 1GB; the recommended RAM is 2GB. If a machine has less than 1GB RAM, the installation process may hang. ISO Contents and Registration The architecture of the media kit in Scientific Linux 5.0 has changed from previous versions of Scientific Linux The trees contain repositories for a number of options that provide additional functionality over the core distribution: o Scientific Linux -- default multi purpose server operating system containing virtualization with support for up to 4 virtual instances. o Scientific Linux Virtualization Platform -- datacenter virtualization operating system including clustering and cluster storage o Scientific Linux Desktop -- Knowledge-worker Desktop product o Scientific Linux Workstation -- option for engineering and development workstations Subversion In Scientific Linux 5.0, the Subversion version control system is linked against Berkeley DB 4.3. If you are upgrading from Scientific Linux 4.x and any Subversion repositories have been created on the system which use the Berkeley DB backend "BDB" (rather than the pure file system-based "FSFS" backend), special care must be taken to ensure the repositories can be accessible after the upgrade. The following process must be performed on the Scientific Linux 4.x system, prior to upgrading to Scientific Linux 5.0: 1. Shut down any running processes and ensure that no processes can access the repository (for example, httpd, svnserve or any local users with direct access). 2. Create a backup of the repository; for example: svnadmin dump /path/to/repository | gzip > repository-backup.gz 3. Run the svnadmin recover command on the repository: svnadmin recover /path/to/repository 4. Delete any unused log files in the repository: svnadmin list-unused-dblogs /path/to/repository | xargs rm -vf 5. Delete any remaining shared-memory files in the repository: rm -f /path/to/repository/db/__db.0* Technology Previews Technology Previews are features that are not currently supported, but are made available in a release. Their described functionalities can be tested; however, the only support to be provided for Technology Previews are erratas for high-priority security issues. Throughout its development, additional portions of a Technology Preview may also become available to the public for testing. Stateless Linux Included in this beta of Scientific Linux 5.0 are enabling infrastructure pieces for Stateless Linux. Stateless Linux is a new way of thinking about how a system is to be run and managed, designed to simplify provisioning and management of large numbers of systems by making them easily replaceable. This is primarily accomplished by establishing prepared system images which get replicated and managed across a large number of stateless systems, running the operating system in a read-only manner. In its current state of development, the Stateless features are subsets of the intended goals. As such, the capability is being labeled as a technology preview. The following is a list of the initial capabilities included in Scientific Linux 5.0 beta: o running a stateless image over NFS o running a stateless image via loopback over NFS o running on iSCSI It is currently not possible to run Stateless Linux on a local file system with changes synchronized from a master server, due to required kernel changes. It is highly recommended that those interested in testing stateless code read the HOWTO at [3]http://fedoraproject.org/wiki/StatelessLinuxHOWTO GFS2 GFS2 is an evolutionary advancement based on the GFS file system. While fully functional, GFS2 is not yet considered production-ready. GFS, which has been in production for 5 years, is being provided with this release and is fully supported for non-clustered data file systems (except for root and boot), as well as in clustered file system configurations on shared storage when the cluster infrastructure is present. GFS2 is targeted to move to a fully supported status in a subsequent Scientific Linux 5.0 update. There is also an in-place conversion utility, gfs2_convert, which can update the meta data of a GFS file system, converting it to a GFS2 file system. FS-Cache FS-Cache is a local caching facility for remote file systems; it allows users to cache NFS data on a locally mounted disk. To set up the FS-Cache facility, install the cachefilesd RPM and refer to the instructions in /usr/share/doc/cachefilesd-/README. Replace with the corresponding version of the cachefilesd package installed. Compiz Compiz is an OpenGL-based compositing window manager. In addition to regular window management, compiz also acts as a compositing manager. In this role, compiz coordinates and synchronizes the overall desktop redrawing to provide a smoother desktop experience with less flicker and a more solid feel. Compiz uses 3D hardware acceleration to render effects such as live thumbnail windows and window drop shadows, as well as animated window minimizing and transitions between virtual desktops. Due to limitations in the current rendering architecture, compiz cannot work correctly with direct rendering OpenGL applications or applications using the Xv extension. Such applications will exhibit harmless rendering artifacts; because of this, the feature is currently not supported fully. Enhancement for Ext3 In Scientific Linux 5.0, the EXT3 file system capacity has been extended beyond 8TB to a maximum of 16TB. This capability is being included as a technology preview, and is targeted for full support in a future release of Scientific Linux 5.0. Known Issues o bind upgrade error: when upgrading bind, a No such file or directory error may occur. This is caused by an installation sequencing bug, which will be addressed prior to GA. To work around this, login as root and run /usr/sbin/bind-chroot-admin --enable (if you have installed the bind-chroot package) or /usr/sbin/bind-chroot-admin --sync (if you have installed the caching-nameserver package). o caching-nameserver upgrade error: when upgrading caching-nameserver, the logs display an invalid context error. This is caused by a dependency issue with the selinux-policy package, which will be addressed prior to GA. To work around this, login as root and run /usr/sbin/bind-chroot-admin --sync. o Kernel module packages (kmods) can only be built with kABI dependencies if they are built on a system for which both the kernel-devel and the corresponding kernel package are installed. As such, it is currently not possible to build kABI-enhanced kmods against uninstalled kernels. This limitation will be addressed prior to GA. o Host bus adapters that use the MegaRAID driver must be set to operate in "Mass Storage" emulation mode, not in "I2O" emulation mode. To do this, perform the following steps: 1. Enter the MegaRAID BIOS Set Up Utility. 2. Enter the Adapter settings menu. 3. Under Other Adapter Options, select Emulation and set it to Mass Storage. If the adapter is incorrectly set to "I2O" emulation, the system will attempt to load the i2o driver. This will fail, and render the adapter inoperable. Previous Scientific Linux releases generally do not attempt to load the I20 driver before the MegaRAID driver. Regardless of this, the hardware should always be set to "Mass Storage" emulation mode when used with Linux. o ext3 / jbd kernel panic: heavy I/O to file systems where the block size is smaller than the page size may cause jbd to crash. This issue is being investigated and will be resolved in GA. o Virtualization guest installation error: Installing a paravirt guest on a system with a default ethernet connection on eth1 results in a No Driver Found error. To work around this, set eth0 as the default ethernet connection. This issue is being investigated and will be resolved in GA. o Anaconda incorrectly selects vesa driver: when Scientific Linux 5.0 is installed in text-only mode on a system with a geforce 5200-based video card, the vesa driver will be selected. This is incorrect, and will cause the screen to go blank once you run system-config-display. This issue will be resolved in GA. To work around this, open xorg.conf and change the line Driver "vesa" to Driver "nv". o Virtualization paravirt guest installation failure: attempting to install a paravirt guest on a system where SELinux is enabled will fail. This issue is being investigated and will be resolved in GA. To work around this, turn off SELinux before installing a paravirt guest. o Virtualization guest boot bug: when you install a fully virtualized guest configured with vcpus=2, the fully virtualized guest may take an unreasonably long time to boot up. This issue is being investigated and will be resolved in GA. To work around this, disable the guest ACPI by using the kernel parameters acpi=strict or acpi=static for the virtualized kernel during grub boot. General Information This section contains general information not specific to any other section of this document. Virtualization Scientific Linux 5.0 features virtualization capabilities for i686 and x86-64, as well as the software infrastructure needed to manage a virtualized environment. The implementation of virtualization in Scientific Linux 5.0 is based on the hypervisor, which facilitates extremely low overhead virtualization through paravirtualization. With Intel Virtualization Technology or AMD AMD-V capable processors, virtualization in Scientific Linux 5.0 allows operating systems to run unmodified in fully virtualized mode. Virtualization on Scientific Linux 5.0 also features the following: o Libvirt, a library that provides a consistent, portable API for managing virtual machines. o Virtual Machine Manager, a graphical utility for monitoring and managing virtual machines. o Virtual machine support in the installer, including the ability to kickstart virtual machines. Web Server Packaging Changes Scientific Linux 5.0 now includes version 2.2 of the Apache HTTP Server. This release brings a number of improvements over the 2.0 series, including: o improved caching modules (mod_cache, mod_disk_cache, mod_mem_cache) o a new structure for authentication and authorization support, replacing the authentication modules provided in previous versions o support for proxy load balancing (mod_proxy_balancer) o support for handling large files (namely, greater than 2GB) on 32-bit platforms The following changes have been made to the default httpd configuration: o The mod_cern_meta and mod_asis modules are no longer loaded by default. o The mod_ext_filter module is now loaded by default. If upgrading from a previous release of Scientific Linux, the httpd configuration will need to be updated for httpd 2.2. For more information, refer to [5]http://httpd.apache.org/docs/2.2/upgrading.html. Third-party Modules Any third-party modules compiled for httpd 2.0 must be rebuilt for httpd 2.2. php Version 5.1 of PHP is now included in Scientific Linux 5.0, which includes a number of changes to the language along with significant performance improvements. Some scripts might need to be edited for use with the new version; please refer to the link below for more information on migrating from PHP 4.3 to PHP 5.1: [6]http://www.php.net/manual/en/migration5.php The /usr/bin/php executable 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 executable also includes FastCGI support. The following extension modules have been added: o The mysqli extension, a new interface designed specifically for MySQL 4.1. This is included in the php-mysql package. o date, hash, Reflection, SPL and SimpleXML (built-in with the php package) o pdo and pdo_psqlite (in the php-pdo package) o pdo_mysql (in the php-mysql package) o pdo_pgsql (in the php-pgsql package) o pdo_odbc (in the php-odbc package) o soap (in the php-soap package) o xmlreader and xmlwriter (in the php-xml package) o dom (replacing the domxml extension in the php-xml package) The following extension modules are no longer included: o dbx o dio o yp o overload o domxml The PEAR Framework The PEAR framework is now packaged in the php-pear package. Only the following PEAR components are included in Scientific Linux 5.0: o Archive_Tar o Console_Getopt o XML_RPC Building kmod kernel module packages with kernel ABI dependency tracking On Scientific Linux 5.0, it is possible to build updated kernel module packages that depend upon the current kernel ABI version and not on a specific kernel release number. This facilitates building kernel modules that can be used against a range of Scientific Linux 5.0 kernels, rather than a single release. The project website at [7]http://www.kerneldrivers.org/ contains more information about the packaging process, as well as several examples. Encrypted Swap Partitions and Non-root File Systems Scientific Linux 5.0 now provides basic support for encrypted swap partitions and non-root file systems. To use these features, add the appropriate entries to /etc/crypttab and reference the created devices in /etc/fstab. Below is a sample /etc/crypttab entry: my_swap /dev/hdb1 /dev/urandom swap,cipher=aes-cbc-essiv:sha256 This creates the encrypted block device /dev/mapper/my_swap, which can be referenced in /etc/fstab. Below is a sample /etc/crypttab entry for a file system volume: my_volume /dev/hda5 /etc/volume_key cipher=aes-cbc-essiv:sha256 The /etc/volume_key file contains a plaintext encryption key. You can also specify none as the key file name, at which the system will ask for the encryption key during boot instead. It is recommended to use LUKS for setting up file system volumes. To do this, follow these steps: 1. Create the encrypted volume using cryptsetup luksFormat. 2. Add the necessary entry to /etc/crypttab. 3. Set up the volume manually using cryptsetup luksOpen (or reboot). 4. Create a file system on the encrypted volume. 5. Add the necessary entry to /etc/fstab. mount and umount The mount and umount commands no longer directly support NFS; there no longer is a built-in NFS client. A separate nfs-utils package, which provides /sbin/mount.nfs and /sbin/umount.nfs helpers, must be installed for this. CUPS printer browsing CUPS printer browsing over a local subnet can be configured using the graphical tool system-config-printer. It can also be done using the CUPS web interface, [8]http://localhost:631/. To use directed broadcasts for printer browsing between subnets, open /etc/cups/cupsd.conf on the clients and change BrowseAllow @LOCAL to BrowseAllow ALL. Internationalization This section includes information on language support under Scientific Linux 5.0. Input Methods SCIM (Smart Common Input Method) has replaced IIIMF as the input method system for Asian and other languages in this release. The default GTK Input Method Module for SCIM is provided by scim-bridge; in Qt, it is provided by scim-qtimm. Below are the default trigger hotkeys for different languages: o All languages: Ctrl-Space o Japanese: Zenkaku-Hankaku or Alt-` o Korean: Shift-Space If SCIM is installed, it runs by default for all users. Language Installation SCIM is installed by default for most Asian installations. Otherwise, you can use the package manager (pirut) to install additional language support using the "Languages" component, or run this command: su -c 'yum groupinstall -support' In the command above, can be either Assamese, Bengali, Chinese, Gujarati, Hindi, Japanese, Kannada, Korean, Malayalam, Marathi, Oriya,Punjabi, Sinhala, Tamil, Thai, or Telugu. im-chooser A new user configuration tool called im-chooser has been added, which allows you to easily disable or enable the usage of input methods on your desktop. So if SCIM is installed but you do not wish to run it on your desktop, you can disable it using im-chooser. xinputrc At X startup, xinput.sh now sources ~/.xinputrc or /etc/X11/xinit/xinputrc instead of searching config files under ~/.xinput.d/ or /etc/xinit/xinput.d/. Pango Support in Firefox Firefox in Scientific Linux 5.0 is built with Pango, which provides better support for certain scripts, such as Indic and some CJK scripts. To disable the use of Pango, set MOZ_DISABLE_PANGO=1 in your environment before launching Firefox. Fonts Support is now available for synthetic emboldening of fonts that do not have a bold face. New fonts for Chinese have been added: AR PL ShanHeiSun Uni (uming.ttf) and AR PL ZenKai Uni (ukai.ttf). The default font is AR PL ShanHeiSun Uni, which contains embedded bitmaps. If you prefer outline glyphs, you can add the following section in your ~/.font.conf file: AR PL ShanHeiSun Uni false gtk2 IM submenu The Gtk2 context menu IM submenu no longer appears by default. You can enable it on the command line with the following command: gconftool-2 --type bool --set '/desktop/gnome/interface/show_input_method_menu' true Support for text installation on CJK CJK (Chinese, Japanese, and Korean) rendering support has been removed from the Anaconda text installation. The text installation method is being deprecated in the long term, as the GUI installation, VNC and kickstart methods are preferred. gtk2 stack The following packages are deprecated and scheduled for removal in Scientific Linux: o gtk+ o gdk-pixbuf o glib These packages are being deprecated in favor of the gtk2 stack, which offers better functionality particularly in terms of internationalization and font handling. CJK input on console If you need to display Chinese, Japanese, or Korean on the console, you need to setup a framebuffer. To do this, install bogl and bogl-bterm, and run bterm on the framebuffer. Note that the kernel framebuffer module depends on the graphics chipset in your machine. Kernel Notes This section notes the differences between 2.6.9 (on which Scientific Linux 4.x is based) and 2.6.18 (which Scientific Linux 5.0 will inherit) as of July 12, 2006. Additional features which we are currently working on upstream (for example, virtualization) that will appear late in 2.6.18 or 2.6.19 are not highlighted here. In other words, this list only shows what is already included in the upstream Linus tree; not what is currently in development. Consequently, this list is not a final, or complete list of the new Scientific Linux 5.0 features, although it does give a good overview of what can be expected. Also, note that this section only picks out highlights of upstream changes, and as such it is not fully comprehensive. It does not include mention of several low-level hardware support enhancements and device driver info. The following is a good source for a next level-of-detail view: [9]http://kernelnewbies.org/LinuxChanges Performance / Scalability o Big Kernel Lock preemption (2.6.10) o Voluntary preemption patches (2.6.13) (subset in Scientific Linux 4) o Lightweight user-space priority inheritance (PI) support for futexes, useful for real-time applications (2.6.18) o ref: [10]http://lwn.net/Articles/178253/ o New 'mutex' locking primitive (2.6.16) o High resolution timers (2.6.16) o In contrast to the low-resolution timeout API implemented in kernel/timer.c, hrtimers provide finer resolution and accuracy depending on system configuration and capabilities. These timers are currently used for itimers, POSIX timers, nanosleep and precise in-kernel timing. o Modular, on-the-fly switchable I/O schedulers (2.6.10) o This was adjustable only by boot option in Scientific Linux 4 (also system-wide instead of per-queue). o Conversion to 4-level page tables (2.6.11) o allows x86-64 to increase from 512G to 128TB of memory o New Pipe implementation (2.6.11) o 30-90% performance improvement in pipe bandwidth o circular buffer allows more buffering than blocking writers o "Big Kernel Semaphore": turns the Big Kernel Lock into a semaphore o reduces latency by breaking up long lock hold times and adding voluntary preemption o X86 "SMP alternatives" o optimizes a single kernel image at runtime according to the available platform o ref: [11]http://lwn.net/Articles/164121/ o kernel-headers package o replaces the glibc-kernheaders package o provides better suitability with the new headers_install feature of the 2.6.18 kernel o notable kernel header-related changes: o removed header file, as it is no longer useful o removed _syscallX() macros; user-space should use syscall() from the C library instead o removed and header files; C compiler provides its own atomic built-in functions better suitable for user-space programs o content previously protected with #ifdef __KERNEL__ is now removed completely with the unifdef tool; defining __KERNEL__ in order to view parts which should not be visible to user-space is no longer effective o removed the PAGE_SIZE macro from some architectures, due to variance in page sizes; user-space should be using sysconf (_SC_PAGE_SIZE) or getpagesize() o to provide better suitability for user-space, removed several header files and header content Generic Feature Additions o kexec and kdump (2.6.13) o netdump has been replaced by kexec and kdump, which ensure faster boot-up and creation of reliable kernel vmcores for diagnostic purposes. For more information and configuration instructions, please refer to /usr/share/doc/kexec-tools-/kexec-kdump-howto.txt (replace with the corresponding version of the kexec-tools package installed). o inotify (2.6.13) o user interface for this is through the following syscalls: sys_inotify_init, sys_inotify_add_watch, and sys_inotify_rm_watch. o Process Events Connector (2.6.15) o reports fork, exec, id change, and exit events for all processes to user-space. o Applications that may find these events useful include accounting / auditing (for example, ELSA), system activity monitoring (for example, top), security, and resource management (for example, CKRM). Semantics provide the building blocks for features like per-user-namespace, "files as directories" and versioned file systems. o Generic RTC (RealTime Clock) subsystem (2.6.17) o splice (2.6.17) o new IO mechanism which avoids data copies when transferring data between applications o ref: [12]http://lwn.net/Articles/178199/ o Block queue IO tracing support (blktrace): allows users to view any traffic occurring on a block device queue, which displays very detailed statistics of what disks are doing (2.6.17) File System / LVM o EXT3 o ext3 block reservation (2.6.10) (in Scientific Linux 4) o ext3 online resizing patches (2.6.10) (in Scientific Linux 4) o support for Extended Attributes in the body of large inode in ext3: saves space and improves performance in some cases (2.6.11) o Device mapper multipath support (Scientific Linux 4) o ACL support for NFSv3 and NFSv4 (2.6.13) o NFS: supports large reads and writes on the wire (2.6.16) o The Linux NFS client now supports transfer sizes of up to 1MB. o FUSE (2.6.14) o allows implementation of a fully functional file system in a user-space program o VFS changes o The "shared subtree" patches have been merged. (2.6.15) o ref: [13]http://lwn.net/Articles/159077/ o Big CIFS update (2.6.15) o features several performance improvements as well as support for Kerberos and CIFS ACL o autofs4: updated to provide direct mount support for user-space autofs (2.6.18) o cachefs core enablers (2.6.18) Security o Address space randomization o With these patches applied, the stack of each process will begin at a random location, and the beginning of the memory area used for mmap() (which is where shared libraries go, among other things) will be randomized as well (2.6.12). o Multilevel security implementation for SELinux (2.6.12) o Audit subsystem o support for process-context based filtering (2.6.17) o more filter rule comparators (2.6.17) o TCP/UDP getpeersec: enabled a security-aware application to retrieve the security context of an IPSec security association that a particular TCP or UDP socket is using (2.6.17) Networking o Added several TCP congestion modules (2.6.13) o IPv6: supports several new sockopt / ancillary data in Advanced API (2.6.14) o IPv4/IPv6: UFO (UDP Fragmentation Offload) Scatter-gather approach (2.6.15) o UFO is a feature wherein the Linux kernel network stack will offload the IP fragmentation functionality of large UDP datagram to hardware. This will reduce the overhead of stack in fragmenting the large UDP datagram to MTU-sized packets. o Added nf_conntrack subsystem (2.6.15) o The existing connection tracking subsystem in netfilter can only handle ipv4. There were two choices present to add connection tracking support for ipv6; either duplicate all of the ipv4 connection tracking code into an ipv6 counterpart, or (the choice taken by these patches) design a generic layer that could handle both ipv4 and ipv6 and thus requiring only one sub-protocol (TCP, UDP, etc.) connection tracking helper module to be written. In fact, nf_conntrack is capable of working with any layer 3 protocol. o IPV6 o RFC 3484 compliant source address selection (2.6.15) o added support for Router Preference (RFC4191) (2.6.17) o added Router Reachability Probing (RFC4191) (2.6.17) o Wireless updates o hardware crypto and fragmentation offload support o QoS (WME) support, "wireless spy support" o mixed PTK/GTK o CCMP/TKIP support and WE-19 HostAP support o BCM43xx wireless driver o ZD1211 wireless driver o WE-20, version 20 of the Wireless Extensions (2.6.17) o added the hardware-independent software MAC layer, "Soft MAC" (2.6.17) o added LEAP authentication type o Added generic segmentation offload (GSO) (2.6.18) o can improve performance in some cases, though it needs to be enabled through ethtool o Added new per-packet access controls to SELinux, replacing the old packet controls o Added secmark support to core networking, to allow security subsystems to place security markings on network packets. (2.6.18) o DCCPv6 (2.6.16) Added Hardware Support Note This section only enumerates the most generic features among many. o x86-64 clustered APIC support (2.6.10) o Infiniband support (2.6.11) (mostly in Scientific Linux 4) o Hot plug o added generic memory add/remove and supporting functions for memory hotplug (2.6.15) o SATA/libata enhancements, additional hardware support (in Scientific Linux 4) o A completely reworked libata error handler; the result of all this work should be a more robust SATA subsystem which can recover from a wider range of errors. o Native Command Queuing (NCQ), the SATA version of tagged command queuing - the ability to have several I/O requests to the same drive outstanding at the same time. (2.6.18) o Hotplug support (2.6.18) o EDAC support (2.6.16) (in Scientific Linux 4) o The EDAC goal is to detect and report errors that occur within the computer system. o Added a new ioatdma driver for the Intel(R) I/OAT DMA engine (2.6.18) NUMA (Non-Uniform Memory Access) / Multi-core o Cpusets (2.6.12) o Cpusets now provide a mechanism for assigning a set of CPUs and Memory Nodes to a set of tasks. Cpusets constrain the CPU and Memory placement of tasks only to the resources within a task's current cpuset. These are essential in managing dynamic job placement on large systems. o NUMA-aware slab allocator (2.6.14) o This creates slabs on multiple nodes and manages slabs in such a way that locality of allocations is optimized. Each node has its own list of partial, free and full slabs. All object allocations for a node occur from node-specific slab lists. o Swap migration (2.6.16) o Swap migration allows the moving of physical location of pages between nodes in a NUMA system while the process is running. o Huge pages (2.6.16) o Added NUMA policy support for huge pages: the huge_zonelist() function in the memory policy layer provides a list of zones ordered by NUMA distance. The hugetlb layer will walk that list looking for a zone that has available huge pages but is also in the nodeset of the current cpuset. o Huge pages now obey cpusets. o Per-zone VM counters o provide zone-based VM statistics, which are necessary in determining what state of memory a zone is in o Netfilter ip_tables: NUMA-aware allocation. (2.6.16) o Multi-core o Added a new scheduler domain for representing multi-core with shared caches between cores. This makes it possible to make smarter cpu scheduling decisions on such systems, improving performance greatly for some cases. (2.6.17) o Power saving policy for the CPU scheduler: with multicore/smt cpus, the power consumption can be improved by leaving some packages idle while others do all the work, instead of spreading the tasks over all CPUs. ( amd64 ) -------------- ^[[14]1] This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0, available at [15]http://www.opencontent.org/openpub/. References Visible links 3. http://fedoraproject.org/wiki/StatelessLinuxHOWTO 5. http://httpd.apache.org/docs/2.2/upgrading.html 6. http://www.php.net/manual/en/migration5.php 7. http://www.kerneldrivers.org/ 8. http://localhost:631/ 9. http://kernelnewbies.org/LinuxChanges 10. http://lwn.net/Articles/178253/ 11. http://lwn.net/Articles/164121/ 12. http://lwn.net/Articles/178199/ 13. http://lwn.net/Articles/159077/ 15. http://www.opencontent.org/openpub/