

Introduction
1. Why this guide?
Many people still
believe that learning Linux is difficult, or that only experts can understand
how a Linux
system works. Though
there is a lot of free documentation available, the documentation is widely
scattered on
the Web, and often
confusing, since it is usually oriented toward experienced UNIX or Linux users.
Today,
thanks to the
advancements in development, Linux has grown in popularity both at home and at
work. The
goal of this guide
is to show people of all ages that Linux can be simple and fun, and used for
all kinds of
purposes.
2. Who should read this book?
This guide was
created as an overview of the Linux Operating System, geared toward new users
as an
exploration tour and
getting started guide, with exercises at the end of each chapter. For more
advanced
trainees it can be a
desktop reference, and a collection of the base knowledge needed to proceed
with system
and network
administration. This book contains many real life examples derived from the
author's experience
as a Linux system
and network administrator, trainer and consultant. We hope these examples will
help you to
get a better
understanding of the Linux system and that you feel encouraged to try out
things on your own.
Everybody who wants
to get a CLUE, a Command Line User Experience, with Linux (and UNIX in general)
will find this book
useful.
3. New versions of this guide
This document is
published in the Guides section of the Linux Documentation Project collection
(http://www.tldp.org).
The most recent
edition is available at http://tille.soti.org/training/tldp/.
4. Revision History
Revision History
Revision 1.0 2002−12−29
Revised by: MG
Initial release for
TLDP
Revision 1.1 2003−01−22
Revised by: MG
Bug fixes; removed
some more too RedHat specific stuff; corrected minor errors; moved most recent
version
to decent URL;
improved tar section, added something about jar.
Revision 1.2 2003−02−28
Revised by: MG
ps a bit better
explained; more in getting started: −−help, whatis, apropos
explained; more on find; chmod
and umask still
contained a couple of errors and incompletenesses; resized images that were too
large to be
printed; resized
oversized text boxes for better print quality; updated glossary.
Revision 1.3 2003−03−26
Revised by: MG
grep and escape
characters; exporting variables; more consequent about security issues; init
and cron revised;
window and desktop
managers explanation; removed some more too RedHat specific stuff; added piece
about
Introduction 1
(x)inetd; local
authentication; text conversions and encoding; graphical help, graphical file
managers, note on
internet
connections; spell check.
Revision 1.4 2003−04−27
Revised by: MG
Added sound and
video playing, chat/conference; got rid of redhat−config image and redhat
printtool gui
stuff; bash key combinations
in chap2; XML keycap tag on all key combinations, parameter tag on
arguments, guibutton
tag for graphical buttons, menuchoice, guimenu and guimenuitem tags for GUI
menu
selections; replaced
pico with ed, added piece about Linux in the office, replaced abiword image
with
openoffice
screenshot; added conventions and organization sections in introduction; added
konqueror
screenshot in chap2;
replaced system−monitor screenshot in chap4 with something more up to
date; summary
for chap2, checked
exercises; added bash in app3 differing features; License section is now only
invariant
section.
5. Contributions
Many thanks to all
the people who shared their experiences. And especially to the Belgian Linux
users, among
them my husband, for
hearing me out every day and always being generous in their comments.
Also a special
thought for Tabatha Persad for doing a really thorough revision, spell check
and styling, and to
Eugene Crosser for
marking the errors that we two looked over.
And thanks to all
the readers who noticed me about missing topics and who helped to pick out the
last errors,
unclear definitions
and typos by going through the trouble of mailing me all their remarks.
Finally, a big thank
you for the volunteers who are currently translating this document in French,
Swedish,
German and more. It
is a big work that should not be underestimated; I admire your courage.
6. Feedback
Missing information,
missing links, missing characters? Mail it to the maintainer of this document:
Don't forget to
check with the latest version first!
7. Copyright information
Copyright ©
2002 Machtelt Garrels.
Permission is
granted to copy, distribute and/or modify this document under the terms of the
GNU Free
Documentation
License, Version 1.1 or any later version published by the Free Software
Foundation; with the
Invariant Sections
being just "Copyright information", with no Front−Cover Texts
and no Back−Cover Texts.
A copy of the
license is included in Appendix D entitled "GNU Free Documentation License".
Read The GNU
Manifesto if you want to know why this license was chosen for this book.
The author and
publisher have made every effort in the preparation of this book to ensure the
accuracy of the
information.
However, the information contained in this book is offfered without warranty,
either express or
implied. Neither the
author nor the publisher nor any dealer or distributor will be held liable for
any damages
Introduction to Linux
Introduction 2
caused or alleged to
be caused either directly or indirectly by this book.
The logos,
trademarks and symbols used in this book are the properties of their respective
owners.
8. What do you need?
You will require a
computer and a medium containing a Linux distribution. Most of this guide
applies to all
Linux distributions −
and UNIX in general. Apart from time, there are no further specific
requirements.
The Installation
HOWTO contains helpful information on how to obtain Linux software and install
it on your
computer. Hardware
requirements and coexistence with other operating systems are also discussed.
CD images can be
downloaded from linux−iso.com and many other locations, see Appendix A.
An interesting
alternative for those who don't dare to take the step of an actual Linux
installation on their
machine are the
Linux distributions that you can run from a CD, such as the Knoppix distribution.
9. Conventions used in this document
The following
typographic and usage conventions occur in this text:
Table 1. Typographic
and usage conventions
Text type Meaning
"Quoted
text" Quotes from people, quoted computer output.
terminal view
Literal computer
input and output captured from the terminal, usually rendered
with a light grey
background.
command Name of a command
that can be entered on the command line.
VARIABLE Name of a variable or pointer to content of a variable, as in $VARNAME.
option Option to a command, as in "the −a option to the ls command".
argument Argument to a command, as in "read man ls".
command options
arguments
Command synopsis or
general usage, on a separated line.
filename
Name of a file or
directory, for example "Change to the /usr/bin
directory."
Key Keys to hit on the
keyboard, such as "type Q to quit".
Button Graphical
button to click, like the OK button.
Menu−>Choice
Choice to select
from a graphical menu, for instance: "Select Help−>About
Mozilla in your
browser."
Terminology Important term or
concept: "The Linux kernel is the heart of the system."
See Chapter 1 link
to related subject within this guide.
The author Clickable
link to an external web resource.
Introduction to Linux
Introduction 3
10. Organization of this document
This guide aims to
be the foundation for all other materials that you can get from The Linux
Documentation
Project. As such, it
provides you with the fundamental knowledge needed by anyone who wants to start
working with a Linux
system, while at the same time it tries to consciously avoid to re−invent
the hot water.
Thus, you can expect
this book to be incomplete and full of links to sources of additional
information on your
system, on the
Internet and in your system documentation.
The first chapter is
an introduction to the subject on Linux; the next two discuss absolute basic
commands.
Chapters 4 and 5
discuss some more advanced but still basic topics. Chapter 6 is needed for
continuing with
the rest, since it
discusses editing files, an ability you need to pass from Linux newbie to Linux
user. The
following chapters
discuss somewhat more advanced topics that you will have to deal with in
everyday Linux
use.
All chapters come
with exercises that will test your preparedness for the next chapter.
Chapter 1: What is
Linux, how did it come into existence, who should use it, installing your
computer.
·
Chapter 2: Getting
started, connecting to the system, basic commands, where to find help. ·
Chapter 3: The
filesystem, important files and directories, managing files and directories,
security
modes.
·
Chapter 4:
Understanding and managing processes, boot and shutdown procedures, postponing
tasks,
repetitive tasks.
·
Chapter 5: What are
standard input, output and error and how are these features used from the
command line.
·
Chapter 6: Why you
should learn to work with an editor, discussion of the most common editors. ·
Chapter 7:
Configuring your graphical, text and audio environment, settings for the non−native
English speaking
Linux user, tips for adding extra software.
·
Chapter 8:
Converting files to a printable format, getting them out of the printer, hints
for solving
print problems.
·
Chapter 9: Preparing
data to be backed up, discussion of various tools. ·
Chapter 10: Overview
of Linux networking tools and user applications, with a short discussion of the
underlying service
daemon programs, secure networking.
·
Appendix A: Which
books to read and sites to visit when you have finished reading this one. ·
Appendix B: A
comparison. ·
Appendix C: If you
ever get stuck, these tables might be an outcome. Also a good argument when
your boss insists
that YOU should use HIS favorite shell.
·
Appendix D: What you
can do with this guide, from the legal perspective. ·
Introduction to Linux
Introduction 4
Chapter 1. What is Linux?
We will start with
an overview of how Linux became the operating system it is today. We
will discuss past
and future development and take a closer look at the advantages and
disadvantages of
this system. We will talk about distributions, about Open Source in general
and try to explain a
little something about GNU.
This chapter answers
questions like:
What is Linux? ¨
Where and how did
Linux start? ¨
Isn't Linux that
system where everything is done in text mode? ¨
Does Linux have a
future or is it just hype? ¨
What are the
advantages of using Linux? ¨
What are the
disadvantages? ¨
What kinds of Linux
are there and how do I choose the one that fits me? ¨
What are the Open
Source and GNU movements? ¨
1.1. History
1.1.1. UNIX
In order to
understand the popularity of Linux, we need to travel back in time, about 30
years ago...
Imagine computers as
big as houses, even stadiums. While the sizes of those computers posed
substantial
problems, there was
one thing that made this even worse: every computer had a different operating
system.
Software was always
customized to serve a specific purpose, and software for one given system
didn't run on
another system.
Being able to work with one system didn't automatically mean that you could
work with
another. It was
difficult, both for the users and the system administrators.
Computers were
extremely expensive then, and sacrifices had to be made even after the original
purchase just
to get the users to
understand how they worked. The total cost of IT was enormous.
Technologically the
world was not quite that advanced, so they had to live with the size for
another decade. In
1969, a team of
developers in the Bell Labs laboratories started working on a solution for the
software
problem, to address
these compatibility issues. They developed a new operating system, which was
simple and elegant ·
written in the C
programming language instead of in assembly code ·
able to recycle
code. ·
The Bell Labs
developers named their project "UNIX."
The code recycling
features were very important. Until then, all commercially available computer
systems
were written in a
code specifically developed for one system. UNIX on the other hand needed only
a small
piece of that
special code, which is now commonly named the kernel. This kernel is the only
piece of code
that needs to be
adapted for every specific system and forms the base of the UNIX system. The
operating
system and all other
functions were built around this kernel and written in a higher programming
language, C.
Chapter 1. What is Linux? 5
This language was
especially developed for creating the UNIX system. Using this new technique, it
was much
easier to develop an
operating system that could run on many different types of hardware.
The software vendors
were quick to adapt, since they could sell ten times more software almost
effortlessly.
Weird new situations
came in existence: imagine for instance computers from different vendors
communicating in the
same network, or users working on different systems without the need for extra
education to use
another computer. UNIX did a great deal to help users become compatible with
different
systems.
Throughout the next
couple of decades the development of UNIX continued. More things became
possible to
do and more hardware
and software vendors added support for UNIX to their products.
UNIX was initially
found only in very large environments with mainframes and minicomputers (note
that a
PC is a
"micro" computer). You had to work at a university, for the
government or for large financial
corporations in
order to get your hands on a UNIX system.
But smaller
computers were being developed, and by the end of the 80's, many people had
home computers.
By that time, there
were several versions of UNIX available for the PC architecture, but none of
them were
truly free.
1.1.2. Linus and Linux
Linus Torvalds, a
young man studying computer science at the university of Helsinki, thought it
would be a
good idea to have
some sort of freely available academic version of UNIX, and promptly started to
code.
He started to ask
questions, looking for answers and solutions that would help him get UNIX on
his PC.
Below is one of his
first posts in comp.os.minix, dating from 1991:
From: [email protected] (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Gcc−1.40 and a posix−question
Message−ID: <[email protected]>
Date: 3 Jul 91 10:00:50 GMT
Hello netlanders,
Due to a project I'm working on (in minix), I'm interested in
the posix
standard definition. Could somebody please point me to a
(preferably)
machine−readable format of the latest posix rules? Ftp−sites
would be
nice.
From the start, it
was Linus' goal to have a free system that was completely compliant with the
original UNIX.
That is why he asked
for POSIX standards, POSIX still being the standard for UNIX.
In those days plug−and−play
wasn't invented yet, but so many people were interested in having a UNIX
system of their own,
that this was only a small obstacle. New drivers became available for all kinds
of new
hardware, at a
continuously rising speed. Almost as soon as a new piece of hardware became
available,
someone bought it
and submitted it to the Linux test, as the system was gradually being called,
releasing more
free code for an
ever wider range of hardware. These coders didn't stop at their PC's; every
piece of hardware
they could find was
useful for Linux.
Back then, those
people were called "nerds" or "freaks", but it didn't
matter to them, as long as the supported
hardware list grew
longer and longer. Thanks to these people, Linux is now not only ideal to run
on new PC's,
but is also the
system of choice for old and exotic hardware that would be useless if Linux
didn't exist.
Introduction to Linux
Chapter 1. What is Linux? 6
Two years after
Linus' post, there were 12000 Linux users. The project, popular with hobbyists,
grew steadily,
all the while
staying within the bounds of the POSIX standard. All the features of UNIX were
added over the
next couple of
years, resulting in the mature operating system Linux has become today. Linux
is a full UNIX
clone, fit for use
on workstations as well as on middle−range and high−end servers.
Today, all the important
players on the hard−
and software market each have their team of Linux developers; at your local
dealer's you
can even buy pre−installed
Linux systems with official support.
1.1.3. Current application of Linux systems
Today Linux has
joined the desktop market. Linux developers concentrated on networking and
services in the
beginning, and
office applications have been the last barrier to be taken down. We don't like
to admit that
Microsoft is ruling
this market, so plenty of alternatives have been started over the last couple
of years to
make Linux an
acceptable choice as a workstation, providing an easy user interface and MS
compatible office
applications like
word processors, spreadsheets, presentations and the like.
On the server side,
Linux is well−known as a stable and reliable platform, providing database
and trading
services for
companies like Amazon, the well−known online bookshop, US Post Office,
the German army and
such. Especially
Internet providers and Internet service providers have grown fond of Linux as
firewall,
proxy− and web
server, and you will find a Linux box within reach of every UNIX system
administrator who
appreciates a
comfortable management station. Clusters of Linux machines are used in the
creation of movies
such as
"Titanic", "Shrek" and others. In post offices, they are
the nerve centers that route mail and in large
search engine, clusters
are used to perform internet searches.These are only a few of the thousands of
heavy−duty
jobs that Linux is performing day−to−day across the world.
It is also worth to
note that modern Linux not only runs on workstations, mid− and high−end
servers, but also
on
"gadgets" like PDA's, mobiles, a shipload of embedded applications
and even on experimental
wristwatches. This
makes Linux the only operating system in the world covering such a wide range
of
hardware.
1.2. The user interface
1.2.1. Is Linux difficult?
Whether Linux is
difficult to learn depends on the person you're asking. Experienced UNIX users
will say no,
because Linux is an
ideal operating system for power−users and programmers, because it has
been and is
being developed by
such people.
Everything a good
programmer can wish for is available: compilers, libraries, development and
debugging
tools. These
packages come with every standard Linux distribution. The C−compiler is
included for free, all
the documentation
and manuals are there, and examples are often included to help you get started
in no time.
It feels like UNIX
and switching between UNIX and Linux is a natural thing.
In the early days of
Linux, being an expert was kind of required to start using the system. Those
who mastered
Linux felt better
than the rest of the "lusers" who hadn't seen the light yet. It was
common practice to tell a
beginning user to
"RTFM" (read the manuals). While the manuals were on every system, it
was difficult to
find the
documentation, and even if someone did, explanations were in such technical
terms that the new user
became easily
discouraged from learning the system.
The Linux−using
community started to realize that if Linux was ever to be an important player
on the
Introduction to Linux
Chapter 1. What is Linux? 7
operating system
market, there had to be some serious changes in the accessibility of the
system.
1.2.2. Linux for non−experienced users
Companies such as
RedHat, SuSE and Mandrake have sprung up, providing packaged Linux
distributions
suitable for mass
consumption. They integrated a great deal of graphical user interfaces (GUIs),
developed by
the community, in
order to ease management of programs and services. As a Linux user today you
have all the
means of getting to
know your system inside out, but it is no longer necessary to have that
knowledge in order
to make the system
comply to your requests.
Nowadays you can log
in graphically and start all required applications without even having to type
a single
character, while you
still have the ability to access the core of the system if needed. Because of
its structure,
Linux allows a user
to grow into the system: it equally fits new and experienced users. New users
are not
forced to do
difficult things, while experienced users are not forced to work in the same
way they did when
they first started
learning Linux.
While development in
the service area continues, great things are being done for desktop users,
generally
considered as the
group least likely to know how a system works. Developers of desktop
applications are
making incredible
efforts to make the most beautiful desktops you've ever seen, or to make your
Linux
machine look just
like your former MS Windows or MacIntosh workstation. The latest developments
also
include 3D
acceleration support and support for USB devices, single−click updates of
system and packages,
and so on. Linux has
these, and tries to present all available services in a logical form that
ordinary people can
understand.
The screenshot below
shows how each item in the Channel list (RH 7.2, StarOffice, Opera, Ximian
Gnome,
Loki games and
CodeWeavers) can be updated with one mouse click. Adding or removing software
packages
or keeping the
system up to date is simple with tools like this one, called Red Carpet:
Figure 1−1.
Ximian Red Carpet: automated package management
Introduction to Linux
Chapter 1. What is Linux? 8
1.3. Does Linux have a future?
1.3.1. Open Source
The idea behind Open
Source software is rather simple: when programmers can read, distribute and
change
code, the code will
mature. People can adapt it, fix it, debug it, and they can do it at a speed
that dwarfs the
performance of
software developers at conventional companies. This software will be more
flexible and of a
better quality than
software that has been developed using the conventional channels, because more
people
have tested it in
more different conditions than the closed software developer ever can.
The Open Source
initiative started to make this clear to the commercial world, and very slowly,
commercial
vendors are starting
to see the point. While lots of academics and technical people have already
been
convinced for 20
years now that this is the way to go, commercial vendors needed applications
like the
Internet to make
them realize they can profit from Open Source. Now Linux has grown past the
stage where it
was almost
exclusively an academic system, useful only to a handful of people with a
technical background.
Now Linux provides
more than the operating system: there is an entire infrastructure supporting
the chain of
effort of creating
an operating system, of making and testing programs for it, of bringing
everything to the
users, of supplying
maintenance, updates and support and customizations, etcetera. Today, Linux is
ready to
accept the challenge
of a fast−changing world.
1.3.2. Ten years of experience at your service
While Linux is
probably the most well−known Open Source initiative, there is another
project that contributed
enormously to the
popularity of the Linux operating system. This project is called SAMBA, and its
achievement is the
reverse engineering of the Server Message Block (SMB)/Common Internet File
System
(CIFS) protocol used
for file− and print−serving on PC−related machines, natively
supported by MS
Windows NT and OS/2,
and Linux. Packages are now available for almost every system and provide
interconnection
solutions in mixed environments using MS Windows protocols: Windows−compatible
(up to
Introduction to Linux
Chapter 1. What is Linux? 9
and including Win2K)
file− and print−servers.
Maybe even more
successful than the SAMBA project is the Apache HTTP server project. The server
runs on
UNIX, Windows NT and
many other operating systems. Originally known as "A PAtCHy server",
based on
existing code and a
series of "patch files", the name for the matured code deserves to be
connoted with the
native American
tribe of the Apache, well−known for their superior skills in warfare
strategy and
inexhaustible
endurance. Apache has been shown to be substantially faster, more stable and
more feature−full
than many other web
servers. Apache is run on sites that get millions of visitors per day, and
while no official
support is provided
by the developers, the Apache user community provides answers to all your
questions.
Commercial support
is now being provided by a number of third parties.
In the category of
office applications, a choice of MS Office suite clones is available, ranging
from partial to
full implementations
of the applications available on MS Windows workstations. These initiatives
helped a
great deal to make
Linux acceptable for the desktop market, because the users don't need extra
training to
learn how to work
with new systems. With the desktop comes the praise of the common users, and
not only
their praise, but
also their specific requirements, which are growing more intricate and
demanding by the day.
The Open Source
community, consisting largely of people who have been contributing for over
half a decade,
assures Linux'
position as an important player on the desktop market as well as in general IT
application. Paid
employees and
volunteers alike are working diligently so that Linux can maintain a position
in the market.
The more users, the
more questions. The Open Source community makes sure answers keep coming, and
watches the quality
of the answers with a suspicious eye, resulting in ever more stability and
accessibility.
Listing all the
available Linux software is beyond the scope of this guide, as there are tens
of thousands of
packages. Throughout
this course we will present you with the most common packages, which are almost
all
freely available. In
order to take away some of the fear of the beginning user, here's a screenshot
of one of
your most−wanted
programs. You can see for yourself that no effort has been spared to make users
who are
switching from
Windows feel at home:
Figure 1−2.
OpenOffice MS−compatible Spreadsheet
Introduction to Linux
Chapter 1. What is Linux? 10
1.4. Properties of Linux
1.4.1. Linux Pros
A lot of the
advantages of Linux are a consequence of Linux' origins, deeply rooted in UNIX,
except for the
first advantage, of
course:
Linux is free:
As in free beer,
they say. If you want to spend absolutely nothing, you don't even have to pay
the
price of a CD. Linux
can be downloaded in its entirety from the Internet completely for free. No
registration fees,
no costs per user, free updates, and freely available source code in case you
want to
change the behavior
of your system.
Most of all, Linux
is free as in free speech:
The license commonly
used is the GNU Public License (GPL). The license says that anybody who
may want to do so,
has the right to change Linux and eventually to redistribute a changed version,
on
the one condition that
the code is still available after redistribution. In practice, you are free to
grab a
kernel image, for
instance to add support for teletransportation machines or time travel and sell
your
new code, as long as
your customers can still have a copy of that code.
·
Linux is portable to
any hardware platform:
A vendor who wants
to sell a new type of computer and who doesn't know what kind of OS his new
machine will run
(say the CPU in your car or washing machine), can take a Linux kernel and make
it
·
Introduction to Linux
Chapter 1. What is Linux? 11
work on his
hardware, because documentation related to this activity is freely available.
Linux was made to
keep on running:
As with UNIX, a
Linux system expects to run without rebooting all the time. That is why a lot
of
tasks are being
executed at night or scheduled automatically for other calm moments, resulting
in
higher availability
during busier periods and a more balanced use of the hardware. This property
allows for Linux to
be applicable also in environments where people don't have the time or the
possibility to
control their systems night and day.
·
Linux is secure and
versatile:
The security model
used in Linux is based on the UNIX idea of security, which is known to be
robust
and of proven
quality. But Linux is not only fit for use as a fort against enemy attacks from
the
Internet: it will
adapt equally to other situations, utilizing the same high standards for
security. Your
development machine
or control station will be as secure as your firewall.
·
Linux is scalable:
From a Palmtop with
2 MB of memory to a petabyte storage cluster with hundreds of nodes: add or
remove the
appropriate packages and Linux fits all. You don't need a supercomputer
anymore,
because you can use
Linux to do big things using the building blocks provided with the system. If
you
want to do little
things, such as making an operating system for an embedded processor or just
recycling your old
486, Linux will do that as well.
·
The Linux OS and
Linux applications have very short debug−times:
Because Linux has
been developed and tested by thousands of people, both errors and people to fix
them are found very
quickly. It often happens that there are only a couple of hours between discovery
and fixing of a bug.
·
1.4.2. Linux Cons
There are far too
many different distributions:
"Quot capites,
tot rationes", as the Romans already said: the more people, the more
opinions. At first
glance, the amount
of Linux distributions can be frightening, or ridiculous, depending on your
point
of view. But it also
means that everyone will find what he or she needs. You don't need to be an
expert to find a
suitable release.
When asked,
generally every Linux user will say that the best distribution is the specific
version he is
using. So which one
should you choose? Don't worry too much about that: all releases contain more
or less the same set
of basic packages. On top of the basics, special third party software is added
making, for example,
TurboLinux more suitable for the small and medium enterprise, RedHat for
servers and SuSE for
workstations. However, the differences are likely to be very superficial. The
best
strategy is to test
a couple of distributions; unfortunately not everybody has the time for this.
Luckily,
there is plenty of
advice on the subject of choosing your Linux. One place is LinuxJournal, which
discusses hardware
and support, among many other subjects. The Installation HOWTO also discusses
choosing your
distribution.
·
Linux is not very
user friendly and confusing for beginners:
In light of its
popularity, considerable effort has been made to make Linux even easier to use,
especially for new
users. More information is being released daily, such as this guide, to help
fill the
gap for
documentation available to users at all levels.
·
Introduction to Linux
Chapter 1. What is Linux? 12
Is an Open Source
product trustworthy?
How can something
that is free also be reliable? Linux users have the choice whether to use Linux
or
not, which gives
them an enormous advantage compared to users of proprietary software, who don't
have that kind of
freedom. After long periods of testing, most Linux users come to the conclusion
that
Linux is not only as
good, but in many cases better and faster that the traditional solutions. If
Linux
were not
trustworthy, it would have been long gone, never knowing the popularity it has
now, with
millions of users.
Now users can influence their systems and share their remarks with the
community,
so the system gets
better and better every day. It is a project that is never finished, that is
true, but in
an ever changing
environment, Linux is also a project that continues to strive for perfection.
·
1.5. Linux Flavors
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 dpkg packages 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 ·
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 PDF files. ·
GNU Photo: software
for interaction with digital cameras ·
Octave: a program to
calculate mathematical functions and images. ·
GNU SQL: relational
database system ·
If you publish or
distribute Opaque copies of the Document numbering more than 100, you must
either
include a machine−readable
Transparent copy along with each Opaque copy, or state in or with each Opaque
copy a publicly−accessible
computer−network location containing a complete Transparent copy of the
Document, free of
added material, which the general network−using public has access to
download
anonymously at no
charge using public−standard network protocols. If you use the latter
option, you must
Introduction to Linux
Appendix D. GNU Free Documentation License 183
take reasonably
prudent steps, when you begin distribution of Opaque copies in quantity, to
ensure that this
Transparent copy
will remain thus accessible at the stated location until at least one year
after the last time
you distribute an
Opaque copy (directly or through your agents or retailers) of that edition to
the public.
It is requested, but
not required, that you contact the authors of the Document well before
redistributing any
large number of
copies, to give them a chance to provide you with an updated version of the
Document.
D.5. Modifications
You may copy and
distribute a Modified Version of the Document under the conditions of sections
2 and 3
above, provided that
you release the Modified Version under precisely this License, with the
Modified
Version filling the
role of the Document, thus licensing distribution and modification of the
Modified Version
to whoever possesses
a copy of it. In addition, you must do these things in the Modified Version:
Use in the Title
Page (and on the covers, if any) a title distinct from that of the Document,
and from
those of previous
versions (which should, if there were any, be listed in the History section of
the
Document). You may
use the same title as a previous version if the original publisher of that
version
gives permission.
A.
List on the Title
Page, as authors, one or more persons or entities responsible for authorship of
the
modifications in the
Modified Version, together with at least five of the principal authors of the
Document (all of its
principal authors, if it has less than five).
B.
State on the Title
page the name of the publisher of the Modified Version, as the publisher. C.
Preserve all the
copyright notices of the Document. D.
Add an appropriate
copyright notice for your modifications adjacent to the other copyright
notices. E.
Include, immediately
after the copyright notices, a license notice giving the public permission to
use
the Modified Version
under the terms of this License, in the form shown in the Addendum below.
F.
Preserve in that
license notice the full lists of Invariant Sections and required Cover Texts
given in the
Document's license
notice.
G.
Include an unaltered
copy of this License. H.
Preserve the section
entitled "History", and its title, and add to it an item stating at
least the title, year,
new authors, and
publisher of the Modified Version as given on the Title Page. If there is no
section
entitled
"History" in the Document, create one stating the title, year,
authors, and publisher of the
Document as given on
its Title Page, then add an item describing the Modified Version as stated in
the previous
sentence.
I.
Preserve the network
location, if any, given in the Document for public access to a Transparent copy
of the Document, and
likewise the network locations given in the Document for previous versions it
was based on. These
may be placed in the "History" section. You may omit a network
location for a
work that was
published at least four years before the Document itself, or if the original
publisher of
the version it
refers to gives permission.
J.
In any section
entitled "Acknowledgements" or "Dedications", preserve the
section's title, and
preserve in the
section all the substance and tone of each of the contributor acknowledgements
and/or
dedications given
therein.
K.
Preserve all the
Invariant Sections of the Document, unaltered in their text and in their
titles. Section
numbers or the
equivalent are not considered part of the section titles.
L.
Delete any section
entitled "Endorsements". Such a section may not be included in the
Modified
Version.
M.
Do not retitle any
existing section as "Endorsements" or to conflict in title with any
Invariant Section. N.
If the Modified
Version includes new front−matter sections or appendices that qualify as
Secondary Sections
and contain no
material copied from the Document, you may at your option designate some or all
of these
Introduction to Linux
Appendix D. GNU Free Documentation License 184
sections as
invariant. To do this, add their titles to the list of Invariant Sections in
the Modified Version's
license notice.
These titles must be distinct from any other section titles.
You may add a
section entitled "Endorsements", provided it contains nothing but
endorsements of your
Modified Version by
various parties−−for example, statements of peer review or that the
text has been
approved by an
organization as the authoritative definition of a standard.
You may add a passage
of up to five words as a Front−Cover Text, and a passage of up to 25
words as a
Back−Cover
Text, to the end of the list of Cover Texts in the Modified Version. Only one
passage of
Front−Cover
Text and one of Back−Cover Text may be added by (or through arrangements
made by) any one
entity. If the
Document already includes a cover text for the same cover, previously added by
you or by
arrangement made by
the same entity you are acting on behalf of, you may not add another; but you
may
replace the old one,
on explicit permission from the previous publisher that added the old one.
The author(s) and
publisher(s) of the Document do not by this License give permission to use
their names for
publicity for or to
assert or imply endorsement of any Modified Version.
D.6. Combining documents
You may combine the
Document with other documents released under this License, under the terms
defined
in section 4 above
for modified versions, provided that you include in the combination all of the
Invariant
Sections of all of the
original documents, unmodified, and list them all as Invariant Sections of your
combined
work in its license
notice.
The combined work
need only contain one copy of this License, and multiple identical Invariant
Sections may
be replaced with a
single copy. If there are multiple Invariant Sections with the same name but
different
contents, make the
title of each such section unique by adding at the end of it, in parentheses,
the name of the
original author or
publisher of that section if known, or else a unique number. Make the same
adjustment to
the section titles
in the list of Invariant Sections in the license notice of the combined work.
In the combination,
you must combine any sections entitled "History" in the various
original documents,
forming one section
entitled "History"; likewise combine any sections entitled
"Acknowledgements", and any
sections entitled
"Dedications". You must delete all sections entitled
"Endorsements."
D.7. Collections of documents
You may make a
collection consisting of the Document and other documents released under this
License, and
replace the
individual copies of this License in the various documents with a single copy
that is included in
the collection,
provided that you follow the rules of this License for verbatim copying of each
of the
documents in all
other respects.
You may extract a
single document from such a collection, and distribute it individually under
this License,
provided you insert
a copy of this License into the extracted document, and follow this License in
all other
respects regarding
verbatim copying of that document.
Introduction to Linux
Appendix D. GNU Free Documentation License 185
D.8. Aggregation with independent works
A compilation of the
Document or its derivatives with other separate and independent documents or
works, in
or on a volume of a
storage or distribution medium, does not as a whole count as a Modified Version
of the
Document, provided
no compilation copyright is claimed for the compilation. Such a compilation is
called an
"aggregate",
and this License does not apply to the other self−contained works thus
compiled with the
Document, on account
of their being thus compiled, if they are not themselves derivative works of
the
Document.
If the Cover Text
requirement of section 3 is applicable to these copies of the Document, then if
the Document
is less than one
quarter of the entire aggregate, the Document's Cover Texts may be placed on
covers that
surround only the
Document within the aggregate. Otherwise they must appear on covers around the
whole
aggregate.
D.9. Translation
Translation is
considered a kind of modification, so you may distribute translations of the
Document under the
terms of section 4.
Replacing Invariant Sections with translations requires special permission from
their
copyright holders,
but you may include translations of some or all Invariant Sections in addition
to the
original versions of
these Invariant Sections. You may include a translation of this License
provided that you
also include the
original English version of this License. In case of a disagreement between the
translation and
the original English
version of this License, the original English version will prevail.
D.10. Termination
You may not copy,
modify, sublicense, or distribute the Document except as expressly provided for
under this
License. Any other
attempt to copy, modify, sublicense or distribute the Document is void, and
will
automatically
terminate your rights under this License. However, parties who have received
copies, or rights,
from you under this
License will not have their licenses terminated so long as such parties remain
in full
compliance.
D.11. Future revisions of this license
The Free Software
Foundation may publish new, revised versions of the GNU Free Documentation
License
from time to time.
Such new versions will be similar in spirit to the present version, but may
differ in detail to
address new problems
or concerns. See http://www.gnu.org/copyleft/.
Each version of the
License is given a distinguishing version number. If the Document specifies
that a
particular numbered
version of this License "or any later version" applies to it, you
have the option of
following the terms
and conditions either of that specified version or of any later version that
has been
published (not as a
draft) by the Free Software Foundation. If the Document does not specify a
version
number of this
License, you may choose any version ever published (not as a draft) by the Free
Software
Foundation.
Introduction to Linux
Appendix D. GNU Free Documentation License 186
D.12. How to use this License for your documents
To use this License
in a document you have written, include a copy of the License in the document
and put the
following copyright
and license notices just after the title page:
Copyright (c) YEAR
YOUR NAME. Permission is granted to copy, distribute and/or modify
this document under
the terms of the GNU Free Documentation License, Version 1.1 or any
later version
published by the Free Software Foundation; with the Invariant Sections being
LIST THEIR TITLES,
with the Front−Cover Texts being LIST, and with the Back−Cover
Texts being LIST. A
copy of the license is included in the section entitled "GNU Free
Documentation
License".
If you have no
Invariant Sections, write "with no Invariant Sections" instead of
saying which ones are
invariant. If you
have no Front−Cover Texts, write "no Front−Cover Texts"
instead of "Front−Cover Texts
being LIST";
likewise for Back−Cover Texts.
If your document
contains nontrivial examples of program code, we recommend releasing these
examples in
parallel under your
choice of free software license, such as the GNU General Public License, to
permit their
use in free
software.
Introduction to Linux
Appendix D. GNU Free Documentation License 187