The traditional way to begin a book like this is to provide a list of system administration tasks—I’ve done it several times myself at this point. Nevertheless, it’s important to remember that you have to take such lists with a grain of salt. Inevitably, they leave out many intangibles, the sorts of things that require lots of time, energy, or knowledge, but never make it into job descriptions. Such lists also tend to suggest that system management has some kind of coherence across the vastly different environments in which people find themselves responsible for computers. There are similarities, of course, but what is important on one system won’t necessarily be important on another system at another site or on the same system at a different time. Similarly, systems that are very different may have similar system management needs, while nearly identical systems in different environments might have very different needs.
But now to the list. In lieu of an idealized list, I offer the following table showing how I spent most of my time in my first job as full-time system administrator (I managed several central systems driving numerous CAD/CAM workstations at a Fortune 500 company) and how these activities have morphed in the intervening two decades.
Table 1-1. Typical system administration tasks
Then: early 1980s
Now: early 2000s
Adding new users.
I still do it, but it’s automated, and I only have to add a user once for the entire network. Converting to LDAP did take a lot of time, though.
Adding toner to electrostatic plotters.
Printers need a lot less attention—just clearing the occasional paper jam—but I still get my hands dirty changing those inkjet tanks.
Doing backups to tape.
Backups are still high priority, but the process is more centralized, and it uses CDs and occasionally spare disks as well as tape.
Restoring files from backups that users accidentally deleted or trashed.
This will never change.
Answering user questions (“How do I send mail?”), usually not for the first or last time.
Users will always have questions. Mine also whine more: “Why can’t I have an Internet connection on my desk?” or “Why won’t IRC work through the firewall?”
Monitoring system activity and trying to tune system parameters to give these overloaded systems the response time of an idle system.
Installing and upgrading hardware to keep up with monotonically increasing resource appetites.
Moving jobs up in the print queue, after more or less user whining, pleading, or begging, contrary to stated policy (about moving jobs, not about whining).
This is one problem that is no longer an issue for me. Printers are cheap, so they are no longer a scare resource that has to be managed.
Worrying about system security, and plugging the most noxious security holes I inherited.
Security is always a worry, and keeping up with security notices and patches takes a lot of time.
Installing programs and operating system updates.
Trying to free up disk space (and especially contiguous disk space).
The emphasis is more on high performance disk I/O (disk space is cheap): RAID and so on.
Rebooting the system after a crash (always at late and inconvenient times).
Systems crash a lot less than they used to (thankfully).
Straightening out network glitches (“Why isn’t hamlet talking to ophelia?”). Occasionally, this involved physically tracing the Ethernet cable around the building, checking it at each node.
Last year, I replaced my last Thinnet network with twisted-pair cabling. I hope never to see the former again. However, I now occasionally have to replace cable segments that have malfunctioned.
Rearranging furniture to accommodate new equipment; installing said equipment.
Machines still come and go on a regular basis and have to be accommodated.
Figuring out why a program/command/account suddenly and mysteriously stopped working yesterday, even though the user swore he changed nothing.
Users will still be users.
Fixing—or rather, trying to fix—corrupted CAD/CAM binary data files.
The current analog of this is dealing with email attachments that users don’t know how to access. Protecting users from potentially harmful attachments is another concern.
Going to meetings.
No meetings, but lots of casual conversations.
Adding new systems to the network.
This goes without saying: systems are virtually always added to the network.
Writing scripts to automate as many of the above activities as possible.
Automation is still the administrator’s salvation.
As this list indicates, system management is truly a hodgepodge of activities and involves at least as many people skills as computer skills. While I’ll offer some advice about the latter in a moment, interacting with people is best learned by watching others, emulating their successes, and avoiding their mistakes.
Currently, I look after a potpourri of workstations from many different vendors, as well as a couple of larger systems (in terms of physical size but not necessarily CPU power), with some PCs and Macs thrown in to keep things interesting. Despite these significant hardware changes, it’s surprising how many of the activities from the early 1980s I still have to do. Adding toner now means changing a toner cartridge in a laser printer or the ink tanks in an inkjet printer; backups go to 4 mm tape and CDs rather than 9-track tape; user problems and questions are in different areas but are still very much on the list. And while there are (thankfully) no more meetings, there’s probably even more furniture-moving and cable-pulling.
Some of these topics—moving furniture and going to or avoiding meetings, most obviously—are beyond the scope of this book. Space won’t allow other topics to be treated exhaustively; in these cases, I’ll point you in the direction of another book that takes up where I leave off. This book will cover most of the ordinary tasks that fall under the category of “system administration.” The discussion will be relevant whether you’ve got a single PC (running Unix), a room full of mainframes, a building full of networked workstations, or a combination of several types of computers. Not all topics will apply to everyone, but I’ve learned not to rule out any of them a priori for a given class of user. For example, it’s often thought that only big systems need process-accounting facilities, but it’s now very common for small businesses to address their computing needs with a moderately-sized Unix system. Because they need to be able to bill their customers individually, they have to keep track of the CPU and other resources expended on behalf of each customer. The moral is this: take what you need and leave the rest; you’re the best judge of what’s relevant and what isn’t.