Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Unix Operating Systems Software Education GNU is Not Unix IT

Choosing a Unix System Administration Textbook? 57

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?"
This discussion has been archived. No new comments can be posted.

Choosing a Unix System Administration Textbook?

Comments Filter:
  • by segfaultcoredump ( 226031 ) on Saturday April 19, 2008 @06:12PM (#23130276)
    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.

    • Good calls. The Nemeth books are quality.
    • Re: (Score:2, Funny)

      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.
    • by 680x0 ( 467210 )
      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, Solaris, and probably others (FreeBSD? AIX?).
      • I learned from the second edition (red cover) circa 1995 for SunOS and Solaris, on the advice (and tutoring) of the two senior sysadmins at my work.

        I'm currently teaching my neighbor FreeBSD using the third edition (purple cover).

        The latest version still covers UNIX in a generic sense, with specifics needed for Solaris, HPUX, Linux and FreeBSD.
    • You are in the right ballpark of thought.. A good way for apprehending the bug UNIX is by focusing on POSIX. It is the standard by which some of the most modern systems (except MSFT... they wont conform) are compared to. Plus since posix is huge.. there is a lot to learn.
    • Agree with the Nemeth book, never leave home without it. Supplement this with a spare PC and a few cheap disks / other peripherals, then pick a number of Unix versions you can get for free then spend a bit of time doing all the commercial hosting oriented stuff to it. Build it, tear it down, play with disks, backups, scripts for all sorts of maint, build Apache and other standards, drag it, drop it, treat it like an object... basically use the bejeezus out of until you learn all the little twinks the book
    • by nurb432 ( 527695 )


      (dont get me started, my biggest annoyance with "linux" is that everybody follows their own "standard" for how to configure the system.)
      Thats why some of us use Fbsd. Its at least consistent. Nor do you have to worry about your 'favorite linux distro' going up in flames someday due to lack of interest.
  • by hahiss ( 696716 ) on Saturday April 19, 2008 @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.
    • But how well do they work as textbooks?
      • Re: (Score:2, Informative)

        by surgen ( 1145449 )
        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.
        • by unitron ( 5733 )

          "...in the same vein..."

          I'm assuming a simple typo on your part, but others may need to be informed as to which word you actually meant.

  • 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 configuration are usually found on the software's website.

    Any book you get will be outdated and you will be making poor students spend $50 that they don't have.
    • Re: (Score:3, Insightful)

      by 26199 ( 577806 ) *

      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 with some excercises and let the students figure them out using the #1 UNIX Principle: RTFM.
    • Re: (Score:1, Insightful)

      by Anonymous Coward
      If you would like to work at Google someday, you will need to demonstrate to them that you can get Google's servers back up and running... without being able to Google things. ;-)

      It's helpful to have a dead-tree reference for a piece of software or hardware that you'll be using often.
      • Your post made my day.
      • by NekoXP ( 67564 )
        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.
    • Re: (Score:3, Informative)

      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 commands, but he did have a lot of useful information that cant be found in manuals or specifications.

      p.s 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
      • Re: (Score:3, Insightful)

        by jgrahn ( 181062 )

        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 an interactive shell, but it's a dead end for scripting.

        Also, I like bash scripting, but you should primarily teach the POSIX shell subset. Even Linux distributions try to avoid bashisms in their scripts.

      • by Ster ( 556540 )

        p.s 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

        OS X *used* to have tcsh as the default shell, but now it uses bash. But I agree with jgrahn [slashdot.org]:

        I sincerely hope noone writes shell scripts in csh or tcsh these days. I still kind of like tcsh as an interactive shell, but it's a dead end for scripting.

        I use tcsh for my interactive shell, but all my scripts are in plain old Bourne (no, not bash, sh!). If i have to loop or something in an interactive context, I end up doing it inside a 'sh -c' block. :-)


  • Recommendations (Score:5, Informative)

    by Saint Aardvark ( 159009 ) on Saturday April 19, 2008 @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.)

    • by danpat ( 119101 )
      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 specific practices it lays out and you'll be well on your way to producing some fine sysadmins, IMO.
    • Re:Recommendations (Score:4, Insightful)

      by digitalhermit ( 113459 ) on Sunday April 20, 2008 @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.
    • Both of these books are *excellent* and I would recommend them both as texts for a unix sysadmin class.
    • by dsavage ( 645882 )
      I would say yes to both of those, but also include The Unix Philosophy by Mike Gancarz... But then again, I think that every SysAdmin or programmer should read that book. It's short, but a good read.
    • by NateTech ( 50881 )
      Too bad their website looks like it was written by a couple of teenagers in a basement. And their "Articles by" section hasn't seen a new article (if you can even find them) since 2002.

      I'm turned off. The text in the sample chapter on the site is cutesy "How do I fix spots on my dishes?" and while entertaining, very unprofessional.
  • by Anonymous Coward
  • by intrico ( 100334 ) on Saturday April 19, 2008 @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)

    by AmonEzhno ( 1276076 )
    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 experience, you might have to jump around a bit in the beginning. Avoid the activities at the end of the chapters though, just use the included labsim software. The book is a little pricey and the labsim does not work in wine, but the book is very concise and rea
    • Is this what your post seems to imply - a book about how to use unix that comes with software which only runs on windows? WTF - Who is the publisher? Microsoft Press?
      • Haha, trust me the irony of it is disgusting. I almost couldn't take the class because of it, but I scraped together some spare parts and have a little XP box that I made to do it. It's really a shame because the software is actually pretty good. I tried to get it to run in WINE, but I'm not so good with the WINE so it only got to about half working, I'm sure if someone who knew what they where doing they could get it to run.
  • by HomerJ ( 11142 ) on Saturday April 19, 2008 @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 administration demanded that he have one. He told us to get some really cheap ass book that had all the information that he taught. BUT....it DID NOT have the information in the style this brilliant teacher could give. In other words, we listened, took notes, asked q

    • by techno-vampire ( 666512 ) on Saturday April 19, 2008 @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)

        by mewsenews ( 251487 )
        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, 2008 @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.


  • by Anonymous Coward on Saturday April 19, 2008 @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, 2008 @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.
  • Definitely take a look at the second edition of O'Reilly's LPI Linux Certification in a Nutshell. The table of contents [oreilly.com] shows great overlap with the topics you're interested in.
  • While there are plenty of books out there on Unix, not all of them cover all flavours of Unix. Sometimes you are better off getting something that covers one flavour well, or be happy with one that is a good compromise of all of them. The book I have is Essential System Administration [oreilly.com]. It is a good book, but there are are certainly times that I would like a bit more depth on certain subjects, but when that need arises I usually head off to the internet.
  • Thanks for all the advice, guys! I have tossed around the idea of going without a textbook, but, in that case, I'd at least like a good reference book so that those that don't learn well from hearing something spoken will have something written to lean on. As for the "install Linux" idea - that's day 2 of my lesson plan. I bring in a bunch of disks (various flavors of Linux) and set them loose. The comments suggesting "the basics" are correct, but as the OP notes, there is a 100-level class that they tak
    • Ubuntu desktop guide (its free and useful for newbies) and the Nameth books.
      If you want them to really *get it*, bring out the old Linux From Scratch stuff.
    • In the case of wanting a reference book instead of something like the two I seconded the recommendations of above, I would have to recommend UNIX in a Nutshell [oreilly.com]. There is no better printed UNIX reference out there. Some of the chapter topics include the commands themselves, various shells, editors (this is super important), pattern matching, make, and more.
  • Rute (Score:3, Interesting)

    by agristin ( 750854 ) on Sunday April 20, 2008 @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.
  • RedHat Linux Documentations are very good.

    http://www.redhat.com/docs/manuals/enterprise/ [redhat.com]

    there are PDF downloads too for you to print.
  • Or, by the name I use to remember it, ugh.pdf [simson.net]

    I think university should be about education, not about job training. Aside from the entertainment value, the UNIX-HATERS Handbook provides interesting information about the design of Unix systems, as compared with other operating systems that have been tried. You can use sections from it to start off discussions, either about why Unix is like that, or how it has changed since then.
  • ISBN-13: 978-0130206015

    forget the others, this is the one to own.
  • The FreeBSD handbook is a treasure trove of invaluable UNIX information. The majority of the content found therein is applicable to all *NIX operating systems. It is available, for free, in a variety of languages and formats.

    you can browse it online at:

    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html [freebsd.org]

    or download an English version from:

    ftp://ftp.freebsd.org/pub/FreeBSD/doc/en/books/handbook [freebsd.org]

    Other find manuals of relative interest to the Unix community can be found there, too.

  • I would check out Principles of Network and System Administration by Mark Burgess.


"Remember, extremism in the nondefense of moderation is not a virtue." -- Peter Neumann, about usenet