Datasheet
Linux Distributions
With the growing popularity of the Linux kernel came an interest in making Linux more accessible to
those who didn’t already happen to have advanced knowledge of its internal programming. To create a
usable Linux system, you need more than just the Linux kernel alone. In fact, the average Linux desktop
system available today makes use of many thousands of individual software programs in order to go
from system power on to a feature-rich graphical desktop environment such as GNOME.
When Linux was first released, there wasn’t such a rich multitude of software available. In fact, Linus
started out with just one application — the GNU Borne Again SHell (bash). Those who have ever had to
boot a Linux or UNIX system into a limited “single-user” mode (where only a bash shell is run) will
know what this experience feels like. Linus did much of his early testing of Linux from within a solitary
bash command shell, but even that didn’t just magically run on Linux; it first had to be
ported, or
modified to run on a Linux system instead of an existing system, such as Minix.
As more and more people began to use and develop software for Linux, a wide range of software
became available to those with the patience to build and install it. Over time, it became apparent that
building every single Linux system from scratch was an unsupportable, nonupgradeable nightmare that
prevented all but the most enthusiastic from experiencing what Linux had to offer. The solution came in
the form of Linux distributions, or precreated collections of applications and a Linux kernel that could
be supplied on floppy disk (and later on CD) to a wide range of potential users.
Early Linux distributions were simply a convenience for those who wanted to avoid building the entire
system from scratch for themselves, and did little to track what software had been installed or handle
the safe removal and addition of new software. It wasn’t until package managers like Red Hat’s RPM
and Debian’s dpkg had been invented that it was possible for regular users to install a Linux system
from scratch without very detailed expert knowledge. You’ll discover more about package management
in later in the book, when you look at building your own prepackaged Linux software for distribution.
Modern Linux distributions come in many shapes and sizes and are targeted at a variety of different mar-
kets. There are those written for regular desktop Linux users; those written for enterprise users with
demands of scalable, robust performance; and even distributions designed for embedded devices such as
PDAs, cellular telephones and set-top boxes. Despite the different packaging, Linux distributions usually
have commonalities that you can exploit. For example, most distributions strive to be compatible on some
level with the Linux Standard Base (LSB) de facto set of standards for compatible Linux environments.
Free Software vs. Open Source
Richard Stallman started the GNU project and founded the Free Software Foundation as a nonprofit orga-
nization to oversee it. He also worked on the first version of the General Public License — the GPL—
under which a large proportion of software written for systems that run Linux is licensed. The GPL is an
interesting document in its own right because its goal is not to restrict your use of GPL licensed software,
but to protect the right of users and developers to have access to the source code.
2
4
Chapter 1: Working with Linux
2
The GPL is currently undergoing its third major rewrite at the time that this book is being written.
The new version is likely to be one of the most controversial Free Software licenses yet. It includes
stipulations about the licensing of patents and other technology, attempts to outlaw Digital Rights
Management (termed “Digital Restrictions Management” by Richard Stallman) and a great deal of
other requirements besides.
04_776130 ch01.qxp 2/2/07 10:11 PM Page 4










