The Migration Planning Guide documents the migration of any minor
version of a Red Hat Enterprise Linux 5 installation to Red Hat
Enterprise Linux 6 by highlighting key behavioral changes worthy of note
when migrating.
This guide is intended to increase ease of use of Red Hat Enterprise
Linux 6 by providing guidelines for changes in the product between Red
Hat Enterprise Linux 5 and Red Hat Enterprise Linux 6. This guide is
however not designed to explain all new features: it is focused on changes to the behavior
of applications or components which were part of Red Hat Enterprise
Linux 5 and have changed in Red Hat Enterprise Linux 6 or whose
functionality has been superseded by another package.
1.1. Red Hat Enterprise Linux 6
Red Hat Enterprise Linux is the leading platform for open source
computing. It is sold by subscription, delivers continuous value and is
certified by top enterprise hardware and software vendors. From the
desktop to the datacenter, Enterprise Linux couples the innovation of
open source technology and the stability of a true enterprise-class
platform.
Red Hat Enterprise Linux 6 is the next generation of Red Hat's
comprehensive suite of operating systems, designed for mission-critical
enterprise computing and certified by top enterprise software and
hardware vendors. This release is available as a single kit on the
following architectures:
i386
AMD64/Intel64
System z
IBM Power (64-bit)
In this release, Red Hat brings together improvements across the
server, systems and the overall Red Hat open source experience. The
following are some of the many improvements and new features that are
included in this release:
Tickless kernel and improvements through the application stack to
reduce wakeups, power consumption measurement by PowerTOP, Power
Management (ASPM, ALPM), and adaptive system tuning by Tuned.
Comprehensive IPv6 support (NFS 4, CIFS, mobile support [RFC 3775],
ISATAP support), FCoE, iSCSI, and a new and improved mac80211 wireless
stack.
System level enhancements from industry collaborations to make the most of hardware RAS capabilities and NUMA architectures.
Improved scheduler and better resource management in the kernel via Completely Fair Scheduler (CFS) and Control Groups (CG).
ext4 is the default filesystem, and xfs offers robustness, scalability, and high-performance.
KVM includes performance improvements and new features, sVirt
protects the host, VMs, and data from a guest breach, SRIOV and NPIV
deliver high performance virtual use of physical devices, and libvirt
leverages kernel CG controller functionality.
SELinux includes improved ease of use, application sandboxing, and
significantly increased coverage of system services, while SSSD provides
unified access to identity and authentication services as well as
caching for off-line use.
SystemTap (allows instrumentation of a running kernel without
recompilation), ABRT (simple collection of bug information), and
improvements to GCC (version 4.4.3), glibc (version 2.11.1), and GDB
(version 7.0.1).
1.2. Application Compatibility
This release of Red Hat Enterprise Linux provides dependencies so
applications designed to run on earlier versions of the operating system
continue to run with minimum disruption. To that end, older versions of
key libraries are included to preserve legacy interfaces that might
have changed between this release and prior versions. These libraries
serve as dependencies primarily for applications written in C/C++.
Please note that it is not necessary to re-test or re-certify
applications between minor releases of Red Hat Enterprise Linux. Red Hat
Enterprise Linux compatibility policies ensure that applications
running on a version of the release will continue to run throughout the
life of the release. For example, applications certified on Red Hat
Enterprise Linux 6.0 will be fully compatible on Red Hat Enterprise
Linux 6.1 and so on.
Refer to the following table for details on these compatibility packages:
Table 1.1. Compatibility Libraries
Package
|
Description
|
---|
compat-db
|
The Berkeley DB database compatibility library. The Berkeley
Database (Berkeley DB) is a programmatic toolkit that provides embedded
database support for both traditional and client/server applications.
This package contains various versions of Berkeley DB which were
included in previous releases.
|
compat-expat1
|
Expat is a stream-oriented XML parser. This package provides library compatibility with previous versions.
|
compat-glibc
|
glibc is the C library used for system calls and other basic
facilities. This package provides compatibility (and runtime libraries)
for the compiling of binaries that require older glibc versions, and
allows them to run on this release of Red Hat Enterprise Linux.
|
compat-libf2c-34
|
This package provides older versions of Fortran 77 shared
libraries, which are needed to run dynamically-linked Fortran 77
programs.
|
compat-libgcc-296
|
Contains the 2.96 libgcc.a library and support object files to retain compatibility with older versions of GCC.
|
compat-libgfortran-41
|
This package includes a Fortran 95 runtime library for compatibility with GCC 4.1.x compiled Fortran applications.
|
compat-libstdc++-295
|
Provides compatibility with the GNU standard C++ library version 2.95.
|
compat-libstdc++-296
|
Provides compatibility with the GNU standard C++ library version 2.96.
|
compat-libstdc++-33
|
Provides compatibility with the GNU standard C++ library version 3.3.
|
compat-libtermcap
|
This package provides compatibility for older termcap-based programs.
|
compat-openldap
|
OpenLDAP is an open source suite of LDAP (Lightweight Directory
Access Protocol) applications and development tools. The compat-openldap
package includes older versions of the OpenLDAP shared libraries which
may be required by some applications.
|
openssl098e
|
This package provides OpenSSL 0.98e, which may be required for some SSL applications.
|
Chapter 3. Storage and File Systems
Performing an upgrade from a dmraid
set to an mdraid
set is not supported. A warning will be displayed when an upgrade of this type is attempted. Upgrades from existing mdraid
sets and creation of new mdraid
sets are possible.
The new default superblock can cause problems when upgrading sets.
This new superblock format (used on all devices except when creating a
RAID1 /boot partition) is now at the beginning of the array, and any
file system or LVM data is offset from the beginning of the partition.
When the array is not running, LVM and file system mount
commands may not detect the device as having a valid volume or file
system data. This is intentional, and means that if you want to mount a
single disk in a RAID1 array, you need to start the array having only
that single disk in it, then mount the array. You can not mount the bare
disk directly. This change has been made as mounting a bare disk
directly can silently corrupt the array if a resync is not forced.
On subsequent reboots, the RAID system may then consider the disk
that was not included in the array as being incompatible, and will
disconnect that device from the array. This is also normal. When you are
ready to re-add the other disk back into the array, use the mdadm
command to hot add the disk into the array, at which point a resync of
the changed parts of the disk (if you have write intent bitmaps) or the
whole disk (if you have no bitmap) will be performed, and the array will
once again be synchronized. From this point, devices will not be
disconnected from the array, as the array is considered to be properly
assembled.
The new superblock supports the concept of named mdraid
arrays. Dependency on the old method of array enumeration (for instance, /dev/md0
then /dev/md1
, etc.) for distinguishing between arrays has been dropped. You can now choose an arbitrary name for the array (such as home
, data
, or opt
). Create the array with your chosen name using the --name=opt
option. Whatever name is given to the array, that name will be created in /dev/md/
(unless a full path is given as a name, in which case that path will be
created; or unless you specify a single number, such as 0, and mdadm
will start the array using the old /dev/md
x
scheme). The Anaconda installer does not currently allow for the
selection of array names, and instead uses the simple number scheme as a
way to emulate how arrays were created in the past.
The new mdraid
arrays support the use of
write intent bitmaps. These help the system identify problematic parts
of an array, so that in the event of an unclean shutdown, only the
problematic parts need to be resynchronized, and not the entire disk.
This drastically reduces the time required to resynchronize. Newly
created arrays will automatically have a write intent bitmap added when
suitable. For instance, arrays used for swap and very small arrays (such
as /boot
arrays) do not benefit from
having write intent bitmaps. It is possible to add a write intent bitmap
to your previously existing arrays after the upgrade is complete via
the mdadm --grow
command on the device,
however write intent bitmaps do incur a modest performance hit (about
3-5% at a bitmap chunk size of 65536, but can increase to 10% or more at
small bitmap chunk sizes such as 8192). This means that if a write
intent bitmap is added to an array, it is best to keep the chunk size
reasonably large. The recommended size is 65536.
It is recommended that those wishing to make use of ext4 start with a
freshly formatted partition. However, you may install Red Hat
Enterprise Linux 6 with the ext4migrate
boot option if you wish to convert your legacy ext3 partitions to ext4.
It is important to note that by doing this you will not receive all of
the benefits ext4 offers, since the data currently residing on the
partition will not make use of the extents features and other changes.
New data will however make use of extents. Passing this boot option to
migrate to ext4 is not recommended and it is strongly recommended that
you back up file systems before attempting this migration.
Red Hat Enterprise Linux 6 provides full support for ext4 and it is
the default file system for new installations. This section explains the
major changes in behaviour that this new file system introduces.
The included version of the GRUB bootloader provides full support for ext4 partitions. The installer also allows you to place any /boot
file system on an ext4 partition.
The included version of the e2fsprogs package is fully compatible with ext4.
In some cases, ext4 file systems created under Red Hat Enterprise Linux 5.3 with the e4fsprogs package created an ext4dev
file system type. The test_fs
feature flag identifying these file systems as a development version can be removed with the following command: tune2fs -E ^test_fs
. This is done so that these file systems will be recognized as regular ext4 file systems.
Fusecompress is a compressing filesystem mountable by unprivileged
users. Red Hat Enterprise Linux 6 includes an updated version that fixes
several bugs but changes the on-disk format. Users with existing
fusecompress filesystems will need to migrate their data to the new
format. Unless decompression is performed before upgrading, the fusecompress_offline1 package is required.
The blockdev --rmpart
command option is no longer supported. The partx(8)
and delpart(8)
commands now provide this functionality.
Chapter 4. Networking and Services
4.1. Interfaces and Configuration
Red Hat Enterprise Linux 6 uses NetworkManager by default when configuring network interfaces.
Infiniband support (specifically the openib
start script and the openib.conf
file) was provided by the openib
package in Red Hat Enterprise Linux 5. The package name has changed in
Red Hat Enterprise Linux 6 to reflect its functionality more accurately.
The Infiniband functionality is now distributed in the rdma package. The service is now called rdma
, and the configuration file is located at /etc/rdma/rdma.conf
.
4.2. Service Initialization
Xinetd is a daemon used to start network services on demand. The
changes in xinetd are related to the allowed limit of open file
descriptors:
The listening mechanism has changed from select()
to poll()
. With this change, the limit of open file descriptors used by xinetd can be changed.
File descriptor limit can also now be changed on a per-service
basis. This can be done in the configuration file for the service via
the rlimit_files
directive. The value can be a positive integer or UNLIMITED.
In Red Hat Enterprise Linux 6, the custom runlevels 7, 8 and 9 are no longer supported and can not be used.
In Red Hat Enterprise Linux 6, init from the sysvinit package has been replaced with Upstart,
an event-based init system. This system handles the starting of tasks
and services during boot, stopping them during shutdown and supervising
them while the system is running. For more information on Upstart
itself, refer to the init(8)
man page.
Processes are known to Upstart as jobs and are defined by files in the /etc/init
directory. Upstart is very well documented via man pages. Command overview is in init(8)
and job syntax is described in init(5)
.
Upstart provides the following behavioral changes in Red Hat Enterprise Linux 6:
The /etc/inittab
file is deprecated, and is now used only for setting up the default runlevel via the initdefault line. Other configuration is done via upstart jobs in the /etc/init
directory.
The number of active tty consoles is now set by the ACTIVE_CONSOLES variable in /etc/sysconfig/init
, which is read by the /etc/init/start-ttys.conf
job. The default value is ACTIVE_CONSOLES=/dev/tty[1-6], which starts a getty on tty1 through tty6.
A serial getty is still automatically configured if the serial
console is the primary system console. In prior releases, this was done
by kudzu
, which would edit /etc/inittab
. In Red Hat Enterprise Linux 6, configuration of the primary serial console is handled by /etc/init/serial.conf
.
To configure a getty running on a non-default serial console, you must now write an Upstart job instead of editing /etc/inittab
. For example, if a getty on ttyS1 is desired, the following job file (/etc/init/serial-ttyS1.conf
) would work:
# This service maintains a getty on /dev/ttyS1.
start on stopped rc RUNLEVEL=[2345]
stop on starting runlevel [016]
respawn
exec /sbin/agetty /dev/ttyS1 115200 vt100-nav
As in prior releases, you should still make sure that ttyS1 is in /etc/securetty
if you wish to allow root logins on this getty.
Because of the move to Upstart, using /etc/shutdown.allow
for defining who can shut the machine down is no longer supported.
IPTables includes a
SECMARK
target
module. This is used to set the security mark value associated with the
packet for use by security subsystems such as SELinux. It is only valid
in the mangle table. Refer to the following for example usage:
iptables -t mangle -A INPUT -p tcp --dport 80 -j SECMARK --selctx \ system_u:object_r:httpd_packet_t:s0
There are several major changes in BIND configuration:
Default ACL configuration - in Red Hat Enterprise Linux 5, the
default ACL configuration allowed queries and offered recursion for all
hosts. By default in Red Hat Enterprise Linux 6, all hosts can make
queries for authoritative data but only hosts from the local network can
make recursive queries.
New allow-query-cache
option - the allow-recursion
option has been deprecated in favor of this option. It is used to
control access to server caches, which include all non-authoritative
data (like recursive lookups and root nameserver hints).
Chroot environment management - the bind-chroot-admin
script, which was used to create symlinks from a non-chroot environment
to a chroot enviromnent, is deprecated and no longer exists. Instead,
configuration can be managed directly in a non-chroot environment and
init scripts automatically mount needed files to the chroot environment
during named
startup in the case that files are not already present in the chroot.
/var/named
directory permissions - The /var/named
directory is no longer writable. All zone files that need to be
writable (such as dynamic DNS zones, DDNS) should be placed in the new
writable directory: /var/named/dynamic
.
The dnssec [yes|no]
option no longer exists - The global dnssec [yes|no]
options have been split into two new options: dnssec-enable
and dnssec-validation
. The dnssec-enable
option enables DNSSEC support. The dnssec-validation
option enables DNSSEC validation. Note that setting dnssec-enable
to "no" on recursive server means that it cannot be used as a forwarder
by another server that performs DNSSEC validation. Both options are set
to yes by default.
You no longer need to specify the controls
statement in /etc/named.conf
if you use the rndc
management utility. The named
service automatically allows control connections via the loopback device and both named
and rndc
use the same secret key generated during installation (located in /etc/rndc.key
).
In a default installation, BIND is installed with DNSSEC validation
enabled, and uses the ISC DLV register. This means all signed domains
(such as gov., se., cz.), that have their key in the ISC DLV register,
are cryptographically validated on the recursive server. If validation
fails due to attempts at cache poisoning, then the end user will not be
given this forged/spoofed data. DNSSEC deployment is now a
widely-implemented feature, is an important step in making the Internet
more secure for end users, and is fully supported in Red Hat Enterprise
Linux 6. As previously mentioned, DNSSEC validation is controlled with
the dnssec-validation
option in /etc/named.conf
.
NTP (Network Time Protocol) is used to synchronize the clocks of
computer systems over the network. In Red Hat Enterprise Linux 6, the
default configuraton file, /etc/ntp.conf
, now has the following lines commented:
#server 127.127.1.0 # local clock
#fudge 127.127.1.0 stratum 10
This configuration means that ntpd
will only distribute time information to network clients if it is
specifically synchronized to an NTP server or a reference clock. To get ntpd
to offer this information even when not synchronized, the two lines should be uncommented.
Also, when ntpd
is started with the -x
option (in OPTIONS in the /etc/sysconfig/ntpd
file), or if there are servers specified in /etc/ntp/step-tickers
, the service no longer runs the ntpdate
command before starting. There is now a separate ntpdate
service which can be enabled independently from the ntpd
service. This ntpdate
service is disabled by default, and should be used only when other
services require the correct time before starting, or do not function
properly when time modifications occur later by ntpd
.
You may encounter problems running this service with the default NetworkManager configuration. It may be necessary to add NETWORKWAIT=1
to /etc/sysconfig/network
, as described in the Red Hat Enterprise Linux Deployment Guide.
In Red Hat Enterprise Linux 6, Kerberos clients and servers (including KDCs) will default to not using keys for the ciphers des-cbc-crc
, des-cbc-md4
, des-cbc-md5
, des-cbc-raw
, des3-cbc-raw
, des-hmac-sha1
, and arcfour-hmac-exp
. By default, clients will not be able to authenticate to services which have keys of these types.
Most services can have a new set of keys (including keys for use with
stronger ciphers) added to their keytabs and experience no downtime,
and the ticket granting service's keys can likewise be updated to a set
which includes keys for use with stronger ciphers, using kadmin's cpw -keepold
command.
As a temporary workaround, systems that need to continue to use the weaker ciphers require the
allow_weak_crypto
option in the
libdefaults section of the
/etc/krb5.conf
file. This variable is set to
false by default, and authentication will fail without having this option enabled:
[libdefaults]
allow_weak_crypto = yes
Additionally, support for Kerberos IV, both as an available shared
library and as a supported authentication mechanism in applications, has
been removed. Newly-added support for lockout policies requires a
change to the database dump format. Master KDCs which need to dump
databases in a format which older KDCs can consume should run
kdb5_util's dump
command with the -r13
option.
In some releases of Red Hat Enterprise Linux 5, the sendmail Mail Transport Agent (MTA) accepted network connections from external hosts by default. In Red Hat Enterprise Linux 6, sendmail by default only accepts connections from the local system (localhost). To grant sendmail the ability to act as a server for remote hosts, perform one of the following steps:
Edit /etc/mail/sendmail.mc
and change the DAEMON_OPTIONS
line to also listen on network devices
Comment out the DAEMON_OPTIONS
line in /etc/mail/sendmail.mc
. Then install the sendmail-cf package and regenerate /etc/mail/sendmail.cf
by running the following commands:
su -c 'yum install sendmail-cf'
su -c 'make -C /etc/mail'
Exim has been removed from Red Hat Enterprise Linux 6. Postfix is the default and recommended MTA.
The configuration for Dovecot 2.x has changed. The master configuration file /etc/dovecot.conf
has moved to /etc/dovecot/dovecot.conf
and other parts of Dovecot configuration have moved to /etc/dovecot/conf.d/*.conf
.
The majority of the configuration is the same and is compatible with
this new version; however, you can test your configuration and list
which options have been renamed, removed, or otherwise changed in this
new version with the following command:
doveconf [-n] -c /old/dovecot.conf
The MySQL DBD driver has been dual-licensed and the related licensing issues have been resolved. The resulting apr-util-mysql package is now included in the Red Hat Enterprise Linux 6 software repositories.
Drupal has been updated from the 5.x series to 6.x. For details, refer to:
http://drupal.org/
Remember to log in to your site as the admin user, and disable any
third-party modules before upgrading this package. After upgrading the
package:
Copy /etc/drupal/default/settings.php.rpmsave
to /etc/drupal/default/settings.php
, and repeat for any additional sites' settings.php
files.
To run the upgrade script, browse to its location using the web interface of your installed host. For example, http://hostname.example.com/drupal/update.php.
Squid has been updated to 3.1, and now provides native IPv6 support. The configuration file
/etc/squid/squid.conf
has been significantly shortened; the configuration options for Squid
3.1 have changed and are not entirely backwards compatible with some
older versions. For complete details on configuration and other changes,
please refer to the Squid 3.1 release notes:
http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html.
Squid provides the ability to authenticate users via ncsa_auth and pam_auth
helpers. The permissions of these helpers has changed in Red Hat
Enterprise Linux 6. Previous releases enabled the setuid flag for the ncsa_auth and pam_auth,
as elevated privileges were needed to access system files needed for
authentication. Now, in Red Hat Enterprise Linux 6, Squid does not
require the setting of the setuid flag for these helpers. This change
has been made because of the security risks present when running setuid
flags. Normal functionality has been maintained without setting these
flags.
In order to support Bluetooth devices, the Bluetooth background
service was started by default in previous versions of Red Hat
Enterprise Linux. In this release, the Bluetooth service is started on
demand when needed and automatically stops 30 seconds after the use of
the device has stopped. This reduces overall initial startup time and
resource consumption.
Red Hat Enterprise Linux 6 includes the cronie package as a replacement for vixie-cron. The main difference between these packages is how the regular jobs (daily, weekly, monthly) are done. Cronie uses the /etc/anacrontab
file, which by default looks like the following:
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22
# period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
These regular jobs will be executed once a day in the 03:00-22:00 time interval, including a random delay. For example, cron.daily will have a 5 minute forced delay plus a random delay of 0-45 minutes. You could also run jobs with no delays, between 4 and 5:
RANDOM_DELAY=0 # or don't use this option at all
START_HOURS_RANGE=4-5
# period in days delay in minutes job-identifier command
1 0 cron.daily nice run-parts /etc/cron.daily
7 0 cron.weekly nice run-parts /etc/cron.weekly
@monthly 0 cron.monthly nice run-parts /etc/cron.monthly
Features of cronie include:
Random delay for starting the job in /etc/anacrontab
.
Time range of regular jobs can be defined in /etc/anacrontab
.
Each cron table can have its own defined time zone with the CRON_TZ variable.
By default, the cron daemon checks for changes in tables with inotify.
For further details about cronie and cronie-anacron, please refer to the Red Hat Enterprise Linux Deployment Guide.
The dateext
option is now enabled by default in /etc/logrotate.conf
.
This option archives old versions of log files by adding a extension
representing the date (in YYYYMMDD format). Previously, a number was
appended to files.
Chapter 7. Security and Authentication
This chapter covers behavioral changes for security and authentication, including SELinux, SSSD, LDAP, Checksums, and PAM.
The sshd
daemon is now a confined service.
SSSD (System Security Services Daemon) offers access to remote identity and authentication mechanisms, referred to as providers.
It allows those providers to be plugged in as SSSD back-ends,
abstracting the local and network identity and authentication sources
and allowing any kind of identity data provider to be plugged in. A domain
is a database containing user information, which may serve as the
source of a provider’s identity information. Multiple identity providers
are supported, allowing two or more identity servers to act as separate
user namespaces. Collected information is available to applications on
the front-end through standard PAM and NSS interfaces.
SSSD runs as a suite of services, independent of the applications
that use it. Those applications therefore no longer need to make their
own connections to remote domains, or even be aware of which is being
used. Robust local caching of identity and group membership information
allows operations regardless of where identity comes from (e.g., LDAP,
NIS, IPA, DB, Samba, etc.), offers improved performance, and allows
authentication to be performed even when operating offline and online
authentication is unavailable. SSSD also allows the use of multiple
providers of the same type (e.g., multiple LDAP providers) and allows
domain-qualified identity requests to be resolved by those different
providers. Further details can found in the Red Hat Enterprise Linux 6
Deployment Guide.
7.3.1. Converting slapd configuration
This example assumes that the file to convert from the old slapd
configuration is located at /etc/openldap/slapd.conf
and the new directory for OpenLDAP configuration is located at /etc/openldap/slapd.d/
.
Remove the contents of the new /etc/openldap/slapd.d/
directory:
# rm -rf /etc/openldap/slapd.d/*
Run slaptest
to check the validity of the configuration file and specify the new configuration directory:
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
Configure permissions on the new directory:
chown -R ldap:ldap /etc/openldap/slapd.d
chmod -R 000 /etc/openldap/slapd.d
chmod -R u+rwX /etc/openldap/slapd.d
Once the service is confirmed to be working in the new configuration directory, remove the old configuration file:
rm -rf /etc/openldap/slapd.conf
Red Hat Enterprise Linux now uses the SHA-256 digest algorithm for
data verification and authentication in more places than before,
upgrading from the cryptographically weaker SHA-1 and MD5 algorithms.
7.5. Pluggable Authentication Modules (PAM)
Common configuration for PAM services is located in the /etc/pam.d/system-auth-ac
file.
Authentication modules are now also written into additional PAM configuration files: /etc/pam.d/password-auth-ac
, etc/pam.d/smartcard-auth-ac
and /etc/pam.d/fingerprint-auth-ac
.
The PAM module for sshd
and other remote services such as ftpd
now include the /etc/pam.d/password-auth
file in Red Hat Enterprise Linux 6 instead of /etc/pam.d/system-auth
.
The threshold for statically assigned UID/GID numbers (defined by the setup package in the /usr/share/doc/setup-*/uidgid
file) has increased from 100 (in Red Hat Enterprise Linux 3, 4, and 5)
to 200 in Red Hat Enterprise Linux 6. This change can affect systems
that have 100-200 dynamically or statically assigned UID/GIDs, and cause
failure in the installation and running of some appications.
Dynamic UID/GID allocation now ranges from 499 downward in Red Hat
Enterprise Linux 6. For static system user creation without reservations
enforced by the setup package, it is recommended to use the UID/GID area of 300 and above.
Chapter 9. Package And Driver Changes
The list of included packages and system drivers undergoes regular
changes in Red Hat Enterprise Linux releases. This is done for a number
of reasons: packages and drivers are added or updated in the operating
system to provide new functionality, or the packages and drivers may
represent out-of-date hardware and are removed. The upstream project for
the packages and drivers might no longer be maintained, or
hardware-specific packages and drivers are no longer supported by a
hardware vendor and are removed.
This chapter lists the new and updated packages and drivers in Red Hat
Enterprise Linux 6, as well as those that have been deprecated and
discontinued (removed).
The system-config-bind tool has been deprecated and removed without replacement. Editing the name server configuration manually via the named.conf
file is recommended in Red Hat Enterprise Linux 6. Comprehensive BIND documentation is installed as part of the bind package in /usr/share/doc/bind-x.y.z
. Also, sample configurations can be found in the /usr/share/doc/bind-x.y.z/sample
directory. The system-config-bind
tool from previous versions does, however, generate standard BIND
configuration, so depending on your environment it is possible to
migrate to the version of BIND found in Red Hat Enterprise Linux 6 by
moving old configuration files to the correct location and performing
sufficient testing.
The system-config-cluster tool has been deprecated and removed without replacement. Using ricci and luci (from the Conga project) is recommended.
The system-config-display tool has been replaced by XRandr configuration tools as found in both supported desktops: GNOME and KDE. There is no explicit configuration file (xorg.conf
) in the default X server installation as display management is now done dynamically via one of the following menu options:
GNOME: System -> Preferences -> Display
KDE: System Settings -> Computer Administration -> Display
Note: The command line utility (xrandr
) can be also used for display configuration. See the xrandr --help
command or the manual page via the man xrandr
command for further details.
The system-config-httpd tool has been
deprecated and removed without replacement. Users should configure web
servers manually. Configuration can be done in the /etc/httpd
directory. The main configuration file is located at /etc/httpd/conf/httpd.conf
.
This file is well documented with detailed comments in the file for
most server configurations; however if required, the complete Apache web
server documentation is shipped in the httpd-manual package.
The system-config-lvm tool has been deprecated. Users should perform management of logical volumes via the gnome-disk-util or the lvm tools.
The system-config-netboot tool has been deprecated and removed without replacement. Using Red Hat Satellite is recommended.
The system-config-nfs tool has been deprecated and removed without replacement. Users should set up NFS server configuration manually.
The system-config-rootpassword tool has been replaced by the system-config-users tool - a powerful user management and configuration tool. The root password can be set in the system-config-users tool by unchecking the "Hide system users and groups"
option in the Preferences dialog. The root user will now be shown in
the main listing, and the password can be modified like any other user.
The system-config-samba tool has been deprecated and removed without replacement. Users should set up SMB server configuration manually.
The system-config-securitylevel tool has been obsoleted by the system-config-firewall tool.
The system-config-soundcard tool has been removed. Sound card detection and configuration is done automatically.
The system-config-switchmail tool has
been deprecated and removed without replacement. Postfix is the
preferred and default MTA (Mail Transfer Agent) in Red Hat Enterprise
Linux 6. If you are using another MTA, it should be configured manually
according to its specific configuration files and techniques.
9.2. Bash (Bourne-Again Shell)
Red Hat Enterprise Linux 6 includes version 4.1 of Bash as its
default shell. This section describes the compatibility issues that this
version introduces over previous versions.
Bash-4.0 and later now allows process substitution constructs to
pass unchanged through brace expansion, so any expansion of the contents
will have to be separately specified, and each process subsitution will
have to be separately entered.
Bash-4.0 and later now allows SIGCHLD to interrupt the wait
builtin, as Posix specifies, so the SIGCHLD trap is no longer always
invoked once per exiting child if you are using `wait' to wait for all
children.
Since Bash-4.0 and later now follows Posix rules for finding the
closing delimiter of a $() command substitution, it will not behave as
previous versions did, but will catch more syntax and parsing errors
before spawning a subshell to evaluate the command substitution.
The programmable completion code uses the same set of delimiting
characters as readline when breaking the command line into words, rather
than the set of shell metacharacters, so programmable completion and
readline should be more consistent.
When the read builtin times out, it attempts to assign any input
read to specified variables, which also causes variables to be set to
the empty string if there is not enough input. Previous versions
discarded the characters read.
In Bash-4.0 and later, when one of the commands in a pipeline is
killed by a SIGINT while executing a command list, the shell acts as if
it received the interrupt.
Bash-4.0 and later versions change the handling of the set -e
option so that the shell exits if a pipeline fails (and not just if the
last command in the failing pipeline is a simple command). This is not
as Posix specifies. There is work underway to update this portion of the
standard; the Bash-4.0 behavior attempts to capture the consensus at
the time of release.
Bash-4.0 and later fixes a Posix mode bug that caused the . (source)
builtin to search the current directory for its filename argument, even if "."
is not in the system PATH. Posix says that the shell shouldn't look in the PWD variable in this case.
Bash-4.1 uses the current locale when comparing strings using operators to the [[
command. This can be reverted to the previous behavior by setting one of the compatNN
shopt options.
Further to the points already listed, quoting the pattern argument to the regular expression matching conditional operator =~ may cause regexp matching to stop working. This occurs on all architectures. In versions of bash prior to 3.2, the effect of quoting the regular expression argument to the [[ command's =~
operator was not specified. The practical effect was that
double-quoting the pattern argument required backslashes to quote
special pattern characters, which interfered with the backslash
processing performed by double-quoted word expansion and was
inconsistent with how the == shell pattern matching operator treated quoted characters.
In bash version 3.2, the shell was changed to internally quote characters in single- and double-quoted string arguments to the =~ operator, which suppresses the special meaning of the characters that are important to regular expression processing (`.', `[', `\', `(', `), `*', `+', `?', `{', `|', `^', and `$') and forces them to be matched literally. This is consistent with how the == pattern matching operater treats quoted portions of its pattern argument.
Since the treatment of quoted string arguments was changed, several
issues have arisen, chief among them the problem of white space in
pattern arguments and the differing treatment of quoted strings between bash 3.1 and bash
3.2. Both problems may be solved by using a shell variable to hold the
pattern. Since word splitting is not performed when expanding shell
variables in all operands of the [[
command, this provides the ability to quote patterns as you wish when
assigning the variable, then expand the values to a single string that
may contain whitespace. The first problem may be solved by using
backslashes or any other quoting mechanism to escape the white space in
the patterns.
Bash 4.0 introduces the concept of a compatibility level, controlled by several options to the shopt builtin. If the compat31 option is enabled, bash will revert to the 3.1 behavior with respect to quoting the right-hand side of the =~ operator.
9.3. Other Package Changes
The following table lists updated packages in Red Hat Enterprise Linux 6 and a description of noteworthy changes.
Table 9.1. Updated Package
Updated Packages
|
Description
|
---|
OProfile
|
OProfile has been updated to 0.9.5. This newer version includes
support for Intel Atom and i7 processors, AMD Family 11h processors, and
the Instruction Based Sampling (IBS) feature in AMD Family 10h.
|
module-init-tools
|
/etc/modprobe.conf does not exist by default. Can still be used if manually created.
|
The following table lists discontinued (removed) packages in Red Hat Enterprise Linux 6 and their replacements.
Table 9.2. Discontinued Packages
Discontinued Package
|
Replaced By
|
---|
aspell
|
hunspell. aspell is only provided as a build dependency. Applications that want to use spell-checking must use hunspell.
|
beecrypt
|
NSS/OpenSSL
|
crash-spu-commands
|
None. Cell-specific packages no longer included.
|
dhcpv6/dhcpv6-client
|
dhcp/dhclient binaries now have IPv6 capability built in.
|
elfspe2
|
None. Cell-specific packages no longer included.
|
exim
|
Postfix
|
gnbd
|
iSCSI recommended for use instead.
|
gnome-vfs
|
gvfs
|
ipsec-tools
|
Openswan
|
kmod-gnbd
|
iSCSI recommended for use instead.
|
lam
|
openmpi
|
libspe2
|
None. Cell-specific packages no longer included.
|
libspe2-devel
|
None. Cell-specific packages no longer included.
|
linuxwacom
|
xorg-x11-drv-wacom
|
mkinitrd
|
dracut
|
nss_ldap
|
nss_pam_ldapd, pam_ldap
|
openmotif-2.2
|
openmotif-2.3
|
pidgin
|
empathy
|
spu-tools
|
None. Cell-specific packages no longer included.
|
switchdesk
|
The session management performed by both supported session managers: GDM and KDM.
|
syslog
|
rsyslog
|
SysVinit
|
upstart
|
vixie-cron
|
cronie
|
This section describes the driver changes in Red Hat Enterprise Linux
6. Please note that all drivers are now loaded to initramfs by default.
32-bit libraries are not installed by default on Red Hat Enterprise Linux 6. You can change this behavior by setting multilib_policy=all
in /etc/yum.conf
, which will enable multilib policy as a system-wide policy.