Read an Excerpt
Chapter 2: Linux Software PlanningTerms you'll need to understand:
- Source code
- Ipchains, iptables
- Hardware Compatibility List
- General Public License
- 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
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 NeedsLinux 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 LinuxLinux 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 CapabilitiesTo 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
- Communications with Windows and IBM computers—Samba
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 ResourcesTwo 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.