Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Choosing a Unix System Administration Textbook?

Posted by timothy on Saturday April 19, @05:59PM
from the think-unix-needs-an-update dept.
Smantha writes "I recently began teaching a Unix System Administration course at a community college. The previous instructor was using a very outdated textbook, and I'm trying to find one that is a bit more advanced and useful for my students. They are required to take a 100-level Unix class before this one and are familiar with the basics of using the command line. I'm looking for something that covers topics such as OS installation, software/package installation, user management, system administration tools, troubleshooting techniques and tools, service configuration (network services, for example) and some miscellaneous topics such as compression/archive tools, grep, make, and the like. What books have you found to be good references on your desk? What books have been good for learning these sorts of topics?"

Related Stories

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Define "too old".

    For an entry level class, you need to start with the classic: UNIX System Administration Handbook (3rd Edition, 2000) by Evi Nemeth, et al. If you want to focus on linux, you can go with Linux Administration Handbook (2nd Edition, 2006) by the same authors.

    Once you learn the basics, you need to pick a flavor and dive in with more "up to date" stuff. Something that covers zones, smf and zfs for solaris folks. I'm sure there are new features to linux, but I cant think of any at the OS level that dont vary widely by distro :-) (dont get me started, my biggest annoyance with "linux" is that everybody follows their own "standard" for how to configure the system.)

    Unix is 30+ years old and the basics still have not changed in a very, very long time. Its like complaining that a programing class is still using a 10+ year old book to explain looping and variable scoping.

    • UNIX for Managers. By Steve Ballmer [Flying Chair Press] 2005

      Eunuchs by Dummies - Lorena Bobbitt [Scissor press} 1993

      The Fry and I, attributed to either Richard Stallman or some guy over at the returns desk at Frys.
    • I think that's the best book out there. Just make sure you get the most recent edition. I had the 1st or second edition, which covered pre-Solaris SunOS, BSD 4.x on a Vax, and System V on an AT&T 3B-whatever. Their more recent editions include Linux, S
  • by hahiss (696716) on Saturday April 19, @06:14PM (#23130304) Homepage
    I would have to say that, hands down, the best actual (i.e. dead tree) books I've gotten on these subjects come from O'Reilly.

    In particular, I'd recommend Unix Power Tools or Essential System Administration.
      • Re: (Score:2, Informative)

        The sysadmin class I'm taking right now uses Essential System Administration. Its doesn't function as a textbook in the same vain as math textbooks, but for required reading dished out by the teacher I think it works quite well.
  • Info and man pages are incredibly useful, and your students will need to learn how to read their at some point. Beyond that, google is the resource for system administrators these days. Philosophy is found elsewhere, but the nuts and bolts of configurati
    • Re: (Score:3, Insightful)

      I fully agree. I'll take a HOWTO over a book any day!

    • Now, I'm no Unix guru, but I think this is a good point.
      Using the FreeBSD handbook [freebsd.org] I was able to go from zero POSIX experience to a comfortable use of the system, while taking care of the installation & setup process by myself. You just need to come up
    • while man and info are useful to find out what something does or how to use it, A short course at my uni on Unix taught me a lot more on the basics than I expected. The teacher did refer us to man & info for more information and apropos to find command
      • Re: (Score:3, Insightful)

        also choose bash/tsh based on your audience, if its a mac crowd tsh is going to be more useful but if its a linux crowd stick with bash

        Do you mean tcsh? I sincerely hope noone writes shell scripts in csh or tcsh these days. I still kind of like tcsh as a

      • If Google goes down, Windows Live Search still works. Not as well or as unobtrusively, but man.. if you're in a pinch and your books just burned in a fire and you need to get a map to the hospital burns unit.. I think we would all go there.
  • Recommendations (Score:5, Informative)

    by Saint Aardvark (159009) on Saturday April 19, @06:17PM (#23130338) Homepage Journal

    First off, you can't go wrong with Essential System Administration [oreilly.com], 3rd Edition by Aeleen Frisch. Really, really excellent book.

    But just as important as the specifics of Unix, I'd argue, is the general question of how to be a good sysadmin. ("Start by installing Linux" is my usual smart-ass answer, but I'll skip that for right now...) The Practice of System and Network Administration, 2nd Edition [amazon.com], by Tom Limoncelli, Christine Hogan and Strata Chalup, is a truly excellent book about how to be a good sysadmin in the general case. I can't recommend it enough. (BTW, the link for the book comes from the authors' website [everythingsysadmin.com], so I presume it throws them a few nickels if you buy it that way.)

    • I'll second the recommendation of "The Practice of System and Network Administration". It outlines not only what you should do, but why, and with plenty of examples of what can go wrong or right. Combine it with your own exercises to implement the specif
    • Re:Recommendations (Score:4, Insightful)

      by digitalhermit (113459) on Sunday April 20, @12:34AM (#23132578) Homepage
      Excellent advice...

      I'd also recommend "Time Management for System Administrators". It's one of the best books I've read and has helped me immensely in prioritizing and scheduling my work.
  • by intrico (100334) on Saturday April 19, @06:49PM (#23130586) Homepage
    Also, you really should not expect there to be one great textbook for such a broad topic. Things like HTTP-server configuration, DNS configuration, POP/SMTP server admin, Security, shell scripting etc. are all separate focal points of system administration that each command entire multiple books and can each easily cover a whole semester on their own.

    The best route for teaching an entry-level class is probably to teach your students a popular shell such as Bash with a book like Learning the bash Shell, Third Edition [O'reilly publishing]. Shell interaction is really the most important fundamental skill for a UNIX systems administrator. (i.e., a sysadmin will have to be proficient with the Shell before he or she can do other critical things like securing the system, network configuration or installing software).
  • Linux+ (Score:2, Informative)

    Linux+ guide to linux certification http://www.amazon.com/Linux%2B-Guide-Linux-Certification-Second/dp/0619216212/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1208645101&sr=8-1 [amazon.com] It worked very well and is extremely comprehensive. With some linux experie
  • by HomerJ (11142) on Saturday April 19, @07:08PM (#23130702)
    It seems like you have an idea of what you want this class to be. The idea isn't to just pick a text because it's "good". It's to pick a book that has the same ideas you want to teach. You may find a "good" textbook, and just don't believe in certain philosophies in the book. You don't want to keep having to go "well, it's like this in the book, but it's better to do it my way". If you've fleshed out your ideas into actual lesson plans, it may just be better to bypass a book, and strictly go on course notes. Like I said, the main factor in this will be finding a book that melds with what you want to do.

    Books people have mentioned, such as the ORA books, ARE good references. But they aren't text books, and it probably isn't a good idea to use them like one.

    My suggestion, would be to read though some of the options here. However, if none match with what you planned, good course notes and classroom time would be the better idea. Especially if there are ideas that a book present that go against what you are teaching. You don't want students that have two conflicting ideas about a topic.
  • I understand that in an academic environment the powers that be demand you have a textbook, but why not teach them yourself and have a textbook for reference?

    I once had a class where the instructor said there wasn't any decent textbook but the administrat

    • by techno-vampire (666512) on Saturday April 19, @08:50PM (#23131392) Homepage
      That instructor was not only good, he was more honest than most people would have been in his position. The normal response to that situation is to write your own text book, require that all your students use it and come out with new editions regularly with only minor changes to keep them from buying used copies. Many professors have financed their retirements by doing exactly that.
      • Re: (Score:3, Insightful)

        And the worst professors will have "lectures" where they recite word-for-word the information contained in the textbook, making the students feel like they've wasted time, money, and their own sense of worth.

        Christ, university can be soul crushing.
  • Mark Sobell (Score:3, Informative)

    by bmo (77928) on Saturday April 19, @07:28PM (#23130808)
    I tend to find Mark Sobell's books excellent, in that they are plain-spoken and *not boring*

    Someone up there mentioned "Install linux" as a snarky answer. There's no substitute for hands-on. Even for those that don't want to actually install Linux, there are Live CDs and VMWare images.

    Oh yeah, and just because something is old doesn't mean it's useless. Sometimes the old stuff saves one's butt when you can't find a click-and-drool interface for what you need to do. Look at the butt-saving stuff in the old textbook and see if the new texts cover 'em.

    --
    BMO

  • by Anonymous Coward on Saturday April 19, @07:29PM (#23130818)
    'tis a good textbook - I use it for the SysAdmin class that i'm teaching.

    Revolving around install/configure/run a Debian VMWare machine, sitting on the live internet.

    this textbook provides useful stuff that students wouldn't find in the how-to on the internet - the kind of stuff you'd want to know before becoming a sysadmin.

    The one other resource i'd love my students to master is google.

    pointless questions solved with one quick google search

    arrg, why dont they teach Effective Google searching in CS1000
  • by arcade (16638) on Sunday April 20, @02:36AM (#23132982) Homepage
    Okay, so you want to teach people Unix.

    First off, it's important that you know unix yourself. Then it is important to explain the unix philosophy, and start with the basics. Since I do a bit of unix teaching, I think I'll put forward how I prefer to teach my pupils.

    First off, it's important that they know the basic philosophy.
      - Everything is a file
      - Many small utilities, that does its own little thing
      - Utilities can be combined.

    Choose a decent shell, and teach them how to use it. bash seems to be the industry standard, so go for that (or go for whatever you want, but be certain that you know it yourself).

    Then teach them about STDIN, STDOUT and STDERR.

    Explain that each utility they launch have those three file descriptors. Teach them pipes. Explain that pipes connects STDOUT from one process to STDIN of another. Explain that you can redirect STDERR to STDOUT to include it in the pipe. Explain that you can connect STDOUT to a file. Explain that you can connect a file to STDIN.

    Explain command line substitution (backticks).

    Then go forth and explain the basic utilities. Explain how to use 'man' and 'apropos' (or man -k). Explain the other basics such as cat, grep, cut, tr, find, xargs, df, kill (man signal), pkill, the evils of killall, ifconfig, netstat, and so forth. Explain how you can use pipes with these utilities. When they've mastered the basic utilities, move on to explaining sed and awk.

    When they've understood these basics, which they should after some 3-4 lectures + training sessions - they can move on to the more advanced stuff.

    Explain about filesystem hiarchies. Explain the basics of filesystems and what inodes are. Explain atime, mtime, ctime. Explain how to use fdisk (or format if solaris). Explain how to create filesystems - and why inode density might be important. Explain why it's important with different partitions / disks. Then move on to explaining volume management.

    At some point, they should read "Learning the bash shell" (or a similiar book for other shells), and learn shell scripting.
    At some point, they should choose themselves another scripting language, be it perl, python, ruby or something else.

    After they are past these basics, you should start talking about actual system administration. They are now ready to move on to topics such as how to configure syslogging, NFS and how to configure the local mailer daemon. After that they should now have had to touch the MX records, and DNS might pique their interest. Teach them bind. Then teach them another DNS daemon just to show that there are more of them. djbdns might be a good alternative.

    If you're evil, this might be a good time to teach them to hate printing by trying to explain to them how to configure a print-server. Make sure there are some evil printers around. It's important to teach them about both postscript-printers and the evils of non-postscript printers.

    After all this, they should have a toolchest big enough to be able to do the rest themselves. They're ready to be self-taught for the rest of whatever they need to do.
  • Rute (Score:3, Interesting)

    by agristin (750854) on Sunday April 20, @03:41PM (#23136116) Journal
    I would use Rute by Paul Sheer:

    http://linux.2038bug.com/rute-home.html [2038bug.com]

    http://rute.2038bug.com/index.html.gz [2038bug.com]

    Rute is a "Rute is a technical reference and teaching tool for new GNU/Linux users as well as advanced administrators". It is available online and in book format. It is copyright 2002, so it isn't terribly out of date.

    It is a good curriculum for linux users or administrators. If you don't like the way it is setup you could get the online copy and change it.

    The only thing I'd be worried about in terms of datedness is LPI/RHCE certification. I doubt it would get you through RHCE as it now covers SELinux as well which is not really covered in Rute.