Linux
Linux users typically obtain an operating system by downloading a distribution. A Linux distribution is a bundle of software, typically comprised of the Linux kernel, utilities, management tools, and even some application software in a package which also includes the means to update core software and install additional applications.
The distribution takes
care of setting up the storage, building the kernel and installing hardware
drivers, as well as installing applications and utilities to make a fully
functional computer system. The organizations that create distributions also
include tools to manage the system, a package manager to add and remove
software, as well as update programs to provide security and functionality
patches.
The number of Linux
distributions available numbers in the hundreds, so the choice can seem
daunting at first. However, the decision points are mostly the same as those
highlighted for choosing an operating system.
Role
With Linux, there are
multiple options to choose from depending on organizational needs. The variety
of distributions and accompanying software allows the operating system to be
significantly more flexible and customizable. Distributions are available for a
much wider variety of systems, from commercial offerings for the traditional
server or desktop roles, to specialized distributions designed to turn an old
computer into a network firewall; from distributions created to power a
supercomputer, to those that enable embedded systems. These might focus on
running application or web servers, productivity desktops, point-of-sale
systems, or even tools dedicated to electronics design or statistical
computing.
Function
Governments and large
enterprises may also limit their choices to distributions that offer commercial
support because paying for another tier of support may be better than risking
extensive outages. For the most part, concerns over security have been
addressed through the large open source community, which monitors kernel
changes for vulnerabilities and provides bug reporting and fixes at a much
larger scale than closed source vendors can achieve.
Support for necessary
applications may vary and is, therefore, an additional consideration. Often
application vendors choose a subset of distributions to support. Different
distributions have different versions of key libraries, and it is difficult for
a company to support all these different versions. However, some applications
like Firefox and LibreOffice are widely supported and available for all major
distributions.
Life Cycle
Most distributions
have both major and minor update cycles to introduce new features and fix
existing bugs. Additionally, there are development packages where users can
contribute code and submit patches for possible inclusion into new releases.
Linux distributions
can be broadly classed in two main categories: enthusiast and enterprise. An
enthusiast distribution such as openSUSE’s Tumbleweed has a fast update cycle,
is not supported for enterprise and may not contain (or drop) features or
software in the next version that are in the current one. Red Hat’s Fedora
project uses a similar method of development and release cycle, as does Ubuntu
Desktop.
Enterprise
distributions are almost the exact opposite, in that they take care to be
stable and consistent, and offer enterprise-grade support for extended periods,
anywhere from 5-13 years in the case of SUSE. Enterprise distributions are
fewer by far, being offered mainly by Red Hat, Canonical and SUSE.
Application software
may be written such that it only supports a specific release of a distribution,
requiring users to remain on an older, less secure operating system than they
might like. Therefore, some Linux releases are considered to have long-term
support (LTS) of 5 years or more while others are only supported for two years
or less.
Stability
Some distributions
offer stable, testing, and unstable releases.
When choosing an unstable release for required features, consideration must be
given to the fact that those features may change at any point during the
development cycle. When features have been integrated into the system for a
long time, with most of the bugs and issues addressed, the software moves
through testing into the stable release.
Other releases depend
on beta distributions. For instance, the Fedora distribution releases beta or
pre-releases of its software ahead of the full release to minimize bugs. Fedora
is often considered the community-oriented beta release of RedHat. Features are
added and changed in the Fedora release before finding their way into the
enterprise-ready RedHat distribution.
openSUSE and its
enterprise counterpart SLES (SUSE Linux Enterprise Server) are similar, in that
the community edition is used as a testing ground for the features and functions
that will eventually be migrated into the enterprise version. Previously
somewhat dissimilar, later versions of the openSUSE and SLES distribution
codebases are nearly identical, allowing for easier migration of features and
code from one to the other.
Consider This
The Debian distribution warns users about the
pitfalls of using the “sid” (unstable) release with the following warning:
‘"sid" is subject to massive
changes and in-place library updates. This can result in a very
"unstable" system which contains packages that cannot be installed
due to missing libraries, dependencies that cannot be fulfilled, etc. Use it at
your own risk!’
Cost
Your chosen Linux
distribution itself might be zero cost, but paying for support may be
worthwhile depending on organizational needs and capabilities.
Interface
Like most operating
systems, Linux can be used in one of two ways: graphical (GUI) and
non-graphical (CLI). Below is an example of a graphical desktop, with a menu
bar of popular applications to the left, a LibreOffice document being edited in
the foreground, and a web browser in the background.
In graphical mode,
users can have several different windows with terminal applications (shells)
open, which is very helpful when performing tasks on multiple remote computers.
Administrators and users can log-in with their username and password through a
graphical interface.
The second type of
interface, the CLI, is a text-based interface to the computer, where the user
types in a command and the computer then executes it. The CLI environment is
provided by an application on the computer known as a terminal. The terminal accepts what the user types and
passes to a shell. The shell interprets what the user has typed
into instructions that can be executed by the operating system. If output is
produced by the command, then this text is displayed in the terminal. If
problems with the command are encountered, then an error message is displayed.
The CLI starts with a
text-based login as shown below. In a successful login, after being prompted
for a username and password, you are taken CLI shell customized for the
particular user.
ubuntu 18.04 ubuntu tty2
ubuntu login:
In CLI mode there are
no windows to move around. Text editors, web browsers, and email clients are
all presented in text format only. This is how UNIX operated before graphical
environments were the norm. Most servers run in this mode too, since people don’t
log into them directly, making a graphical interface a waste of resources. Here
is an example of a CLI screen after logging in:
ubuntu 18.04 ubuntu tty2
ubuntu login: sue
Password:
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in
the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by
applicable law.
Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.4.0-72-generic
x86_64)
* Documentation: https://help.ubuntu.com/
212 packages can be updated.
91 updates are security updates.
sue@ubuntu:~$ w
17:27:22 up 14 min, 2 users,
load average: 1.73, 1.83, 1.69
USER TTY FROM LOGIN@ IDLE
JCPU PCPU WHAT
sue tty2 20:08 14.35
0.05s 0.00s w
The original login
prompt is at the top, with newer text added below. During login there may be
some text displayed called the message of the day (MOTD). This
is an opportunity for the systems administrator to pass information to users,
or just make a silly joke. Following the MOTD is the command prompt, in the
example above, the user has entered the w command which shows who is logged in. As new commands are
entered and processed, the window scrolls up and older text is lost across the
top. The terminal itself is responsible for keeping any history, such as to
allow the user to scroll up and see previously entered commands. As far as
Linux is concerned, what is on the screen is all that there is. There’s nothing
to move around.
Comments
Post a Comment