4.1 Lesson 1
Certificate: |
Linux Essentials |
---|---|
Version: |
1.6 |
Topic: |
4 The Linux Operating System |
Objective: |
4.1 Choosing an Operating System |
Lesson: |
1 of 1 |
Introduction
No matter if you are using your computer system at home, at the university or within an enterprise, there still has to be a decision made on the operating system that you will use. This decision may be made by you, especially if it is your computer, but you may also be responsible for making the choice across systems in your business. As always, being well-informed about the choices available will aid you in making a responsible decision. In this lesson we aim to help keep you informed of the operating system choices that you may be considering.
What is an Operating System
One of the first things that we must be sure of before we begin our journey in choosing an operating system is to understand what we mean by the term. The operating system lies at the heart of your computer and allows applications to run within and on top of it. Additionally, the operating system will contain drivers to access the computer’s hardware such as disks and partitions, screens, keyboards, network cards and so on. We often abbreviate the operating system to simply the OS. Today there are many operating systems available for both business computer usage as well as for those looking for something in the home. If we want to simplify the selection available to us, we can group selections as follows:
-
Linux-based Operating Systems
-
Enterprise Linux
-
Consumer Linux
-
-
UNIX
-
macOS
-
Windows-based Operation Systems
-
Windows Servers
-
Windows Desktops
-
Choosing a Linux Distribution
The Linux Kernel and Linux Distributions
When talking about Linux distributions the operating system is Linux. Linux is the kernel and at the core of every Linux distribution. The software of the Linux kernel is maintained by a group of individuals, lead by Linus Torvalds. Torvalds is employed by an industry consortium called The Linux Foundation to work on the Linux kernel.
Note
|
The Linux kernel was first developed by Linus Torvalds, a student from Finland, back in 1991. In 1992, the first Kernel release under the GNU General Public License version 2 (GPLv2) was version 0.12. |
- Linux Kernel
-
As we have mentioned, all Linux distributions run the same operating system, Linux.
- Linux Distribution
-
When people talk about Red Hat Linux, or Ubuntu Linux they are referring to the Linux distribution. The Linux distribution will ship with a Linux kernel and an environment that makes the kernel useful in a way that we can interact with it. At a minimum we would need a command line shell such as Bash and a set of basic commands allowing us to access and manage the system. Often, of course, the Linux distribution will have a full Desktop Environment such as Gnome or KDE.
Even though each Linux distribution runs the Linux operating system, distributions can and do vary on the version of the operating system that is used. By this, we mean, the version of the Linux Kernel that is in use when the distribution boots.
Tip
|
If you have access to a Linux command line at the moment, you can easily check the version of the Linux kernel that you are running by reading the kernel release: $ uname -r 4.15.0-1019-aws |
Types of Linux Distributions
It may seem an obvious choice to always run the latest version of the Linux kernel but it is not quite as simple as that. We can vaguely categorize Linux distributions into three sets:
-
Enterprise Grade Linux Distributions
-
Red Hat Enterprise Linux
-
CentOS
-
SUSE Linux Enterprise Server
-
Debian GNU/Linux
-
Ubuntu LTS
-
-
Consumer Grade Linux Distributions
-
Fedora
-
Ubuntu non-LTS
-
openSUSE
-
-
Experimental and Hacker Linux Distributions
-
Arch
-
Gentoo
-
This, of course, is a just a very small subset of possible distributions but the importance is the difference between enterprise, consumer and experimental distributions and why each exists.
- Enterprise Grade Linux
-
Distributions such as CentOS (Community Enterprise OS) are designed to be deployed within large organizations using enterprise hardware. The needs of the enterprise are very different from the needs of the small business, hobbyist or home user. In order to ensure the availability of their services, enterprise users have higher requirements regarding the stability of their hard- and software. Therefore, enterprise Linux distributions tend to include older releases of the kernel and other software, which are known to work reliably. Often the distributions port important updates like security fixes back to these stable versions. In return, enterprise Linux distributions might lack support for the most recent consumer hardware and provide older versions of software packages. However, like consumer Linux distributions, enterprises tend to also choose mature hardware components and build their services on stable software versions.
- Consumer Grade Linux
-
Distributions such as Ubuntu are more targeted for small business or home and hobbyist users. As such, they are also likely to be using the latest hardware found on consumer grade systems. These systems will need the latest drivers to make the most of the new hardware but the maturity of both the hardware and the drivers is unlikely to meet the needs of larger enterprises. For the consumer market, however, the latest kernel is exactly what is needed with the most modern drivers even if they are little under tested. The newer Linux kernels will have the latest drivers to support the very latest hardware that are likely to be in use. Especially with the development we see with Linux in the gaming market it is tremendously important that the latest drivers are available to these users.
Note
|
Some distributions like Ubuntu provide both consumer grade versions which contain recent software and receive updates for a rather small period of time, as well as so-called Long Term Support versions, LTS for short, which are more suited for enterprise environments. |
- Experimental and Hacker Linux Distributions
-
Distributions such as Arch Linux or Gentoo Linux live on the cutting edge of technology. They contain the most recent versions of software, even if these versions still contain bugs and untested features. In return, these distributions tend to use a rolling release model which allows them to deliver updates at any time. These distributions are used by advanced users who want to always receive the most recent software and are aware that functionality can break at any time and are able to repair their systems in such cases.
In short, when considering Linux as your operating system, if you are using enterprise grade hardware on your servers or desktops then you can make use of either enterprise grade or consumer grade Linux distributions. If you are using consumer grade hardware and need to make the most of the latest hardware innovations then you are likely to need a similar Linux distribution to match the needs of the hardware.
Some Linux distributions are related to each other. Ubuntu, for example, is based on Debian Linux and uses the same packaging system, DPKG. Fedora, as another example, is a testbed for RedHat Enterprise Linux, where potential features of future RHEL versions can be explored ahead of their availability in the enterprise distribution.
As well as the distributions we have mentioned here there are many other Linux distributions. One advantage that comes with Linux being open source software is that many people can develop what they think Linux should look like. As such we have many hundreds of distributions. To view more Linux distributions you may choose to visit The Distro Watch Web Site, the maintainers of the website list the top 100 downloads of Linux distributions, allowing you to compare and see what is currently popular.
Linux Support Lifecycle
As you might expect, enterprise Linux distributions have a longer support life than consumer or community editions of Linux. For example Red Hat Enterprise Linux has support for 10 years. Red Hat Enterprise Linux 8 was launched in May 2019, while software updates and support are available until May 2029.
Consumer editions often will only have community support via forums. Software updates are often available for 3 releases. If we take Ubuntu as an example, at the time of writing 19.04 is the latest available having updates through the release of 19.10 and stopping in January 2020. Ubuntu also supply editions with long term support, known as LTS editions, which have 5 years of support from the original release. The current LTS version is 18.04 which will have software updates until 2023. These LTS versions make Ubuntu a possible option for the enterprise with commercial support available from Canonical (the company behind the Ubuntu brand) or independent consulting firms.
Note
|
The Ubuntu distributions use date-based version numbers in the format YY.MM: For example, version 19.04 was released April 2019. |
Linux as Your Desktop
Using Linux as your desktop system may be more challenging in an enterprise where desktop support focusses on commercial operating system offerings. However it is not only the support that may prove challenging. An enterprise customer may also have made large investments into software solutions that tie them into specific desktop operating systems. Having said this, there are many examples of Linux desktops being integrated into large organizations with companies like Amazon even having their own Linux distribution Amazon Linux 2. This is used on their AWS cloud platform but also internally for both servers and desktops.
Using Linux in a smaller business or at home becomes a lot easier and can be a rewarding experience, removing the need for licensing and opening your eyes to the wealth of free and open source software that is available for Linux. You will also find that there are many different desktop environments available. The most common being Gnome and KDE, however many others exists. The decision comes down to personal preference.
Using Linux on Servers
Using Linux as your server operating system is common practice in the enterprise sector. Servers are maintained by engineers who specialize in Linux. So even with thousands of users, the users can remain ignorant of the servers that they are connecting to. The server operating system is not important to them and, in general, client applications will not differ between Linux and other operating systems in the backend. It is also true that as more applications are virtualized or containerized within local and remote clouds, the operating system is masked even more and the embedded operating system is likely to be Linux.
Linux in the Cloud
Another opportunity to become familiar with Linux is to deploy Linux within one of the many public clouds available. Creating an account with one of the many others cloud providers will allow you to quickly deploy many different Linux distributions quickly and easily.
Non Linux Operating Systems
Yes, incredible as it seems, there are operating systems that are not based on the Linux kernel. Of course, over the years there have been many and some have fallen by the wayside but there are still other choices that are available to you. Either at home or in the office.
Unix
Before we had Linux as an operating system there was Unix. Unix used to be sold along with hardware and still today several commercial Unixes such as AIX and HP-UX are available on the market. While Linux was highly inspired by Unix (and the lack of its availability for certain hardware), the family of BSD operating systems is directly based on Unix. Today, FreeBSD, NetBSD and OpenBSD, along with some other related BSD systems, are available as free software.
Unix was heavily used in the enterprise but we have seen a decline in the fortunes of Unix with the growth of Linux. As Linux has grown and the enterprise support offerings have also grown, we have seen Unix slowly start to vanish. Solaris, originally from Sun before moving to Oracle, has recently disappeared. This was one of the larger Unix Operating Systems used by telecommunication companies, heralded as Telco Grade Unix.
Unix Operating Systems include:
-
AIX
-
FreeBSD, NetBSD, OpenBSD
-
HP-UX
-
Irix
-
Solaris
macOS
macOS (previously OS X) from Apple dates back to 2001. Based very much on BSD Unix, and making use of the Bash command line shell, it is a friendly system to use if you are used to using Unix or Linux operating systems. If you’re using macOS you can open the terminal application to access the command line. Running the same uname
command again we can check the reported operating system:
$ uname -s Darwin
Note
|
We make use of the option |
Microsoft Windows
We can still say that the majority of desktops and laptops out there will be Windows based. The operating system has been truly successful and has dominated the desktop market for years. Although it is proprietary software and is not free, often the operating system license is included when you buy the hardware so it becomes the easy choice to make. There is, of course, wide support for Windows throughout hardware and software vendors as well of course many open source applications are also available for Windows. The future for Windows does not seem as bright as it has been. With fewer desktops and laptops being sold now the focus is on the tablet and phone market. This has been dominated by Apple and Android and it is hard for Microsoft to gain ground.
As a server platform Microsoft does now allow its customers to choose between a GUI (Graphical User Interface) and command line only version. The separation of the GUI and the command line is an important one. Most of the time the GUI of older Microsoft Servers will be loaded but no-one will use it. Consider an Active Directory Domain Controller… users use it all the time to authenticate to the domain, but it is managed remotely from administrators' desktops and not the server.
Guided Exercises
-
Which project makes up the common component of all Linux distributions?
CentOS
Red Hat
Ubuntu
Linux Kernel
CoreOS
-
Which operating system is reported in use for macOS from Apple?
OS X
OSX
Darwin
MacOS
-
How does a Linux distribution differ from the Linux kernel?
The kernel is part of a distribution, the distribution as applications to surround the kernel to make it useful
The kernel is the Linux distribution
All distributions that use the same kernel are the same
-
Which of the following is a desktop environment in Linux?
Mint
Elementary
Zorin
Gnome
-
Which component of an operating system allows access to hardware?
Drivers
Shells
Service
Application
Explorational Exercises
-
Retrieve the current Kernel release of your Linux system if you have access to the command line.
-
Using your preferred search engine locate and identify public cloud providers available to you. These could include AWS, Google Cloud, Rackspace and many more. Choose one and see which operating systems are available to deploy.
Summary
In this section you have learned how to differentiate between different operating systems commonly available. We discussed:
-
Linux Based Operating Systems
-
UNIX
-
macOS
-
Windows Based Operation Systems
Within the Linux category we could further break the selection down into distributions with long term support and those with a shorter support cycle. LTS versions being more suited to the Enterprise and shorter term support being targeted toward home and hobby users.
-
Enterprise Grade Linux Distributions
-
Red Hat Enterprise Linux
-
CentOS
-
SUSE Linux Enterprise Server
-
Debian GNU/Linux
-
Ubuntu LTS
-
-
Consumer Grade Linux Distributions
-
Fedora
-
Ubuntu non-LTS
-
openSUSE
-
-
Experimental and Hacker Linux Distributions
-
Arch
-
Gentoo
-
Answers to Guided Exercises
-
Which project makes up the common component of all Linux distributions?
CentOS
Red Hat
Ubuntu
Linux Kernel
X
CoreOS
-
Which operating system is reported in use for OS X from Apple?
OS X
OSX
Darwin
X
MacOS
-
How does a Linux distribution differ from the Linux kernel?
The kernel is part of a distribution, the distribution as applications to surround the kernel to make it useful
X
The kernel is the Linux distribution
All distributions that use the same kernel are the same
-
Which of the following is a desktop environment in Linux?
Mint
Elementary
Zorin
Gnome
X
-
Which component of an operating system allows access to hardware?
Drivers
X
Shells
Service
Application
Answers to Explorational Exercises
-
Retrieve the current kernel release of your Linux system if you have access to the command line.
$ uname -r 4.15.0-47-generic
-
Using your preferred search engine locate and identify public cloud providers available to you. These could include AWS, Google Cloud, Rackspace and many more. Choose one and see which operating systems are available to deploy.
AWS, as an example, allows you to deploy many Linux distributions such as Debian, Red Hat, SUSE or Ubuntu as well as Windows.