# RHEL 6 beta - a review

Once again I am late to the party here (Well kinda) This is a beta release review and as such everything is subject to change prior to the final release. Please note: screenshots to be added at a later date, due to upload problems on my wireless connection.

Red Hat Enterprise Linux is (as the name suggests) an enterprise class distribution, with support for 7 years from release. This has advantages and disadvantages. One of the biggest advantages is the stability and long term support for businesses. It’s also a major disadvantage too though. Take for example RHEL 5 and PHP. Red Hat chose 5.1.6 as the PHP version. Whilst this was stable, PHP 5.2 released a number of new features and security fixes I feel should have been pushed to an enterprise distribution. Red Hat do port security features back to the stable release, but do not upgrade major versions, leaving web development houses like the company I work for to either run an “officially unsupported” version of PHP via a number of unofficial RPM sources, or compiling it myself. Now I personally am not afraid of compiling from source, and have done so many times, but it is not for the feint of heart, and requires some knowledge of the systems you are running.

## Setup

I downloaded the distribution from ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/i386/iso/RHEL6.0-20100414.0-AP-i386-DVD1.iso . I used 32 bit simply because my laptop is installed with 32bit Windows 7, and I have yet to get round to reinstall it) Once downloaded I used an sha1sum checker to ensure the download was correct. I used sha1 over sha256 simply because I have a sha1sum.exe on my Windows 7 laptop and not a sha256sum. After this I loaded up VMWare Player (My chosen virtual machine console - due to my own experience with ESXi and VMWare server) and setup the machine as follows: Create New Virtual Machine -> Install from Disc image file -> (In my case C:\Users{user}\Downloads\RHEL6.0-20100414.0-AP-i386-DVD1.iso) VMWare Player (Understandably) does not automatically recognise this beta release’s version. So I chose Guest operating system -> Linux -> Red Hat Enterprise Linux 5 . I set up the VM name as RHEL 6, and used the default location for install (On Windows 7 C:\Users{user}\Documents\Virtual Machines{machine name})

I set the virtual hard drive up to be the default 20 GB. As this is a test VM for demonstration purposes I stored it as a single file, although if I was looking at using this VM in a production environment I would probably use the “split into 2GB files” to make backing up and migrating slightly easier. I used the default 1024MB memory, again as this was a demonstration machine. Normally I would choose something like 2GB for a web server, 8GB for a memcache based machine, and 4GB for a dedicated database server. These are just examples of what I would use and are by no means optimal settings. (8GB for example would not be suitable for my 32bit based Windows 7 system, and would be more likely placed on my more powerful ESXi server with 32GB memory available)

## Installation

Rather than trying to decide server review or desktop, I went for a 2 install approach, 1 server 1 desktop. I’ll run through the install process (with screen shots) for the server process, simply because that was the install I first did. I will then describe the different packages selected for the desktop install.

I chose the English language install, and the United Kingdom keyboard, as that is where I’m based. I was confident the ISO was OK (Due to the sha1 I had performed) so I skipped testing the ISO test offered and I also chose a local CDRom/image for the install source. As this is a beta release, Red Hat kindly give you a warning that this is beta software. In order to perform this review I need to accept this.

Now we are offered how we want to use storage for our new VM. In this case we want basic storage, so that is selected. I’m then asked what I want to call the machine. I’ve chosen the hostname of CFCSVM1 - which refers to my companies initials, and Virtual Machine 1. I then selected London, Europe as the timezone. It then asked me to set the root password. I set this as I normally would and proceeded to the partitioning screen. I accepted the defaults, and then wrote the changes to disk. Red Hat have obviously done a lot of work on speeding up the formating tools, as this was a lot faster than that of the early RHEL 5 releases, and also the CentOS releases I moved to once Red Hat were charging for access to RHEL 5. The 20 GB space I allocated was formated to ext-4 in a matter of about 2 minutes. On my similar set up CentOS 5.4 VM I setup for comparison this took around 10 mins to complete. Now we are asked what sort of machine we want to setup, and whether we want to customise it. I’m setting this server up as a web server, so I selected web server, and then “customize now” so I could ensure MySQL and PHP were installed as I wanted.

After this the install itself started, about 10 minutes later (I forgot to start my stopwatch exactly as the install started - the time on this was 9 mins 05 seconds when I pressed the reboot button) the install was finished, and my server was rebooted, and ready to roll.

## Server initial impressions

In typical Red Hat style, you are only given the root user as default. I still feel this is a mistake on Red Hat’s part, as in my opinion you should never log in as root. A system setup using sudo with either individual users added to the sudoers file, or (If you wish) the wheel group added to the sudoers file is a much more comprehensive setup, as this means the root password need never be known by any one individual. It can be written on a piece of paper in a sealed envelope to be opened in emergancies. Resetting root passwords is trivial if you have physical access to the box anyway so this small step is not a huge barrier to preventing root access but it does help.

I was surprised by some of the default package choices for the server install. As far as I am concerned whilst Plymouth does give wonderful graphical bootup screens to machines with supported graphics cards (At time of writing, this was mostly ATI cards, due to the closed source nature of NVIDIA’s linux drivers) I do not see the point in installing such fancy graphics on a server install that has no X server installed. I also question a java runtime by default in a server environment, especially as the webserver setup does not include Tomcat or (as far as I can see) anything that actually depends on a java runtime (indeed an rpm -q –whatrequires java returns “no package requires java”) A full list of RPM’s installed in the default Webserver (with PHP, Web Server and MySQL additionally installed) can be found here. The installed kernel is 2.6.32-19. Red Hat’s policy is to stick with the same major Kernel version for the life of the RHEL release, and backport features and security fixes as required, so it is good to see a recently released kernel version in the mix.

Other important upgrades include Python to 2.6 (This is a great relief as 2.4 was aging rather, and many of the python based tools I’ve used of late require 2.5 or above) When looking over the list of packages included in RHEL 6 (Default installs or otherwise) I found Karanbir Singh’s (One of the CentOS core developers) article at http://www.karan.org/blog/index.php/2010/04/25/first-look-at-the-rhel-6-package-list to be of great use. Like him I am a little disappointed to see Exim go, although I suspect that unofficial yum repositories will re-add this, it is a shame it is no longer supported by official channels.

One other thing which surprised (and annoyed) me slightly was when I booted into the server setup my network card had not enabled. A previous RHEL 6 setup I had created had installed my network card by default, so this was a rather unpleasent shock. When I looked at the network configuration it appeared that the ONBOOT parametre for eth0 was set to No . I set this to yes and ran /sbin/service network restart. This only got me an IP v6 address. In case I had inadvertantly selected a wrong option I reinstalled the VM. Whilst I realise IP v6 support is essential now for an enterprise distro with 7 years of support to it, not enabling IP v4 by default does seem a little bizarre. If I select the online repositories I can easily enable IP v4 support (And indeed this does carry over as I would expect) so why not allow me to configure IPv4 by default, as was an option in Fedora 12 (Which is the Fedora version this RHEL is based on) A quick google showed this was a bit of an issue for many people: http://centos.org/modules/newbb/viewtopic.php?topic_id=25876&viewmode=flat&order=ASC showed me it was an issue with NetworkManager and network service running together. I had set this box up as X-less, meaning interfacing with NetworkManager was not as easy as when I had Gnome or KDE installed. sigh http://centos.org/modules/newbb/viewtopic.php?topic_id=25876&viewmode=flat&order=ASC post 13 gives a work around - ifup eth0 && dhclient -4. Another workaround is to manually edit /etc/sysconfig/network-scripts/ifcfg-eth0 and add BOOTPROTO=dhcp and ONBOOT=yes .

This is not ideal, and infact is a big negative to RHEL 6 at present. It looks as though it’s actually easier to enable IP v4 through configuring it during the install process (Select an online repo during the repository selection) than needing to manually edit ifcfg-eth0 afterwards; especially as the release notes state RHEL 6 uses NetworkManager by default and not the older Network Administration Tool. On the desktop, as NetworkManager is installed by default, and NM does not yet support IPv6 properly, this issue should not exist. According to post 30 in the above mentioned centos.org topic Red Hat are aware of this and it will be fixed by the time RHEL 6 is released. I could not find a bug number for this issue however. One would also think, if NetworkManager was so critical to RHEL 6 it would be installed by default on any of the default install images - this is not the case on a webserver install (With MySQL and PHP additional selections) .

From a performance side, whilst it’s noticeably snappier than RHEL 5 was at this stage, some things that I would not expect to take a long time do. For example sudo su - There’s a delay of about 15 seconds on my machine - something that doesn’t happen on CentOS 5 image with the same virtual setup.

Apache and PHP seem to play nicely together, and the inclusion of apc as a default option is a great addition, especially with caching due to become more and more important over the next few years as web apps get more and more complex. I was slightly disappointed to see PHP 5.3.1 instead of the latest stable 5.2 - however given in 7 years time most people are likely to have upgraded to PHP 5.3 (or greater) this slight annoyance can easily be overlooked.

Overall I think this is an improvement on RHEL 5, although this is clearly still a beta product with the networking issues I mentioned earlier. Again in 7 years time I doubt IP v4 will be an issue; but at the moment it is a bit of a bugbear to live without it.

## Desktop initial impressions

I did a reinstall for the OS for this setup - so I could setup a default Gnome based desktop. This time I did not do any customisation. I wanted to setup a raw desktop. I did however enable the IPv4 settings in the installation process, as I didn’t want to have ot fiddle with NetworkManager - as I find NM to be great for wireless networks but not much else. Hopefully this will be resolved once RHEL 6 goes “gold” later this year. The number of default packages doubles to over 1000. Not a huge surprise there and the install time increased proportionatly. The install time was about 20 mins (Again my stop watch wasn’t started bang on the install start. It was 19 mins 05 seconds) The install boots OK. Some problems with screen resolution were had, but I had been forwarned about these in the above mentioend Centos forum post. Gnome 2.28 has been chosen, which was the same as used in Fedora 12. First boot provided me the opportunity to create my personal user, something I feel should have a command line only option as logging in as root as I have already said is a big no no in my eyes.

Again I question some of the default choices - does CVS need to be installed by default these days? I doubt it… (rpm -q –whatrequires cvs reports gettext, but gettext is not required by anything - one wonders why…)

Openoffice 3.1 is a welcome edition, as in 7 years time, this will almost certainly be an aging office package. Given RHEL is more often used on servers than desktops, I have to wonder if this really matters?

## Overall

RHEL 6 is a welcome release, especially given RHEL 5 is now nearly 3 12 years through it’s 7 years support. Hopefully it won’t be so long between releases, and they will look to match Ubuntu’s strict 2 year LTS release policy. Whilst I am all for stability, and appreciate the 7 years support for enterprise companies, I like to be relatively up to date (especially with languages such as PHP which move on a long way in 3 12 years - RHEL has ended up skipping a major version between RHEL 5 and RHEL 6) I’d give this release 7 out of 10. Lot’s to be positive about as a server (Dispite the problems with IPv4) but I have to wonder how important the desktop release will be for enterprises, as not many businesses use Linux on the desktop (Certainly not in the UK anyway) and though who do often use the free forks of RHEL such as CentOS anyway.

Thought as alway appreciated.