Penguin
Diff: HowToReadingListHOWTO
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of HowToReadingListHOWTO.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 3 Last edited on Tuesday, October 26, 2004 4:44:03 pm by AristotlePagaltzis
Older page: version 2 Last edited on Friday, June 7, 2002 1:07:23 am by perry Revert
@@ -1,773 +1 @@
-The Linux Reading List HOWTO  
-!!!The Linux Reading List HOWTO  
-!Eric Steven Raymond Thyrsus Enterprises  
-  
- esr@thyrsus.com  
-  
-  
-  
-  
-Copyright (c) 2000 by Eric S. Raymond  
-  
-  
-__Revision History__Revision 1.202001-06-14Revised by: esrRemoved "Practical Unix Security"; it's five years old and  
-the material is now covered better by other books.Revision 1.192001-06-14Revised by: esrAdded Ross Anderson's "Security Engineering". Corected ISBNs.  
-  
-  
-  
-  
-  
- This document lists the books I think are most valuable to a person  
-trying to learn Unix (especially Linux) top to bottom.  
-  
-  
-  
-  
-  
-----; __Table of Contents__; 1. Introduction: ; 1.1. Purpose of this document; 1.2. New versions of this document; 1.3. Feedback and Corrections; 1.4. Related Resources; 1.5. Conventions Used In This Document; Basic Linux and Unix bibliography; A. Administrivia: ; A.1. Terms of Use; A.2. History----  
-!!!1. Introduction  
-!!1.1. Purpose of this document  
-  
-This document lists what I consider to be the essential book-length  
-references for learning Unix (especially Linux) and how to program under  
-it.  
-  
-----  
-!!1.2. New versions of this document  
-  
-New versions of the Linux Reading List HOWTO will be periodically  
-posted to comp.os.linux.answers. They will also be uploaded to  
-various Linux WWW and FTP sites, including the LDP home page.  
-  
-  
-  
-You can also view the latest version of this on the World Wide  
-Web via the URL http://sunsite.unc.edu/LDP/HOWTO/Reading-List-HOWTO.html.  
-  
-----  
-!!1.3. Feedback and Corrections  
-  
-If you have questions or comments about this document (or just  
-want to suggest a book that you think should be on it), please feel  
-free to mail Eric S. Raymond, at `esr@thyrsus.comb. I welcome any  
-suggestions or criticisms.  
-  
-----  
-!!1.4. Related Resources  
-  
-For on-line HOWTOs, magazines, and other non-book material, see the  
-Linux Documentation Project  
-home page.  
-  
-  
-  
-Some years ago I wrote a less Linux-focused Unix bibliography that  
-may still be of some interest and retains a certain amusement  
-value. You can find the Loginataka here.  
-  
-  
-  
-SAGE, the System Administrator's Guild, maintains an excellent  
-list of relevant books.  
-  
-----  
-!!1.5. Conventions Used In This Document  
-  
-Comments not in quotes below are either mine, or I have seen no reason to  
-change them from those of Jim Haynes (previous maintainer of this document).  
-Comments sent in by others are in quotes, and have the name of the  
-commentator before them (JH is Jim Haynes).  
-  
-  
-  
-"See" URLs attached to publishing information point directly into the  
-publisher's web catalog and typically take you to a page containing  
-a cover shot, blurbs, and ordering information. Books that don't  
-have these lack them because the publisher is using frames and the  
-catalog pages can't be bookmarked.  
-  
-  
-  
-Topic listings go roughly from the outside in (culture to user-land  
-programming to kernel programming to hardware). Within sections I have  
-tried to list the most useful books first insofar as I am familiar with them.  
-It's just an embarrassing coincidence that this lists one of my books  
-first, honest! (Suggestions for a better organization cheerfully  
-accepted.)  
-  
-----  
-!!!Basic Linux and Unix bibliography  
-!!!Books on Culture, History, and Pragmatics  
-  
-''The New Hacker's Dictionary'', Third Edition, Edited by Eric S. Raymond, 1996, ISBN -262-68092-, MIT Press, 547pp..  
-  
-  
-  
-Um, er. A guide to Internet culture. Lots of people like it.  
-HTML at the Jargon File  
-Resource Page.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''A Quarter Century of Unix'', Edited by Peter H. Salus, 1994, ISBN -201-54777-5, Addison-Wesley, 255pp..  
-  
-  
-  
-Linux is part of the Unix tradition. This book is an oral  
-history of Unix -- how it originated, how it evolved, how it spread  
--- by the people who were there.  
-  
-  
-  
-''The Mythical Man Month'', Anniversary Edition, Frederic P. Brooks, 1995, ISBN -201-83595-9, Addison-Wesley.  
-  
-  
-  
-The one book on software engineering everyone should read.  
-  
-  
-  
-Alan Cox: "This I'd recommend not for its technical  
-value but for its application of common sense and reality to computing  
-projects." JH: "Ah, yes. What if Linus had been given 200  
-programmers and had been told to produce Linux in 3 months!"  
-  
-  
-  
- Order here.  
-  
-  
-  
-''Bell System Technical Journal'', AT8T, 1978, July-August 1978, Vol. 57, No. 6, part 2, 416pp..  
-  
-  
-  
-Many early papers on Unix,  
-including Ritchie 8 Thompson, "The UNIX Time  
-Sharing System"; Thompson, "UNIX Implementation"; Ritchie, "A  
-Retrospective"; Bourne, "The UNIX Shell"...  
-  
-----  
-!!!Linux basics  
-  
-''Linux Installation and Getting Started'', Edited by Matt Welsh, 1997, Linux Documentation Project.  
-  
-  
-  
-Available on the LDP home page, or  
-directly at http://linuxdoc.org/LDP/gs/.  
-  
-  
-  
-How to bring up Linux. Explains a lot of Linux basics. Covers  
-basic system administration.  
-  
-  
-  
-''Linux System Administrator's Guide'', Edited by Lars Wirzenius, 1997, Linux Documentation Project.  
-  
-  
-  
-Available on the LDP home page, or  
-directly at http://linuxdoc.org/LDP/sag/.  
-  
-  
-  
-An excellent first book on how to maintain and administer a  
-Linux system.  
-  
-  
-  
-''Linux in a Nutshell'', Second Edition, Jessica P. Hekman, 1999, ISBN 1-56592-585-8, O'Reilly 8 Associates.  
-  
-  
-  
-According to O'Reilly, "The Desktop Reference for Linux". For  
-Linux users this obsoletes their "Unix In a Nutshell" which was  
-SVr4/Solaris-oriented.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''Running Linux'', Third Edition, Matt Welsh, 1999, ISBN 1-56592-469-X, O'Reilly 8 Associates.  
-  
-  
-  
-Everything you need in order to understand, install, and use the  
-Linux operating system. Excellent beginner's book.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''Hands-On Linux'', Mark G. Sobel, 1998, ISBN -201-32569-1, Addison-Wesley, 1015pp..  
-  
-  
-  
-Just what the title says -- practical tutorials in basic Unix,  
-shells, editors, mail programs, networking, Web tools, and  
-utilities. Covers some system administration fundamentals.  
-(This appears to be a repackaging of 1997's ``A Practical Guide  
-to Linux'' from the same author, without Caldera !OpenLinux Lite  
-included.)  
-  
-  
-  
-''Essential System Administration'', Second Edition, Aeleen Frisch, 1995, ISBN 1-56592-127-5, O'Reilly 8 Associates.  
-  
-  
-  
-More in-depth coverage of normal system-administration tasks.  
-Not Linux-specific but contains Linux material.  
-  
-  
-  
- Order here.  
-  
-----  
-!!!System Security  
-  
-''Security Engineering'''': ''''A Guide to Building Dependable Distributed Systems'', Ross Anderson, 2001, -471-38922-6, Wiley.  
-  
-  
-  
-The best book I've ever seen on technological security  
-measures and general computer security.  
-The section on "How to Steal a Painting" and physical alarm systems  
-is worth the price of admission by itself.  
-  
-  
-  
-''Real World Linux Security'''': ''''Intrusion Prevention, Detection, and Recovery'', Bob Toxen, 2000, ISBN -13-028187-5, Prentice-Hall.  
-  
-  
-  
-This is excellent work, the standard by which future Linux  
-security books will be judged. I wrote a foreword for it. Combines  
-step-by-step practical instructions on hardining a Linux system  
-with good theory on attack paths, rings of protection, and security  
-analysis. Describes many counters for specific exploits.  
-  
-----  
-!!!Books on Shell, Script, and Web Programming  
-  
-''Programming Perl'', Third Edition, Larry Wall, Tom Christiansen, and Jon Orwant, 2000, ISBN -596-00027-8, O'Reilly 8 Associates, 1104pp..  
-  
-  
-  
-Shell (as a programming language for more than trivial scripting)  
-is dead. Perl rules in its place (though it is now being strongly  
-challenged by Python). This is the third edition of  
-the definitive Perl book.  
-  
-  
-  
- Order here.  
-  
-  
-  
-Emmanuel Pierre keeps a short list of Perl  
-books.  
-  
-  
-  
-''Programming Python'', First Edition, Mark Lutz, 1997, ISBN -56592-197-6, O'Reilly 8 Associates, 880pp..  
-  
-  
-  
-The next step beyond Perl. Python is beautifully designed,  
-has better integration with C, and scales up more gracefully to large  
-projects.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''HTML 8 XHTML: The Definitive Guide'', Fourth Edition, Chuck Musciano and Bill Kennedy, 2000, ISBN -596-00026-X, O'Reilly 8 Associates, 680pp..  
-  
-  
-  
-The best HTML tutorial/reference I have ever seen, and the only  
-HTML book you need unless you also want to do CGI. I don't know of  
-any other book on HTML that comes within miles of this one for  
-comprehensiveness, depth, and quality of organization.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''The Unix Programming Environment'', Brian Kernighan and Rob Pike, 1984, ISBN -13-937681-X, Prentice-Hall.  
-  
-  
-  
-A true classic -- possibly the best single-book exposition of the  
-Unix philosophy. Useful for learning shell programming.  
-  
-----  
-!!!Tex and LaTeX  
-  
-''The LaTeX Companion'', Michael Goossens, Frank Mittelbach, and Alexander Samarin, 1994, ISBN -201-54199-8, Addison-Wesley, 530pp..  
-  
-  
-  
-`If you are one of those users who would like to know how  
-LaTeX can be extended to create the nicest documents possible  
-without becoming a (La)TeX guru, then this book is for you' ---  
-from the Preface. Bruce Thompson adds: "A very nice book providing  
-a lot of information about the new extensions to LaTeX, provides a  
-large number of examples showing precisely how your document's  
-layout can be manipulated"  
-  
-  
-  
- Order here.  
-  
-  
-  
-''LaTeX: A Document Preparation System'', Leslie Lamport, 1994, ISBN -201-52983-1, Addison-Wesley, 256pp..  
-  
-  
-  
-Bruce Thompson: "The ultimate reference on LaTeX 2.09 by its  
-author. A new edition covering LaTeX2e (the version included in  
-the current TeX/LaTeX distribution) is in preparation. LaTeX 2.09  
-is fully supported by LaTeX2e. A must for anyone wanting to use  
-LaTeX. Provides a gentle introduction to document preparation and  
-the various tools that LaTeX provides for producing professional  
-quality documents. Lots of examples."  
-  
-  
-  
- Order here.  
-  
-  
-  
-''The !TeXbook, Volume A of Computers and Typesetting'', Donald Knuth, 1986, ISBN -201-13448-9, Addison-Wesley, 496pp..  
-  
-  
-  
-Bruce Thompson: "The definitive user's guide and complete  
-reference manual for TeX. Probably not needed for casual LaTeX  
-use, but a fascinating book nonetheless." I'll strengthen that by  
-adding that this book is not for the faint of heart.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''The METAFONT Book, Volume C of Computers and Typesetting'', Donald Knuth, 1986, ISBN -201-13444-6, Addison-Wesley, 386pp..  
-  
-  
-  
-Bruce Thompson: "The definitive user's guide and reference  
-manual for METAFONT, the companion program to TeX for designing  
-fonts. An excellent work if you're planning to design your own  
-fonts for use in TeX and LaTeX. METAFONT is included with the  
-normal TeX/LaTeX distribution." This book is  
-''definitely'' not for the faint of heart.  
-  
-  
-  
- Order here.  
-  
-----  
-!!!Good Programming Style  
-  
-''The Practice of Programming'', Brian Kernighan and Rob Pike, 1999, ISBN -201-61586-X, Addison-Wesley.  
-  
-  
-  
-An excellent treatise on writing high-quality programs,  
-surely destined to become a classic of the field.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''Programming Pearls'', (Second Edition), Jon Bentley, 2000, ISBN -201-65788-, Addison-Wesley.  
-  
-  
-  
-These are selected essays from Bentley's column in the  
-Communications of the ACM. He discusses a wide variety of issues in  
-program improvement, often focusing on program efficiency.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''Writing Efficient Programs'', Jon Bentley, 1982, ISBN -13-970251-2 or -13-970244-X, Prentice-Hall.  
-  
-  
-  
-This book presents Bentley's methodology and set of rules for  
-improving program efficiency, and includes a large number of  
-examples.  
-  
-----  
-!!!C and C++  
-  
-''The C Programming Language'', (Second Edition), Brian Kernighan and Rob Pike, 1988, ISBN -13-110362-8, Addison-Wesley, 272pp..  
-  
-  
-  
-The improved second edition, covering ANSI C, of the original  
-classic C book coauthored by C's designer, "K8R". Still the  
-best!  
-  
-  
-  
-''Who's Afraid of C++?'', Steve Heller, 1996, ISBN -12-339097-4, Academic Press, 508pp..  
-  
-  
-  
-The best introductory book on C++ I have seen. Now available  
-on the Web.  
-  
-----  
-!!!C System Call Interface  
-  
-''POSIX Programmer's Guide: Writing Portable Unix Programs'', Donald Lewine, 1992, ISBN -937175-73-, O'Reilly 8 Associates, 607pp..  
-  
-  
-  
-Linux hews very close to the letter of the POSIX standard  
-(non-conformance is considered a bug and swiftly fixed).  
-This excellent reference for POSIX is thus also an excellent  
-reference for the Linux kernel API.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''Advanced Programming in The Unix Environment'', Richard Stevens, 1992, ISBN -201-56317-7, Addison-Wesley.  
-  
-  
-  
-A book on general Unix programming that is every bit as good as  
-Stevens's classic on network programming.  
-  
-  
-  
-''Linux Application Development'', Michael K. Johnson and Erik W. Troan, 1998, ISBN -201-308215, Addison-Wesley.  
-  
-  
-  
-The best single reference to the Linux API. Covers the  
-features that aren't generic Unix or Posix.  
-  
-----  
-!!!Books on Networking  
-  
-''Unix Network Programming, volume 1 -- Networking APIs: Sockets and XTI'', Richard Stevens, 1998, ISBN -13-490012-X, Prentice-Hall.  
-  
-  
-  
-Everything you might want to know about the subject. Generally  
-regarded as definitive on the basics.  
-  
-  
-  
-''Unix Network Programming, volume 2 -- Interprocess Communication'', Richard Stevens, 1998, ISBN -13-081081-9, Prentice-Hall.  
-  
-  
-  
-Ditto...  
-  
-  
-  
-''Linux Network Administrator's Guide'', Olaf Kirch, 1995, ISBN 1-56592-087-2, O'Reilly 8 Associates.  
-  
-  
-  
-Available on the LDP home page, or  
-directly at http://www.linuxdoc.org/LDP/nag/nag.html.  
-  
-  
-  
-An excellent first book on how to maintain and administer a  
-networked Linux system.  
-  
-  
-  
-''TCP/IP Network Administration'', Craig Hunt, 1992, ISBN -937175-82-X, O'Reilly 8 Associates, 472pp..  
-  
-  
-  
-Less Linux-specific than the Kirch book. Features deeper  
-coverage of the TCP/IP core, including routing and BGP.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''DNS and BIND'', Second Edition, Paul Albiz and Cricket Liu, 1998, ISBN 1-56592-512-2, 502pp., O'Reilly 8 Associates.  
-  
-  
-  
-In-depth coverage of DNS, useful for people running complicated  
-multiple-subnet installations. Covers BIND library programming.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''Sendmail'', Second Edition, Bryan Costales and Eric Allman, 1997, ISBN 1-56592-222-, 1050pp., O'Reilly 8 Associates.  
-  
-  
-  
-An exhaustive (and exhausting) guide to Linux's and Unix's  
-default mail-transfer agent.  
-  
-  
-  
- Order here.  
-  
-----  
-!!!Ancestors of Linux  
-  
-''The Design of the Unix Operating System'', Maurice J. Bach, 1996, ISBN -13-201799-7, 470pp., Prentice-Hall.  
-  
-  
-  
-The book that got Linus started.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''Operating Systems, Design and Implementation'', Andrew S. Tanenbaum, 1987, ISBN -13-638677-6, 940pp., Prentice-Hall.  
-  
-  
-  
-Alan Cox likes this book. Tanenbaum designed Minix, which is  
-the system Linus bootstrapped Linux up from.  
-  
-  
-  
- Order here.  
-  
-----  
-!!!The Linux kernel  
-  
-''The Linux Kernel book'', Rémy Card, Èric Dumas, and Frank Mével, 1998, ISBN -471-98141-9, John Wiley 8 Sons.  
-  
-  
-  
-(Translated from the French language edition of  
-"Programmation Linux 2."; same authors; 1997; Éditions  
-Eyrolles; Paris, France.)  
-  
-  
-  
-A very interesting and informative examination of the  
-operation of the kernel that fills in the gap between the POSIX  
-interface and "The Design of the Unix Operating System" and the  
-Linux source code. A good understanding of the design and  
-operation of a Unix OS is a pre-requisite, but this book is an  
-excellent help to going beyond that general understanding into  
-actual work.  
-  
-  
-  
-The primary author is one of the core developers for the ext2  
-filesystem, and the Linux Kernel book shows a firm grasp of the  
-matter and clear explanations and structure. It's surprisingly  
-readable for something working at such a low level. The book does  
-seem to have suffered a little in the translation to English --  
-there are a few typos and grammatical mistakes, but it's quite  
-readable. (The code example files are charmingly still named in  
-French.)  
-  
-  
-  
-The book is current to Linux 2..35 and foreshadows 2.1 and 2.2.  
-Network protocol implementations are not covered.  
-  
-  
-  
-''Linux Kernal Hacker's Guide'', Edited by Michael K. Johnson, Linux Documentation Project.  
-  
-  
-  
-Available on the LDP home page, or  
-directly at http://linuxdoc.org/LDP/khg/.  
-  
-  
-  
-According to the author, this has been superseded by  
-Alessandro Rubini's book (see below) but it remains a useful  
-supplement.  
-  
-  
-  
-''Linux Device Drivers'', Alessandro Rubini, 1998, ISBN 1-56592-292-1, O'Reilly 8 Associates, 442pp..  
-  
-  
-  
-Everything you need to know about writing device drivers  
-under Linux; kernel APIs, interrupt handling, the module interface.  
-Includes many examples.  
-  
-  
-  
- Order here.  
-  
-  
-  
-''LINUX Kernel Internals'', (Second Edition), Michael Beck, Harold Bohme, Mirko Dziadka, and Ulrich Kunitz, 1998, ISBN -201-33143-8, Addison-Wesley, 480pp..  
-  
-  
-  
-A guide to Linux kernel programming; covers 2.. Covers the  
-architecture of the Linux core and network layer as well as driver  
-construction.  
-  
-  
-  
- Order here.  
-  
-----  
-!!!Relatives of Linux  
-  
-''The Design and Implementation of the 4.4BSD Unix Operating System'', Marshall Kirk !McKusick, Keith Bostic, Michael J. Karels, and John S. Quarterman, 1996, ISBN -201-54979-4, Addison-Wesley.  
-  
-  
-  
-The successor to a classic book on the implementation of the  
-4.3 BSD kernel, which influenced Linux's design (especially near  
-sockets and networking). This book covers the 4.4BSD base of BSD/OS,  
-FreeBSD, and NetBSD.  
-  
-  
-  
- Order here.  
-  
-----  
-!!!Books on Intel and PC hacking  
-  
-''80386 Programmer's Reference Manual'', Intel Corporation, 1986, ISBN 1-55512-022-9.  
-  
-  
-  
-Part I. Applications Programming, data types, memory model,  
-instruction set. Part II. Systems Programming, architecture,  
-memory management, protection, multitasking, I/O, exceptions and  
-interrupts, initialization, coprocessing and multiprocessing. Part  
-III. Compatibility (with earlier x86 machines). Part  
-IV. Instruction Set  
-  
-  
-  
-''80386 System Software Writer's Guide'', Intel Corporation, 1987, ISBN 1-55512-023-7.  
-  
-  
-  
-This explains the 386 features for operating system writers. It  
-includes a chapter on Unix implementation. A lot of the 80386  
-architecture seems to have been designed with Multics in mind; the  
-features are not used by DOS or by Unix.  
-  
-  
-  
-''Programming the 80386'', John H. Crawford and Patrick P. Gelsinger, 1987, ISBN -89588-381-3, 774pp..  
-  
-  
-  
-This is the book the Jolitzes used when they ported BSD to the  
-386 architecture.  
-  
-  
-  
-''80386 Hardware Reference Manual'', Intel Corporation, 1986, ISBN 1-55512-024-5.  
-  
-  
-  
-Pin connections, timing, waveforms, block diagrams, voltages,  
-all that kind of stuff.  
-  
-  
-  
-''The Indispensable PC Hardware Book'', Hans-Peter Messmer, 1993, ISBN -201-62424-9, 1000pp., Addison-Wesley.  
-  
-  
-  
-JH: "Covers the more recent stuff like EIDE and PCI."  
-  
-----  
-!!!A. Administrivia  
-!!!A.1. Terms of Use  
-  
-This document is copyright 1999 by Eric S. Raymond. You may use,  
-disseminate, and reproduce it freely, provided you:  
-  
-  
-  
-  
-  
-  
-*  
-  
-Do not omit or alter this copyright notice.  
-  
-  
-*  
-*  
-  
-Do not omit or alter or omit the version number and date.  
-  
-  
-*  
-*  
-  
-Do not omit or alter the document's pointer to the current WWW  
-version.  
-  
-  
-*  
-*  
-  
-Clearly mark any condensed, altered or versions as such.  
-  
-  
-*  
-  
-These restrictions are intended to protect potential readers from  
-stale or mangled versions. If you think you have a good case for  
-an exception, ask me.  
-  
-----  
-!!!A.2. History  
-  
-This was originally a mini-HOWTO maintained by Jim Haynes.  
-I have changed the emphasis somewhat, trying to make it more  
-a standalone document and less reliant on the various USENET  
-bibliographic postings. The unattributed mini-reviews are mine  
-rather than his
+Describe [HowToReadingListHOWTO] here.