Recommended reading

The best book on programming for the layman is Alice in Wonderland; but that's because it's the best book on anything for the layman.

If you have comments on any of the below, or more references that could be added to the list, please contact us.

For Users

Administering a system

Programming

Other sources


For Users

A Student's Guide to Unix, Second Edition

Author: Harley Hahn
Publication: McGraw-Hill, 1996 (ISBN 0-07-025492-3)

Designed to be a reference and an educational resource, the book aims to describe all the basic skills involved as well as tips, hints, and techniques.

NetBSD 1.6 (German)

Authors: Martin Husemann, Ignatios Souvatzis, Lex Wennmacher, Markus Illenseer, Thorsten Lindloff, S. Petra Zeidler
Publication: Computer & Literatur, 2003 (ISBN 3-936546-00-2)

A German book that covers installation and updating, configuration of system services, administration, the NetBSD packages system and more. More details.

NetBSD/mac68k primer(Japanese language)

Author: Fumio Kamiyama
Publication: Shoeisha

The Multi-Boot Configuration Handbook

Author: Roderick W. Smith
Publication: Que, 2000 (ISBN 0789722836)

Created to help users who wish to, or who are, running multiple operating systems on one computer. The book starts off with basic information on PC architecture, including the BIOS, the hardware, and the history of the PC and how it influences multi-OS configurations. It then proceeds onto practical advice on partitioning, OS installation, data exchange, cross-platform utilities, networking, and modern hardware. More details.

Unix Power Tools, Third Edition

Authors: Shelley Powers, Jerry Peek, Tim O'Reilly & Mike Loukides
Publication: O'Reilly, 2002 (ISBN 0-596-00330-7)

Designed to address the technology that UNIX users face today. Contains thorough coverage of POSIX utilities, including GNU versions, detailed bash and tcsh shell coverage, and a strong emphasis on Perl and Python. More details.

When You Can't Find Your UNIX System Administrator

Author: Linda Mui
Publication: O'Reilly, 1995 (ISBN 1-56592-104-6)

A slim volume, but to quote: "The goal of this book is not to make you a guru in your own right. The goal of this book is to get you back to the job you'd rather be doing." More details.


Administering a system

A Practical Guide to the Unix System, Third Edition

Author: Mark Sobell
Publication: Addison-Wesley, 1995. (ISBN 0-8053-7565-1)

Recommended as a student text. A good starting point for people just starting out with UNIX. More details.

BSD mit Methode (German language)

Authors: M. Schulze, Dr. B. Röhrig, M. Hölzer et al.
Publication: C&L Computer & Literatur, 1998 (ISBN 3-932311-31-0)
864 pages and 2 CD-ROMs, DM 98.-/Ös 715,-

Introduces the beginner to installation, administration and usage of the free BSD versions, X11, LaTeX, PERL, and internet services. With 2 CDs containing (among others) NetBSD-1.3.2, KDE 1.0 and other software packages for Intel CPUs.

Cahiers de l'Admin BSD (French)

Author: Emmanuel Dreyfus
Publication: Eyrolles, 2004 (ISBN 2-212-11463-X)

The book is about UNIX system administration with BSD. It is aimed at readers that know about computers, but not nescessarily about UNIX. It covers UNIX basics, BSD installation, various system administration tasks, TCP/IP networking, firewalls setups, package systems, "classic" services such as web, DNS and Internet mail, and disaster management.

The primary focus of the book is of course BSD, but whenever it is possible, the author tried to give the reader a broader view of how things works on other UNIX systems (e.g. : System V and Linux, sometimes Mac OS X). The idea is to give the reader a strong BSD knowledge, but also a good UNIX culture.

More details.

Essential System Administration

Authors: Æleen Frisch
Publication: O'Reilly & Associates, Inc. (ISBN 1-56592-127-5)

A very nice description of all the basic and not so basic tasks of system administration in 788 pages.

MkLinux DR3/NetBSD 1.3.2 internet server configuration primer (Japanese language)

Author: Top Management Service
Publication: Locus

MkLinux DR3/NetBSD 1.3.2 server configuration primer (Japanese language)

Author: Top Management Service
Publication: Locus

NetBSD/mac68k beginner's bible (Japanese language)

Author: Fems
Publication: Spike

NetBSD/mac68k handbook (Japanese language)

Author: Fumio Kamiyama
Publication: Shoeisha

NetBSD/mac68k networking guide (Japanese language)

Author: Hiroyuki Hasegawa
Publication: Natsume publishing

NetBSD for beginners: volume on network server (Japanese language)

Author: Tadaomi Miyazaki
Publication: Shuwa System Inc.

The Practice of System and Network Administration

Authors: Thomas A. Limoncelli, Christine Hogan
Publication: Addison-Wesley Professional (ISBN 0-20-170271-1)

More details.

Time Management for System Administrators

Author: Thomas A. Limoncelli
Publication: O'Reilly (ISBN 0-59-600783-3)

More details.

UNIX System Administration Handbook, Third Edition

Authors: Evi Nemeth, Garth Snyder, Scott Seebass, and Trent R. Hein
Publication: Prentice-Hall, 2000. (ISBN 0-13-020601-6)

Many enthusiastic endorsements from sysadmins. To quote: "Everything you need to know from the first steps of setting up a new system to advanced topics of networking, kernel configuration, mail configuration, device drivers, cabling specifications, hard disk formatting and partitioning, UUCP, accounting, security, and more." More details.


Programming

Advanced Programming in the Unix Environment

Author: W. Richard Stevens
Publication: Addison-Wesley, 1993. (ISBN 0-201-56317-7)

The author first describes more than 200 system calls and functions, each accompanied by a brief example in working code. After that, he goes on to provide chapter-long examples on such topics as creating a database library, a PostScript printer driver, and a program that runs other programs under a pseudo terminal. More details.

C: A Reference Manual, Fourth Edition

Authors: Samuel P. Harbison, Guy L. Steele
Publication: Prentice-Hall, 1995. (ISBN 0-13-326224-3)

The fourth edition of this reference includes new coverage on both the ISO C Amendment 1 and a discussion of how to write C programs that are compatible with C++. More details.

Code Quality - The Open Source Perspective

Author: Diomidis Spinellis
Publication: Addison-Wesley, 2006 (ISBN 0-321-16607-8)

In his second book, the author of Code Reading continues his analysis of popular Open Source projects, this time focussing on non-functional requirements such as reliability, security, portability and maintainability as well as efficiency in time and space, in short: on Code Quality.

Once again, Spinellis uses a snapshot of NetBSD 1.5_ALPHA to show the reader how to detect logic problems, problematic APIs, how to manage heap and stack memory efficiently as well as how to enhance maintainability and stability through thorough and systematic checks and test.

Authors website.
More details.

Code Reading - The Open Source Perspective

Author: Diomidis Spinellis
Publication: Addison-Wesley, 2003 (ISBN 0-201-79940-5)

"Fact: If you make a habit of reading good code, you will write better code yourself."

In this book, the author covers one of the most important tasks faced by programmers every day: reading and understanding existing code. He thoroughly explains basic programming elements, project design as well as coding standards and conventions, concluding with a real life example of how to extend a given program by reading code from various sources and improving on it.

The vast majority of the code examples in the book are based on NetBSD source code (a snapshot of NetBSD 1.5_ALPHA is part of the software of the accompanying CD-ROM), because the NetBSD Project's emphasis on "correct design and well-written code" makes it "a superb choice for providing example source code."

Authors website.
More details.

Linkers and Loaders

Author: John R. Levine
Publication: Morgan-Kauffman, 1999 (ISBN 1-55860-496-0)

Linkers and loaders goes into detail about linking, shared and dynamic libraries and more. The book's website has details on purchasing and can also be read online.

TCP/IP Illustrated, Vol. 2

Authors: Gary R. Wright, W. Richard Stevens
Publication: Addison-Wesley, 1995 (ISBN 0-201-63354-X)

A technical breakdown of the 4.4BSD networking implementation. More details.

The C Programming Language, Second Edition

Authors: Brian Kernighan, Dennis Ritchie
Publication: Prentice-Hall, 1989. (ISBN 0-13-110362-8)

The (updated) original text on C. Not the easiest read, but pretty much from the original source. More details.

The Design and Implementation of the 4.4 BSD Operating System

Authors: Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman
Publication: Addison-Wesley, 1996. (ISBN 0-201-54979-4)

The definitive work on 4.4 BSD internals. A must for any kernel programmer. More details.

The Practice of Programming

Authors: Brian W. Kernighan, Rob Pike
Publication: Addison-Wesley, 1999. (ISBN 0-201-61586-X)

An excellent general overview of many programming topics. More details.

The UNIX (R) Programming Environment, First Edition

Authors: Brian W. Kernighan, Rob Pike
Publication: Prentice-Hall, 1984. (ISBN 0-13-937681-X)

The original UNIX programming environment and philosophy. More details.

Unix Internals: The New Frontiers

Author: Uresh Vahalia
Publication: Prentice-Hall, 1995. (ISBN 0-13-101908-2)

An exploration of advances in UNIX-based operating systems. Focuses on the design and implementation of the operating system itself, and covers several advanced subjects, such as multi-processors and threads. More details.

UNIX Network Programming (Volumes 1 and 2), Second Edition

Author: W. Richard Stevens
Publication: Prentice-Hall Vol. 1 (ISBN 0-13-490012-X), Vol. 2 (ISBN 0-13-081081-9)

The classic UNIX network programming guide, now completely updated.
More details: Volume 1, Volume 2.

UNIX Systems for Modern Architectures

Author: Curt Schimmel
Publication: Addison-Wesley, 1994 (ISBN 0-201-63338-8)

From the inside flap: "The goal of this book is to provide practical information on the issues operating systems must address in order to run on modern computer systems that employ cache memories and/or multiprocessors. At the time of this writing, a number of books describe UNIX system implementations, but none describes in detail how caches and multiprocessors should be managed. Many computer architecture books describe caches and multiprocessors from the hardware aspect, but none successfully deals with the operating system issues that these modern architectures present. This book is intended to fill these gaps by bridging computer architecture and operating systems." Highly recommended for its organization and thoroughness. More details.

X68k Programming Series (#4) (Japanese language)

Authors: NetBSD/X68k committee
Publication: SOFTBANK (ISBN 4-89052-808-3 C0055)

This book on programming on NetBSD/X68k, written by the NetBSD/X68k committee, is unfortunately out of print. More details.


Other sources

O'Reilly handbooks

Also worthy of note are the O'Reilly nutshell handbooks, which cover everything from When You Can't Find Your UNIX System Administrator to the X Toolkit Intrinsics Reference Manual. See unix.oreilly.com for full listing.