UNIX System Administration Handbook - Evi Nemeth [12]
1.1 SUGGESTED BACKGROUND
We assume in this book that you have a certain amount of UNIX experience. In particular, you should have a general concept of how UNIX looks and feels from the user’s perspective before jumping into administration. There are several good books that can get you up to speed; see the reading list on page 11.
You perform most administrative tasks by editing configuration files and writing scripts, so you must be familiar with a text editor. We strongly recommend that you learn vi. It is standard on all UNIX systems, and though it may appear a bit pale when compared with glitzier offerings such as emacs, it is perfectly usable. If you become addicted to another editor, you may soon tire of dragging it along with you to install on every new system. To the dismay of many, using Microsoft Word as one’s only text editor is a significant impediment to effective system administration.
One of the mainstays of UNIX administration (and a theme that runs throughout this book) is the use of scripts to automate administrative tasks. To be an effective administrator, you must be able to read and modify sh scripts. Scripts that you write from scratch can be written in the shell or scripting language of your choice.
For new scripting projects, we recommend Perl. As a programming language, it is a little strange (OK, more than a little). However, it does include many features that are indispensable for administrators. The O’Reilly book Programming Perl by Larry Wall et al. is the standard text; it’s also a model of good technical writing. A full citation is given on page 11.
We also recommend that you learn expect, which is discussed in a bit more detail starting on page 519. You will most likely pick up expect quite rapidly.
1.2 THE SORDID HISTORY OF UNIX
UNIX originated as a research project at AT&T Bell Labs in 1969. In 1976, it was made available at no charge to universities and thus became the basis of many operating systems classes and academic research projects.
In the late 1970s, AT&T created its UNIX Support Group (USG, later spun off as Unix System Laboratories, USL) to deploy UNIX as a commercial product. Bell Labs and USG both continued the development of UNIX, but the two groups’ efforts diverged. USL’s releases, System III and System V, were widely distributed and have had a proportionately greater impact on modern systems.
Berkeley UNIX began in 1977 when the Computer Systems Research Group (CSRG) at the University of California, Berkeley, licensed code from AT&T. Berkeley’s releases (called BSD, for Berkeley Software Distribution) began in 1977 with 1BSD for the PDP-11 and culminated in 1993 with 4.4BSD.
Source licenses for AT&T releases were always expensive for nonacademic users. At first, the licenses were cheap or free for universities, but as UNIX gained commercial acceptance, the price rose rapidly. Eventually, Berkeley set the long-term goal of removing AT&T’s code from BSD, a tedious and time-consuming process. Before the work could be completed, Berkeley lost funding for operating systems research and the CSRG was disbanded.
Before collapsing, the CSRG released its final collection of AT&T-free code, known as 4.4BSD-Lite. Most current versions of BSD UNIX (including BSD/OS, FreeBSD, NetBSD, and OpenBSD) claim the 4.4BSD-Lite package as their grandparent.
Although BSD and System V are the core systems from which most other versions of UNIX are derived, neither of these “pure” systems was ever much of a force in the commercial market. Typically, a vendor would start with a vanilla AT&T or BSD system and proceed to develop it independently. Some vendors didn’t want to commit to one flavor of UNIX and supported both or developed hybrids that combined both sets of features. Not surprisingly, these UNIX variants tended to diverge from one