You have learned that Linux is a UNIX-like operating system, which
means that it has not undergone formal certification and therefore can’t
use the official UNIX trademark. There are many other alternatives;
some are UNIX-like and some are certified as UNIX. There are also
non-Unix operating systems such as Microsoft Windows.
The most important question to ask when determining the configuration
of a machine is “what will this machine do?” If you need to run
specialized software that only runs on Oracle Solaris, then that’s what
you’ll need. If you need to be able to read and write Microsoft Office
documents, then you’ll either need Windows or something capable of
running LibreOffice or OpenOffice.
Decision Points
The first thing you need to decide is the machine’s role. Will you
be sitting at the console running productivity applications or web
browsing? If so, you have a desktop. Will the machine be used as a Web
server or otherwise sitting in a server rack somewhere? You’re looking
at a server.
Servers usually sit in a rack and share a keyboard and monitor with
many other computers, since console access is only used to set up and
troubleshoot the server. The server will run in non-graphical mode,
which frees up resources for the real purpose of the computer. A
desktop will primarily run a GUI.
Next, determine the functions of the machine. Is there specific
software it needs to run, or specific functions it needs to do? Do you
need to be able to manage hundreds or thousands of these machines at the
same time? What is the skill set of the team managing the computer and
software?
You must also determine the lifetime and risk tolerance of the
server. Operating systems and software upgrades come on a periodic
basis, called the release cycle. Software vendors will only
support older versions of software for a certain period of time before
not offering any updates, which is called the maintenance cycle (or life cycle). For example, major Fedora Linux releases come out approximately every 6 months. Versions are considered End of Life (EOL)
after 2 major versions plus one month, so you have between 7 and 13
months after installing Fedora before you need to upgrade. Contrast
this with the commercial server variant, Red Hat Enterprise Linux, and
you can go up to 13 years before needing to upgrade.
The maintenance and release cycles are important because in an
enterprise server environment it is time consuming, and therefore rare,
to do a major upgrade on a server. Instead, the server itself is
replaced when there are major upgrades or replacements to the
application that necessitate an operating system upgrade. Similarly, a
slow release cycle is important because applications often target the
current version of the operating system and you want to avoid the
overhead of upgrading servers and operating systems constantly to keep
up. There is a fair amount of work involved in upgrading a server, and
the server role often has many customizations made that are difficult to
port to a new server. This necessitates much more testing than if only
the application were upgraded.
If you are doing software development or traditional desktop work,
you often want the latest software. Newer software has improvements in
both functionality and appearance, which contributes to more enjoyment
from the use of the computer. A desktop often stores its work on a
remote server, so the desktop can be wiped clean and the newer operating
system put on with little interruption.
Individual software releases can be characterized as beta or stable.
One of the great things about being an open source developer is that
you can release your new software and quickly get feedback from users.
If a software release is in a state that it has many new features that
have not been rigorously tested, it is typically referred to as beta.
After those features have been tested in the field, the software moves
to a stable point. If you need the latest features, then you are
looking for a distribution that has a quick release cycle and makes it
easy to use beta software. On the server side, you want stable software
unless those new features are necessary and you don’t mind running code
that has not been thoroughly tested.
Another loosely related concept is backward compatibility.
This refers to the ability for a later operating system to be
compatible with software made for earlier versions. This is usually a
concern if you need to upgrade your operating system, but aren’t in a
position to upgrade your application software.
Of course, cost is always a factor. Linux itself might be free, but
you may need to pay for support, depending on which options you choose.
Microsoft has server license costs and may have additional support
costs over the lifetime of the server. Your chosen operating system
might only run on a particular selection of hardware, which further
affects the cost.
Microsoft Windows
The Microsoft world splits the operating systems according to the
machine’s purpose: desktop or server? The Windows desktop edition has
undergone various naming schemes with the current version (as of this
writing) being simply Windows 8. New versions of the
desktop come out every 3-5 years and tend to be supported for many
years. Backward compatibility is also a priority for Microsoft, even
going so far as to bundle virtual machine technology so that users can
run older software.
In the server realm, there is Windows Server, currently (at this
writing) at version 2012 to denote the release date. The server runs a
GUI, but largely as a competitive response to Linux, has made amazing
strides in command line scripting abilities through PowerShell. You can
also make the server look like a desktop with the optional Desktop
Experience package.
Apple OS X
Apple makes the OS X operating system, which has undergone UNIX
certification. OS X is partially based on software from the FreeBSD
project.
At the moment, OS X is primarily a desktop operating system but there
are optional packages that help with management of network services
that allow many OS X desktops to collaborate, such as to share files or
have a network login.
OS X on the desktop is usually a personal decision as many find the
system easier to use. The growing popularity of OS X has ensured
healthy support from software vendors. OS X is also quite popular in
the creative industries such as video production. This is one area
where the applications drive the operating system decision, and
therefore the hardware choice since OS X runs on Apple hardware.
BSD
There are several open source BSD (Berkely Software Distribution)
projects, such as OpenBSD, FreeBSD, and NetBSD. These are alternatives
to Linux in many respects as they use a large amount of common software.
BSDs are typically implemented in the server role, though there are
also variants such as GNOME and KDE that were developed for desktop
roles.
Other Commercial UNIXes
Some of the more popular commercial UNIXes are:
- Oracle Solaris
- IBM AIX
- HP-UX
Each of these runs on hardware from their respective creators. The
hardware is usually large and powerful, offering such features as
hot-swap CPU and memory, or integration with legacy mainframe systems
also offered by the vendor.
Unless the software requires the specific hardware or the needs of
the application require some of the redundancy built into the hardware,
most people tend to choose these options because they are already users
of the company's products. For example, IBM AIX runs on a wide variety
of IBM hardware and can share hardware with mainframes. Thus, you find
AIX in companies that already have a large IBM footprint, or that make
use of IBM software like WebSphere.
Linux
One aspect where Linux is much different than the alternatives is
that after an administrator has chosen Linux they still have to choose a
distribution. Recall from Topic 1 that the distribution packages the
Linux kernel, utilities, and management tools into an installable
package and provides a way to install and update packages after the
initial installation.
Some operating systems are available through only one vendor, such as
OS X and Windows, with system support provided through the vendor. With
Linux, there are multiple options, from commercial offerings for the
server or desktop, to custom distributions made to turn an old computer
into a network firewall.
Often application vendors will 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.
Governments and large enterprises may also limit their choices to
distributions that offer commercial support. This is common in larger
companies where paying for another tier of support is better than
risking extensive outages.
Various distributions also have release cycles, sometimes as often as
every six months. While upgrades are not required, each version can
only be supported for a reasonable length of time. Therefore, some
Linux releases are considered to have long term support (LTS) of 5 years
or more while others will only be supported for two years or less.
Some distributions differentiate between stable, testing, and
unstable releases. The difference being that unstable releases trade
reliability for features. When features have been integrated into the
system for a long time, and many of the bugs and issues addressed, the
software moves through testing into the stable release. The Debian
distribution warns users about the pitfalls of using the “sid” 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!’
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.
Android
Android, sponsored by Google, is
the world’s most popular Linux distribution. It is fundamentally
different from its counterparts. Linux is a kernel, and many of the
commands that will be covered in this course are actually part of the GNU (GNU's Not Unix) package. That is why some people insist on using the term GNU/Linux instead of Linux alone.
Android uses the Dalvik virtual machine with Linux,
providing a robust platform for mobile devices such as phones and
tablets. However, lacking the traditional packages that are often
distributed with Linux (such as GNU and Xorg), Android is generally
incompatible with desktop Linux distributions.
This incompatibility means that a RedHat or Ubuntu user can not
download software from the Google Play store. Likewise, a terminal
emulator in Android lacks many of the commands of its Linux
counterparts. It is possible, however, to use BusyBox with Android to
enable most commands to work.
(modul 1.2)
(modul 1.2)
0 comments