1.5.1. Linux and GNU
Although there are a large number of Linux implementations, you
will find a lot of similarities in the different distributions, if
only because every Linux machine is a box with building blocks that
you may put together following your own needs and views. Installing
the system is only the beginning of a longterm relationship. Just
when you think you have a nice running system, Linux will stimulate
your imagination and creativeness, and the more you realize what
power the system can give you, the more you will try to redefine
its limits.
Linux may appear different depending on the distribution, your
hardware and personal taste, but the fundamentals on which all
graphical and other interfaces are built, remain the same. The
Linux system is based on GNU tools (Gnu's Not UNIX), which provide
a set of standard ways to handle and use the system. All GNU tools
are open source, so they can be installed on any system. Most
distributions offer pre-compiled packages of most common tools,
such as RPM packages on RedHat and Debian packages (also called deb
or dpkg) on Debian, so you needn't be a programmer to install a
package on your system. However, if you are and like doing things
yourself, you will enjoy Linux all the better, since most
distributions come with a complete set of development tools,
allowing installation of new software purely from source code. This
setup also allows you to install software even if it does not exist
in a pre-packaged form suitable for your system.
A list of common GNU software:
-
Bash: The GNU shell
-
GCC: The GNU C Compiler
-
GDB: The GNU Debugger
-
Coreutils: a set of basic
UNIX-style utilities, such as ls, cat and chmod
-
Findutils: to search and find
files
-
Fontutils: to convert fonts
from one format to another or make new fonts
-
The Gimp: GNU Image
Manipulation Program
-
Gnome: the GNU desktop
environment
-
Emacs: a very powerful
editor
-
Ghostscript and Ghostview: interpreter and graphical frontend
for PostScript files.
-
GNU Photo: software for
interaction with digital cameras
-
Octave: a programming language,
primarily intended to perform numerical computations and image
processing.
-
GNU SQL: relational database
system
-
Radius: a remote authentication
and accounting server
-
...
Many commercial applications are available for Linux, and for
more information about these packages we refer to their specific
documentation. Throughout this guide we will only discuss freely
available software, which comes (in most cases) with a GNU
license.
To install missing or new packages, you will need some form of
software management. The most common implementations include RPM
and dpkg. RPM is the RedHat Package Manager, which is used on a
variety of Linux systems, eventhough the name does not suggest
this. Dpkg is the Debian package management system, which uses an
interface called apt-get, that can manage
RPM packages as well. Novell Ximian Red
Carpet is a third party implementation of RPM with a
graphical front-end. Other third party software vendors may have
their own installation procedures, sometimes resembling the
InstallShield and such, as known on MS Windows and other platforms.
As you advance into Linux, you will likely get in touch with one or
more of these programs.