Welcome to the world of enterprise-level Linux version 7. This was first introduced to us on June 9, 2014. Red Hat started its journey with Red Hat Enterprise Linux (RHEL) 7 with its beta release on December 11, 2013. This was followed by the next release candidate on April 23. Finally, as expected, the gold release reached the market on June 2014. Currently, at the time of writing this book, we have Update 1 in the beta release. During the course of this book, this is what we will use for demonstration purposes.
This chapter will help you understand why enterprise-level Linux differs from other bleeding edge distributions. It will also help you understand the relationship between Red Hat, CentOS, and Fedora. We also hope that this short chapter will give you a great understanding on how to use RHEL 7 on your hardware platform of choice. The topics for this chapter are broken down as follows:
Red Hat Enterprise Linux
Determining your distribution and version
When we think of Linux, more often than not, Red Hat will be a primary consideration; almost certainly, if we are working at a corporate level, Red Hat will become part of our estate. Reliability, predictability, and stability are words synonymous with this very profitable and successful organization. To give an idea of their recent success, the company's share price on the Nasdaq (RHT) in 2010 was less than $30. However, towards the end of 2014, their value hovered around $60.
Enterprise Linux is not likely to be on the bleeding edge. As an enterprise distribution, it has to be supportable and reliable. With the release of RHEL 7, we have seen the first use of version 3 of the Linux kernel within RHEL. The Linux kernel version 3 saw the light of day on July 22, 2011. So, we can say that enterprise Linux may be some 3-4 years behind the latest and greatest version.
In many respects, the reliability aspect takes precedence over the new kernel features that version 3 will offer. These features often relate to hardware and are not important because the enterprise-level hardware has to take a similar cautious approach within mission critical environments. We find that enterprise-level hardware has to be reliable and this leads to, perhaps, a lack of new untested features. Development of new hardware and drivers that reside in the kernel can be tested on smaller businesses and home users. These beta testers can go through the torment while the developments can be improved for our mission-critical servers. A blue chip enterprise company demands a level of support that goes beyond posting a technical query within a support forum and hoping that someone will see it and respond to it. Almost certainly, any financial organization will have to be able to prove their level of support for their systems. This is most easily achieved by presenting your support agreement or contract and the associated service level agreement or SLA. To this end, Red Hat is not free, but the payment is taken for support and not for the distribution purpose. The simplest level of support starts at around $350 (US dollars) per year.
Red Hat began with Enterprise Linux in 2002 with RHEL version 2.1. Initially, the support was provided for 10 years, but has been extended to 13 years with RHEL 7. This means that the support for RHEL 7 can extend to June 30, 2027. The current RHEL 7.1 beta version uses the Linux kernel 3.10.0-210 compared to 3.10.0-123 with the 7.0 release. Here, we see tiny increments in the kernel version indicative of the care taken in rolling out any version of RHEL. At the time of writing, the very latest Linux kernel available from maintainers (https://www.kernel.org) is version 3.18.1.
Red Hat products can be downloaded from https://access.redhat.com/downloads. You will need to create an account to be able to start an evaluation and download RHEL.
CentOS (Community Enterprise Operating System) has been commonly used and totally free of charge as a Red Hat rebuild for many years. This is where Red Hat logos and branding are removed from the system and redistributed as "CentOS". This is not quite as bad as it may first seem. Red Hat uses the open source code and redistribution is totally within the remit of the GPL (GNU Public License) agreement. What you lose out on is support. So, you may well find CentOS more used within smaller business operations and academia (where external support is not as critical). Support for CentOS is available only through public forums. Of course, this means that there is no guaranteed service level available.
CentOS began its operation in 2004 and is now entering its second decade. The free of charge product it brings on the market replicates the same reliability and predictability of its Red Hat cousin. The relationship between Red Hat and CentOS was more formalized in January 2014. The governance panel at CentOS now includes Red Hat board members among their numbers.
CentOS does not release beta versions in the same way as Red Hat. This means that the latest version available from the CentOS stable is version 7.0. This will use the same kernel and version 3.10.0-123 as the RHEL 7.0 distribution. The close resemblance between CentOS and Red Hat often means that CentOS becomes a perfect study platform for those wishing to learn Red Hat and, perhaps, gain their certifications. This is certainly a very viable option and the same applies to studying this book. Although, we will be using RHEL 7.1 beta, if you want to use CentOS, this should be very similar and mostly compatible with CentOS 7.
As CentOS does not offer subscription support, this in turn affects the product life cycle. To obtain the entire 13 years of support that RHEL 7 offers, a RHEL customer will have to purchase extended support for the final 3 years coverage. This means that CentOS has repositories that will distribute updates for 10 years, resulting in the fact that CentOS 7 can continually be updated until June 2024. Not bad at all when you see it like this and all without financial cost.
You can download the latest version of CentOS without the need to create an account directly from http://centos.org/download/.
We can say that Fedora is the home version of Red Hat. Although we have marked this as a home version, Fedora ships in a server version and it's your choice as to how and where you use Fedora. The support for newer laptops and the latest hardware is going to be far greater. This then often makes it a target for home users and enthusiasts. The current version is Fedora 21 and uses almost all the very latest kernel with version 3.17.4-301.
The other advantage of using Fedora, even if not in a production format, is that you become familiar with technologies. These technologies will become enterprise-ready at some point. In this way, you will learn as the product is developed. For example, RHEL 7 is based around Fedora 19 and 20. If you have been an enthusiastic Fedora champion, you will already be familiar with GRUB2, BTRFS, docker, and systemd (all of which debut in RHEL 7).
Support for Fedora is community-driven with software updates available for about 13 months from the initial product launch. For example, Fedora 21 will be supported for 1 month after the release of Fedora 23. The release dates are about every 6 months, which gives us an approximate support life of 13 months. This is often why Fedora (and similar distributions to Fedora) do not make it to the enterprise category because of such a short update life cycle.
For learning and home use, this is truly a great distribution. You can choose to download the workstation, server, or cloud version at https://getfedora.org/.
From a popularity perspective, Fedora is certainly there. The numbers of hits to the Fedora download page over the past twelve months rates Fedora as being the fourth most popular distribution. To support this data and to take a look at where we read this from, you may visit http://www.distrowatch.com.
If you are installing from scratch, then we hope that you are able to determine what you are actually installing. If you can't, then we have some issues we need to resolve before the installation. Often though, you may be faced with a machine that is preinstalled or a lab machine that you may have access to. An obvious first step to any faultfinding task will be to determine the actual OS and patch level that we will work on. We will now look at the many ways that exist to determine the flavor of Linux that you will use.
/etc/system-release file is consistent across all Red Hat variants that we have discussed here. This can be simply read with the
cat command, short for concatenate. As a matter of fact, on all three systems, this file is a symbolic link that provides a shortcut to the relevant file from the following list:
/etc/redhat-release /etc/centos-release /etc/fedora-release
However, reading the linked file does make sense as the
/etc/system-release file will always be available on any of these flavors and points to the correct OS file. Running the following command on the demonstration RHEL 7.1 system reveals the following command:
$ cat /etc/system-release Red Hat Enterprise Linux Server release 7.1 Beta (Maipo)
A second method could be to read the login banner from a standard terminal on the physical box. These physical terminals can be
tty1 through to
tty6 if no graphical system is running on the device. However, if you are running a GUI on your desktop or server, then often
tty2 is the first command-line terminal. You can access this terminal from the GUI with the CTRL + ALT + F2 key sequence. The
/etc/issue content will be displayed before the logon prompt. The
/etc/issue content needs to be read by the
/sbin/agetty TTY program. We can concatenate the file, but it's not useful because it contains special escape characters. These characters are expanded by agetty. Looking at the file as plain text, we see the following command:
$ cat /etc/issue \S Kernel \r on an \m
\S command will display the OS, the
\r command will display the kernel version, and the
\m command will display the machine type. On the RHEL 7.1 system, we will use this file as displayed when logging on from a terminal as:
Red Hat Enterprise Linux Server 7.1 (Maipo) Kernel 3.10.0-210.el7.x86_64 on an x86_64
If there is one way to display the OS details that you are using, why should there not be three ways! As is typical with Linux, we can address this issue in many ways. A third way is to use the
lsb_release command. This is generally not installed as part of the default installation. So, it needs to be added to your system (if this has not already been done).
Installing this software can be achieved using
yum, but this needs to be run as the
root user (administrator). So, either use
su - to switch to the root account or use
sudo if your account is set up as an administrator, as shown in the following code:
$ sudo yum install redhat-lsb-core
If you are new to the Linux administration, then the next chapter will start with a quick lesson on how administrative rights are gained and managed within RHEL.
redhat element in the package name, this command can also be used on CentOS (if this is the system you are using for your journey to Enterprise 7 Linux). With the package installed, we will use the
lsb_release command to identify the OS. On the system we use for this book, we can view the following output:
$ lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: RedHatEnterpriseServer Description: Red Hat Enterprise Linux Server release 7.1 Beta (Maipo) Release: 7.1 Codename: Maipo
If you are using Fedora, you can install the package using the following command:
$ sudo yum install redhat-lsb
$ lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch Distributor ID: Fedora Description: Fedora release 21 (Twenty One) Release: 21 Codename: TwentyOne
We have seen that the Linux kernel version may well be displayed with the /etc/issue file when logging on to a terminal. However, we can also easily display the version of the current kernel using the
uname -r command. The kernel is the core of an OS and is maintained as open source software by the Linux Foundation. This command can be run as a standard user. On the RHEL 7.1 system, it displays the following information:
$ uname -r 3.10.0-210.el7.x86_64
Again, knowing the version of the Linux kernel is a great starting point in order to build a picture of the system for faultfinding and placing support calls.
By now, I am hoping that you have a better understanding of what you are going to need to follow through this book and how it will help you learn Red Hat Enterprise Linux 7 networking, be it on RHEL, CentOS, or Fedora. You will now be able to differentiate the benefits of each distribution and identify the version that you will work on.
In the next chapter, we will start looking at configuring networks on RHEL 7. Additionally, we will look at how to gain administrative rights using
sudo and its benefits. This will be particularly useful for those new to Linux administration and those who are a little lost with running tasks as an administrator.