TCA OpenSource Initiative
OpenSource
P O R T A L

[HOME]    [ABOUT]    [FORUM]    [NEWS]    [FAQ]    [TECHNICAL SUPPORT]    [CREDIT]    [LINKAGES]   

[BACK TO DOWNLOAD]   


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:

<[email protected]>

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

Hosted by www.Geocities.ws

1