10 Steps to Becoming a UNIX Administrator
Notwithstanding the level of coverage given to Windows NT by the popular press, UNIX systems stand at the core of most mid-sized and large organizations. These systems run everything from mission-critical database applications to dazzling Web sites. The task of keeping these systems humming falls on the shoulders of the UNIX systems administrator. While the job description for a UNIX systems administrator may vary between organizations, the job carries a fair degree of respect within the industry; is often harried, but satisfying; and is reasonably well-paid. Becoming a UNIX systems administrator is thus a career goal worth striving for. Getting there, however, can be a challenge. This article is dedicated to the casual or first-time reader of the magazine who has not yet reached wizard status, but could use a little help on how to get there.
UNIX system administration is one of the few master/apprentice jobs still in existence, much like the old apothecary in medieval times. Usually, on-the-job training for a new apprentice is about the only training offered. Most organizations cannot afford to have a sys admin out for a week of vacation, much less for several week-long training sessions. However, times are changing. UNIX administration is now being taught at schools and employers now emphasize academic credentials and certification. The apprenticeship method of training, however, has produced many skilled administrators in the market place. Employers are starting to realize that the background, self-training, and the expected job performance is difficult to maintain for any system administrator. System administration is starting to be considered a career path, and professional salaries are beginning to be more consistent with the level of the skills required.
For those who have not yet obtained the wizard's wand of a UNIX system administrator, here are 10 steps toward achieving that goal:
1. Learn UNIX Basics
Learn at least 80 basic commands of the UNIX system (for example, cp, and mv). Know the file system structure and where files and directories are located in the hierarchy and why. Learn how to create, modify, and store files using vi and the basics of customizing the UNIX user interface.
- Attend a 40-hour course on the fundamentals of UNIX, or
- Attend an Introduction to UNIX class taught at a local college
- Read UNIX System Administration Handbook by Evi Nemeth, Garth Snyder, Scott Seebass, and Trent R. Hein. Prentice Hall. ISBN 0131510517
- Read Life with UNIX: A Guide for Everyone by Don Libes and Sandy Ressler. Prentice Hall. ISBN 0135366577
- Read Learning the VI Editor (Nutshell Handbook) by Linda Lamb. O'Reilly and Associates. ISBN 0937175676
- Read Essential System Administration, 2nd Edition (Nutshell Handbook) by Æleen Frisch. O'Reilly and Associates. ISBN 1565921275
2. Go Beyond the Basics
Learn more about vi and more of the command set, including df, more, and rm. Learn the ksh and sh environment including .profile and .kshrc. Know the boot up and shutdown procedures as well as the backup and restore procedures, and learn the system administration tools on your system.
- Attend a 40-hour course on UNIX Operations/Administration taught by the vendor of the UNIX that you are using
- Read Learning the Korn Shell (Nutshell Handbook) by Bill Rosenblatt. O'Reilly and Associates. ISBN 1565920546
- Read The Korn Shell: User and Programming Manual by Anatole Olczak. Addison-Wesley Publishing Company. ISBN 0201176882
- Read all man pages on the UNIX system
3. Learn Shell and Shell-Language Programming
Learn how to write shell scripts, Use "for" loops and "if" statements; use awk, sed, ed, cat, and grep commands and learn to pass information to and from shell variables.
- Attend a UNIX Shell programming class
- Read The AWK Programming Language by Alfred V. Aho, Brian W. Kernighan, and Peter J. Weinberger. Addison-Wesley Publishing Company. ISBN 020107981X
- Read UNIX Shell Programming (Hayden Books UNIX System Library) by Stephen G. Kochan and Patrick H. Wood. Hayden Books. ISBN 067248448X
- Read UNIX in a Nutshell: A Desktop Quick Reference for System V and Solaris 2.0 (Nutshell Handbook) by Daniel Gilly. O'Reilly and Associates. ISBN 1565920015
- Read Learning Perl, 2nd Edition (Nutshell Handbook) by Randal L. Schwartz and Tom Christiansen, Foreword by Larry Wall. O'Reilly and Associates. ISBN1565922840
- Read Advanced Perl Programming (Nutshell Handbook) by Sriram Srinivasan. O'Reilly and Associates. ISBN 1565922204
4. Become One with Your UNIX System
Install and configure a UNIX system from scratch. Make and mount file systems. Use cron to execute program or shell scripts, and configure UNIX for printing. Learn more about UNIX permissions. Learn what each daemon does that is running on your system. Learn Linux.
- Read all the UNIX manuals that come with your system
5. Learn DNS and BIND
Learn the Domain Name System (DNS) and Berkeley Internet Name Domain (BIND) and know how to use nslookup, whois, and dig.
Read DNS and BIND by Paul Albitz and Cricket Liu. O'Reilly and Associates. ISBN 1565922360
6. Become a Mail Master
Configure UNIX to dial out on a modem. Learn about sendmail, mail, and UUCP. Configure UNIX to send email to another system.
- Attend a sendmail class. http://www.harker.com has one of the best sendmail and DNS classes.
- Read Using & Managing UUCP (Nutshell Handbook) by Ed Ravin, Dale Dougherty, Grace Todino, and Tim O'Reilly. O'Reilly and Associates. ISBN 1565921534
- Read Sendmail (Nutshell Handbook) by Bryan Costales and Eric Allman. O'Reilly and Associates. ISBN 1565922220
7. Learn Networking
Learn the TCP/IP layers as well as the OSI model. Learn the applications telnet and ftp, and know what SNMP and SMTP are. Learn about routers and bridges, and how to configure subnet masking. Also read about arp, rarp, bootp, ip, icmp, rip, tcp, udp, bftp, and tftp.
- Attend a TCP/IP class
- Read Internetworking with TCP/IP: Design, Implemenation, and Internals, Vol. 2 by Douglas E. Comer and David L. Stevens. Prentice Hall. ISBN 0131255274
- Read Internetworking with TCP/IP: Principles, Protocols, and Architecture, Vol. 1 by Douglas E. Comer. Prentice Hall. ISBN 0132169878
- Read Advanced Programming in the UNIX Environment (Addison-Wesley Professional Computing Series) by W. Richard Stevens. Addison-Wesley Publishing Company. ISBN 0201563177
- Read TCP/IP Illustrated, Volume 1: The Protocols (Addison-Wesley Professional Computing Series) by W. Richard Stevens. Addison-Wesley Publishing Company. ISBN 0201633469
8. Learn the Ns (NFS and NIS) and Outs of UNIX
Learn NFS and NIS/NIS+; know how to use hard links and symbolic links. Learn rcp, rlogin, and rsh commands. Revisit shell programming and brush up on using and redirecting the standard-out and standard-error outputs of the UNIX shell.
- Read Managing NFS and NIS by Hal Stern and Mike Loukides (Editor). O'Reilly and Associates. ISBN 0937175757
9. System Tuning and Accounting
Learn about UNIX system performance tuning and how to make changes to, and rebuild, the kernel. Learn the accounting packages that come with your UNIX system.
- Read System Performance Tuning by Mike Loukides. O'Reilly and Associates. ISBN 0937175609
- Read Unix Performance Tuning (Sys Admin Essential Reference Series) by Sys Admin Magazine (Editor). Miller Freeman Books. ISBN 0879304707
10. C the Light
Learn C programming on UNIX; know how to use make. Port programs between UNIX systems.
- Attend a Beginning C class
- Attend an Advanced C class
- Attend a System Programming C class
- Read UNIX: Network Programming by W. Richard Stevens. Prentice Hall. ISBN 0139498761
- Reference Using C on the UNIX System (Nutshell Handbook) by D. Curry. O'Reilly and Associates. ISBN 0937175234
- Reference The C programming Language: ANSI C Version by Brian W. Kernighan and Dennis M. Ritchie. Prentice Hall. ISBN 0131103628
- Reference Managing Projects with Make (Nutshell Handbook) by Andrew Oram and Steve Talbott. O'Reilly and Associates. ISBN 0937175900
These books can be found at http://www.amazon.com or http://www.ora.com.
About the Author
Russ is a UNIX consultant with Plexnet. He can be reached at: email@example.com.