Table of Contents
| Introduction | |
| Self-Assessment | |
| Ch. 1 | Linux+ Certification Tests | 1 |
| Ch. 2 | Linux Software Planning | 13 |
| Ch. 3 | Linux Hardware Planning | 35 |
| Ch. 4 | Basic Configuration | 59 |
| Ch. 5 | Installation Process | 83 |
| Ch. 6 | Package Installation and Configuration | 105 |
| Ch. 7 | Basics of the Shell | 129 |
| Ch. 8 | Commanding the Shell | 155 |
| Ch. 9 | Configuring Hardware | 175 |
| Ch. 10 | Services and Configuration Options | 199 |
| Ch. 11 | Basic System Administration | 219 |
| Ch. 12 | More System Administration | 243 |
| Ch. 13 | Linux Maintenance | 267 |
| Ch. 14 | Troubleshooting | 291 |
| Ch. 15 | Sample Test | 313 |
| Ch. 16 | Answer Key | 355 |
| App | GNU General Public License | 387 |
| Glossary | 395 |
| Index | 421 |
Read an Excerpt
Chapter 2: Linux Software Planning
Terms you'll need to understand:
- Source code
-
GNU
-
TCP/IP
-
Services
-
Apache
-
Cache
-
Squid
-
BIND
-
Ipchains, iptables
-
Samba
-
Sendmail
-
Distribution
-
Patch
-
Hardware Compatibility List
-
Upgrade
-
Binary
-
Kernel
-
General Public License
Techniques you'll need to master:
- Understanding the background
behind Linux
-
Describing the services that you
can use with Linux
-
Explaining the resources needed
to work with Linux
-
Comprehending the versatility of
Linux solutions
-
Understanding the reasons for
patching or upgrading the Linux
kernel
-
Working with the best practices
for documentation
Linux is a versatile operating system. It is installed in everything from high-end
servers to handheld devices and cellular telephones. You can find the same basic
Linux kernel in all of these devices, but you won't see exactly the same Linux
configuration in a server and a telephone.
As a Linux administrator, you need to understand what Linux can do so that you
can customize the software you install with Linux. Although this chapter won't
teach you how to install Linux on a telephone, it will help you learn enough about
various Linux services to know what to install on different types of server or
workstation computers.
Customer Needs
Linux is cheap. Linux is reliable. Linux is customizable. Linux is supported by a
world of developers. No other operating system has all of these advantages, yet
most of the computing world uses other operating systems.
Linux also has a number of disadvantages, however. Some of these disadvantages
are real; others are a matter of perception. As a Linux administrator, you may at
some point recommend Linux to your managers or customers. When you do so,
you need to be able to explain three things: why Linux (and not some other
operating system), what you can use Linux for, and what resources are required to
install and maintain Linux.
Why Linux
Linux was developed as a clone of the Unix operating system. To understand the
mania and strengths associated with Linux, you need to understand the development
of Unix.
Unix was developed in 1969 by Bell Labs, which was then the research arm of the
American Telephone and Telegraph Company (AT&T). At that time, AT&T
was a regulated monopoly and was prohibited from selling software. Therefore,
AT&T kept the license for Unix and, for a nominal fee, distributed it with the
programming instructions, or source code, to universities. It was a license without
a warranty. This release technique is now known as open source.
When the U.S. government settled its antitrust suit against AT&T in 1982, one
of the conditions allowed AT&T to get into the computer business. AT&T soon
started selling Unix for profit, without the source code, with all of the standard
protections associated with a copyright.
In response, Richard Stallman started the Free Software Foundation (FSF) in
1984 to develop an alternative to Unix. He wanted an operating system with all
of the functionality of Unix; to get around AT&T's copyrights, however, he needed
to develop this alternative without reference to Unix's source code. This type of software is sometimes known as a clone. By 1991, the FSF had developed clones
for all the major components of Unix except the kernel. When complete, this
operating system would be known as GNU, short for "GNU's Not Unix." Later
in this chapter you'll learn about the license he used to protect the developments
of the FSF.
Note: As strange as it sounds, GNU really does stand for "GNU's Not Unix." Linux
is filled many of these recursive acronyms. It is almost like a game to Linux developers,
intended perhaps as a jab at the normal way of doing things.
In 1991, Linus Torvalds wanted a free operating system that would work with his
386 Personal Computer. He developed what became known as the Linux kernel
and incorporated much of the work of the FSF to create a relatively complete
operating system that soon became known as Linux. Because it is a combined
work, the FSF believes that the Linux operating system is more properly known
as GNU/Linux.
Basic Capabilities
To understand what Linux can do also requires a history lesson. In the 1970s, the
U.S. department of Defense wanted to develop a communications network that
could survive a nuclear war. This required a network with multiple routes and a
network language in which messages could take advantage of those different routes
from the source to the destination. This redundant network was the precursor of
the Internet.
Most of this work was done at the same U.S. universities where Unix was popu-lar.
The computer scientists needed a common language to support this network
communication. The language they developed became known as the TCP/IP
protocol suite. (TCP/IP is an acronym for two protocols, Transmission Control
Protocol and Internet Protocol.) Because TCP/IP was developed on Unix, Linux
as a Unix clone carries all of Unix's advantages as an operating system for the
Internet.
To support Internet communication, a number of services were developed between
the 1970s and 1990s, including the following:
- Web service—Apache
- Proxy and caching service—Squid
- Domain Name Service—BIND
- Firewall utilities—ipchains, iptables
- Email—Sendmail
- Communications with Windows and IBM computers—Samba
Alert
Remember the function of each of the major Linux services. For
example, know that if you want to set up an email server, you need to
install the Sendmail service.
More information on each of these services is available later in this chapter. With
the help of these services, a Linux computer can be configured with several other
functions:
- File server—A centralized location for sharing files.
- Application server—A centralized location from which users can call up different
applications, such as word processors and spreadsheets.
- Print server—A computer connected to a printer that serves all connected
computers on a network.
- Router—A computer that serves as a junction between two networks, such as
a local area network (LAN) and the Internet.
Required Resources
Two levels of resources are required to support Linux: hardware and support. The
hardware depends on the Linux distribution. Mainstream distributions are available
for everything from 386 PCs with just a floppy drive to complex computers
with several central processing units (CPUs). The support required is different
from a "conventional" operating system because Linux does not come with a
warranty. In addition, the availability of the source code encourages users to make
their own changes.
Hardware resources are addressed throughout the book, as are software support
requirements.
There is a freedom associated with Linux that is based on minimal cost and on
access to the complete source code. With freedom comes responsibility, however.
If your Linux installation fails, Microsoft is not there to give you support. You
can either purchase support from a vendor such as Linuxcare or you can provide
the support yourself, which means you need people who know how to maintain
Linux.
Major Linux Services
If you have the resources, you can set up Linux for any or all of the previously
listed services and more. Linux can function for just one purpose, such as a Web
server, or it can function as a fully featured server and workstation, with all of the
capabilities of the most advanced operating systems. What you do with Linux depends in part on the hardware you have at your disposal. To understand what
you can do, you need to know about each of the major services in more detail....