De Linux Reading List HOWTO Eric Steven Raymond Thyrsus Enterprises
esr@thyrsus.com
Vertaald door: Ellen Bokhorst
bokkie@nl.linux.org
1.20 14-06-2001 esr "Practical Unix Security" verwijderd, het is nu vijf jaar oud en het materiaal wordt nu beter behandeld in andere boeken. 1.19 14-06-2001 esr Toegevoegd Ross Anderson's "Security Engineering". ISBN's gecorrigeerd. 2000 Eric S. Raymond Copyright Het is toegestaan dit document onder de voorwaarden van de Open Publication License, versie 2.0 te kopiëren, distribueren en/of wijzigen. In dit document staan de boeken opgesomd waarvan ik denk dat ze het meest waardevol zijn voor iemand die Unix (vooral Linux) tot op de bodem probeert te doorgronden.
Introductie Doel van dit document In dit document wordt een opsomming gegeven van wat ik beschouw als de essentiële referenties ter grootte van een boek voor het leren van Unix (vooral Linux) en hoe hier onder te programmeren. Nieuwe versies van dit document Nieuwe versies van de Linux Reading HOWTO zullen periodiek worden gepost naar comp.os.linux.answers. Ze zullen ook worden geupload naar diverse Linux WWW en FTP sites, waaronder de LDP home page. Je kunt de laatste versie hiervan ook bekijken op het World Wide Web via de URL http://sunsite.unc.edu/LDP/HOWTO/Reading-List-HOWTO.html. Feedback en correcties Als je vragen of opmerkingen hebt aangaande dit document (of gewoon een boek wilt aanbevelen waarvan je vindt dat dit er in moet), stuur dan gerust een mailtje naar Eric S. Raymond, via esr@thyrsus.com. Ik verwelkom elke suggestie of kritiek. Gerelateerde bronnen Zie voor online HOWTO's, magazines en anderszins niet aan boeken gerelateerd materiaal de homepage van het Linux Documentation Project . Een paar jaar geleden schreef ik een minder op Linux gerichte Unix bibliografie die nog steeds van enig nut kan zijn en een bepaalde amusante waarde behoudt. Je kunt de Loginataka vinden op . SAGE, de System Administrator's Guild, onderhoudt een uitstekende lijst met relevante boeken. In dit document gebruikte conventies Opmerkingen die niet tussen aanhalingstekens staan, zijn of van mij, of ze zijn van Jim Haynes (de vorige beheerder van dit document) en zie ik geen reden ze te wijzigen. Opmerkingen die door anderen zijn ingezonden, staan tussen aanhalingstekens, en hier is de naam van de commentator voor geplaatst (JH is Jim Haynes). "Zie" URL's, aaneengesloten met informatie over de uitgever verwijst direct naar de webcatalogus van de uitgever en brengt je naar een pagina met een weergave van de boekomslag, reclame op de omslag van het boek, en informatie over het plaatsen van een bestelling. Bij boeken waarbij dit ontbreekt, betekent dit dat de uitgever gebruik maakt van frames en van de catalogus pagina's geen bookmark kan worden gegeven. De onderwerpen gaan grofweg van de buitenkant tot de binnenkant (van cultuur naar user-land programmering naar kernelprogrammering naar hardware). Binnen secties heb ik geprobeerd de meest bruikbare boeken als eerste op te sommen in zoverre ik er bekend mee ben. Het is slechts een beschamende toevalligheid dat in deze lijst één van mijn boeken als eerste wordt opgesomd, eerlijk waar! (Suggesties voor een betere organisatie worden vrolijk geaccepteerd.) Basis Linux en Unix bibliografie Boeken over Cultuur, Historie en Feiten The New Hacker's Dictionary Third Edition Eric S.Raymond 1996 ISBN 0-262-68092-0 MIT Press 547pp. Um, er. Een handleiding over de Internetcultuur. Veel mensen waarderen het. HTML op de Jargon File Resource Page. Bestel hier. A Quarter Century of Unix Peter H.Salus 1994 ISBN 0-201-54777-5 Addison-Wesley 255pp. Linux maakt onderdeel uit van de Unix traditie. Dit boek is een mondelinge historie van Unix -- hoe het ontstond, hoe het zich ontwikkelde, hoe het werd verspreid door de mensen toendertijd. The Mythical Man Month Anniversary Edition Frederic P.Brooks 1995 ISBN 0-201-83595-9 Addison-Wesley Het boek over software engineering dat iedereen zou moeten lezen. Alan Cox: "Dit zou ik niet aanbevelen om zijn technische waarde, maar zijn toepassing van gezond verstand en realiteit betreft computerprojecten." JH: "Oh, ja. Wat als Linus 200 programmeurs gegeven was en hem was verteld Linux in 3 maanden te produceren!" Bestellen kan hier. Bell System Technical Journal AT&T 1978 July-August 1978, Vol. 57, No. 6, part 2 416pp. Veel wat oudere stukken over Unix, waaronder Ritchie & Thompson, "The UNIX Time Sharing System"; Thompson, "UNIX Implementation"; Ritchie, "A Retrospective"; Bourne, "The UNIX Shell"... Linux basis Linux Installation and Getting Started MattWelsh 1997 Linux Documentation Project Beschikbaar op de LDP homepage of direct bij http://linuxdoc.org/LDP/gs/. Hoe Linux op te zetten. Geeft veel uitleg over de basis van Linux. Behandelt de beginselen van systeembeheer. Linux System Administrator's Guide LarsWirzenius 1997 Linux Documentation Project Beschikbaar op de LDP homepage of direct op http://linuxdoc.org/LDP/sag/. Een uitstekend eerste boek over het beheren en bijhouden van een Linux systeem. Linux in a Nutshell Second Edition Jessica P.Hekman 1999 ISBN 1-56592-585-8 O'Reilly & Associates Volgens O'Reilly, "De Desktop Referentie voor Linux". Voor Linux gebruikers is "Unix In a Nutshell" hierdoor verouderd, wat SVr4/Solaris geöriënteerd was. Bestellen kan hier. Running Linux Third Edition MattWelsh 1999 ISBN 1-56592-469-X O'Reilly & Associates Alles wat je moet weten om het Linux besturingssysteem te begrijpen, installeren en gebruiken. Uitstekend beginnersboek. Bestellen kan hier. Hands-On Linux Mark G.Sobel 1998 ISBN 0-201-32569-1 Addison-Wesley 1015pp. Precies wat de titel aangeeft -- praktische tutorials in basis Unix, shells, editors, mailprogramma's, netwerken, Webtools, en utility's. Behandelt de beginselen van systeembeheer. (Dit schijnt een herdruk te zijn van 1997's ``A Practical Guide to Linux'' van dezelfde auteur, zonder dat daar Caldera OpenLinux Lite in is opgenomen.) Essential System Administration Second Edition AeleenFrisch 1995 ISBN 1-56592-127-5 O'Reilly & Associates Wat diepergaande behandeling van gewone systeembeheertaken. Niet Linux specifiek, maar het bevat veel Linux materiaal. Bestellen kan hier. Systeembeveiliging Security Engineering A Guide to Building Dependable Distributed Systems RossAnderson 2001 0-471-38922-6 Wiley Het beste boek dat ik ooit heb gezien over technologische beveiligingsmaatregelen en algemene computerbeveiliging. De sectie over "How to Steal a Painting" en fysieke alarmsystemen is de prijs waard en een erkenning op zichzelf. Real World Linux Security Intrusion Prevention, Detection, and Recovery BobToxen 2000 ISBN 0-13-028187-5 Prentice-Hall Dit is een uitstekend werk, de standaard waardoor toekomstige boeken over Linux beveiliging worden beoordeeld. Ik schreef er een voorwoord voor. Combineert stap-voor-stap practische instructies over het versterken van een Linux systeem met een goede theorie over aanvalspaden, protectieringen, en beveiligingsanalyses. Beschrijft veel counters voor specifieke uitbuitingen. Boeken over de Shell-, Script- en Webprogrammering Programming Perl Third Edition LarryWall TomChristiansen JonOrwant 2000 ISBN 0-596-00027-8 O'Reilly & Associates 1104pp. De shell (als een programmeertaal voor meer dan alledaagse scripts) is dood. Perl regels daarvoor in de plaats (alhoewel het nu sterk wordt uitgedaagd door Python). Dit is de derde editie van het definitieve Perl boek. Bestellen kan hier. Emmanuel Pierre houdt een kleine lijst bij met Perl boeken. . Programming Python First Edition MarkLutz 1997 ISBN 0-56592-197-6 O'Reilly & Associates 880pp. De volgende stap na Perl. Python is mooi ontworpen, heeft een betere integratie met C en schaalt eleganter bij grote projecten. Bestellen kan hier. HTML & XHTML: The Definitive Guide Fourth Edition ChuckMusciano BillKennedy 2000 ISBN 0-596-00026-X O'Reilly & Associates 680pp. De beste HTML tutorial/referentie die ik ooit heb gezien, en het enige HTML-boek dat je nodig hebt, tenzij je ook gebruik wilt maken van CGI. Ik ken geen ander boek over HTML dat ook maar in de buurt van dit boek komt qua uitgebreidheid, diepgang en kwaliteit in de organisatie. Bestellen kan hier. The Unix Programming Environment BrianKernighan RobPike 1984 ISBN 0-13-937681-X Prentice-Hall Een ware klassieker, mogelijk de beste expositie van de Unix filosofie. Nuttig voor het leren van shellprogrammering. Tex and LaTeX The LaTeX Companion MichaelGoossens FrankMittelbach AlexanderSamarin 1994 ISBN 0-201-54199-8 Addison-Wesley 530pp. `Ben je een van die gebruikers die wil weten hoe LaTeX zo kan worden uitgebreid dat de mooist denkbare documenten kunnen worden gemaakt zonder een (La)TeX goeroe te worden, dan is dit jouw boek' uit het voorwoord. Bruce Thompson voegt toe: "Een zeer fraai boek wat in veel informatie voorziet over de nieuwe uitbreidingen op LaTeX, er worden veel voorbeelden gegeven die precies laten zien hoe de lay-out van je document kan worden gemanipuleerd" Bestellen kan hier. LaTeX: A Document Preparation System LeslieLamport 1994 ISBN 0-201-52983-1 Addison-Wesley 256pp. Bruce Thompson: "De ultieme referentie over LaTeX 2.09 door de auteur ervan. Een nieuwe editie waarin LaTeX2e wordt behandeld (de versie die is opgenomen in de huidige TeX/LaTeX distributie) is in voorbereiding. LaTeX 2.09 wordt volledig ondersteund door LaTeX2e. Verplichte kost voor iedereen die gebruik wil maken van LaTeX. Voorziet in een aardige introductie over documentpreparation en de diverse tools die LaTeX levert voor het produceren van professionele kwaliteitsdocumenten. Veel voorbeelden." Bestellen kan hier. The TeXbook, Volume A of Computers and Typesetting DonaldKnuth 1986 ISBN 0-201-13448-9 Addison-Wesley 496pp. Bruce Thompson: "De definitieve gebruikershandleiding en complete referentiehandleiding voor TeX. Waarschijnlijk niet nodig voor terloops LaTeX gerbuik, maar niettemin een fascinerend boek". Ik benadruk dat de toevoeging van dit boek niet voor de lafaards is. Bestellen kan hier. The METAFONT Book, Volume C of Computers and Typesetting DonaldKnuth 1986 ISBN 0-201-13444-6 Addison-Wesley 386pp. Bruce Thompson: "De definitieve gebruikershandleiding en referentiehandleiding voor METAFONT, het bij TeX behorende programma voor het ontwerpen van fonts. Een uitstekend werk als je van plan bent je eigen fonts voor gebruik in TeX en LaTeX te ontwerpen. METAFONT is opgenomen in de gewone TeX/LaTeX distributie." Dit boek is beslist niet bedoeld voor de lafaards. Bestellen kan hier. Goede programmeerstijl The Practice of Programming BrianKernighan RobPike 1999 ISBN 0-201-61586-X Addison-Wesley Een uitstekende verhandeling over het schrijven van programma's van hoge kwaliteit, zeker bestemd een klassieker op dit gebied te worden. Bestellen kan hier. Programming Pearls (Second Edition) JonBentley 2000 ISBN 0-201-65788-0 Addison-Wesley Dit zijn geselecteerde essays uit Bentley's kolom in het Communications of the ACM. Hij bespreekt een breed bereik aan onderwerpen over het verbeteren van programma's, vaak gericht op de efficiëntie van programma's. Bestellen kan hier. Writing Efficient Programs JonBentley 1982 ISBN 0-13-970251-2 or 0-13-970244-X Prentice-Hall Dit boek presenteert Bentley's methodologie en set met regels voor het verbeteren van de efficiëntie van programma's, en er zijn een groot aantal voorbeelden in opgenomen. C and C++ The C Programming Language (Second Edition) BrianKernighan RobPike 1988 ISBN 0-13-110362-8 Addison-Wesley 272pp. De verbeterde tweede editie, behandelt ANSI C, van het oorspronkelijke klassieke C boek medegeschreven door de ontwerper van C "K&R". Nog steeds de beste! Who's Afraid of C++? SteveHeller 1996 ISBN 0-12-339097-4 Academic Press 508pp. Het beste introductieboek over C++ dat ik ooit heb gezien. Nu beschikbaar op het Web. C System Call Interface POSIX Programmer's Guide: Writing Portable Unix Programs DonaldLewine 1992 ISBN 0-937175-73-0 O'Reilly & Associates 607pp. Linux houdt zich zeer nauw aan de regels van de POSIX standaard (hier niet aan conformeren wordt beschouwd als een bug en het wordt snel gecorrigeerd). Deze uitstekende referentie voor POSIX is dus ook een uitstekende referentie voor de Linux kernel API. Bestellen kan hier. Advanced Programming in The Unix Environment RichardStevens 1992 ISBN 0-201-56317-7 Addison-Wesley Een boek over Unix programmeren in het algemeen welke net zo goed is als Stevens klassieker over netwerkprogrammering. Linux Application Development Michael K.Johnson Erik W.Troan 1998 ISBN 0-201-308215 Addison-Wesley De beste enkele referentie voor de Linux API. Behandelt de features die niet kenmerkend Unix of Posix zijn. Boeken over netwerken Unix Network Programming, volume 1 -- Networking APIs: Sockets and XTI RichardStevens 1998 ISBN 0-13-490012-X Prentice-Hall Alles wat je zou willen weten over dit onderwerp. Over het algemeen aangemerkt als het definitieve boek over de beginselen. Unix Network Programming, volume 2 -- Interprocess Communication RichardStevens 1998 ISBN 0-13-081081-9 Prentice-Hall Idem... Linux Network Administrator's Guide OlafKirch 1995 ISBN 1-56592-087-2 O'Reilly & Associates Beschikbaar op de homepage van het LDP, of direct bij http://www.linuxdoc.org/LDP/nag/nag.html. Een uitstekend eerste boek over het beheren en onderhouden van een Linux systeem in een netwerk. TCP/IP Network Administration CraigHunt 1992 ISBN 0-937175-82-X O'Reilly & Associates 472pp. Minder Linux specifiek dan het Kirch boek. Gaat dieper in op de behandeling van de TCP/IP kern, waaronder routing en BGP. Bestellen kan hier. DNS and BIND Second Edition PaulAlbiz CricketLiu 1998 ISBN 1-56592-512-2 502pp. O'Reilly & Associates Grondige behandeling van DNS, handig voor mensen die gecompliceerde installaties met meerdere subnets draaien. Behandelt het programmeren met de BIND library. Bestellen kan hier. Sendmail Second Edition BryanCostales EricAllman 1997 ISBN 1-56592-222-0 1050pp. O'Reilly & Associates Een grondige (en uitputtende) leidraad in de standaard mail-transfer agent van Linux en Unix. Bestellen kan hier. Voorvaderen van Linux The Design of the Unix Operating System Maurice J.Bach 1996 ISBN 0-13-201799-7 470pp. Prentice-Hall Het boek waarmee Linus van start ging. Bestellen kan hier. Operating Systems, Design and Implementation Andrew S.Tanenbaum 1987 ISBN 0-13-638677-6 940pp. Prentice-Hall Alan Cox vindt dit een prettig boek. Tanenbaum ontwierp Minix, het systeem Linus Linux vanaf bootte. Bestellen kan hier. De Linux kernel The Linux Kernel book RémyCard ÈricDumas FrankMével 1998 ISBN 0-471-98141-9 John Wiley & Sons (Vertaald vanuit 't Frans, editie van "Programmation Linux 2.0"; dezelfde auteurs; 1997; Éditions Eyrolles; Paris, France.) Een zeer interessante en informatieve bestudering van de werking van de kernel die de leemte vult tussen de POSIX interface en "The Design of the Unix Operating System" en de Linux broncode. Een goed begrip van het ontwerp en de werking van een Unix OS is een voorvereiste, maar dit boek is een uitstekende hulp verder te komen dan een algemeen begrip in het feitelijke werk. De eerste auteur is één van de kernontwikkelaars van het ext2 bestandssysteem, en het Linux boek toont een een stevig houvast van de materie en duidelijke uitleg en strctuur. Het is verbazingwekkend goed leesbaar voor iets dat op een dergelijk laag niveau werkt. Het boek heeft wat te leiden gehad van de vertaling naar het Engels -- er staan een paar typfouten in en wat grammaticale fouten, maar het is goed leesbaar. (De bestanden met codeervoorbeelden staan charmant genoeg nog in de Franse taal.) Het boek is thans voor Linux 2.0.35 en vooruitzicht op 2.1 en 2.2. Netwerkprotocol implementaties worden niet behandeld. Linux Kernal Hacker's Guide Michael K.Johnson Linux Documentation Project Beschikbaar op de homepage van het LDP, of direct op http://linuxdoc.org/LDP/khg/. Volgens de auteur, is dit vervangen door Alessandro Rubini's boek (zie verderop) maar het blijft een nuttige aanvulling. Linux Device Drivers AlessandroRubini 1998 ISBN 1-56592-292-1 O'Reilly & Associates 442pp. Alles wat je moet weten over het schrijven van device drivers onder Linux; kernel APIs, interrupt handling, de module interface. Er zijn veel voorbeelden in opgenomen. Bestellen kan hier. LINUX Kernel Internals (Second Edition) MichaelBeck HaroldBohme MirkoDziadka UlrichKunitz 1998 ISBN 0-201-33143-8 Addison-Wesley 480pp. Een handleiding in Linux kernelprogrammering; behandelt 2.0. Behandelt de architectuur van de Linux core en netwerklaag als ook het construeren van drivers. Bestellen kan hier. Met betrekking tot Linux The Design and Implementation of the 4.4BSD Unix Operating System Marshall KirkMcKusick KeithBostic Michael J.Karels John S.Quarterman 1996 ISBN 0-201-54979-4 Addison-Wesley De opvolger van een klassiek boek over de implementatie van de 4.3 BSD kernel, welke van invloed was op het ontwerp van Linux (vooral sockets en netwerken). Dit boek behandelt de 4.4BSD basis van BSD/OS, FreeBSD, en NetBSD. Bestellen kan hier. Boeken over Intel en PC hacking 80386 Programmer's Reference Manual Intel Corporation 1986 ISBN 1-55512-022-9 Deel I. Applicatie programmering, gegevenstypen, geheugenmodel, instructieset. Deel II. Systeemprogrammering, architectuur, geheugenbeheer, protectie, multitasking, I/O, exceptions en interrupts, initialisatie, coprocessing en multiprocessing. Deel III. Compatibiliteit (met eerdere x86 machines). Deel IV. Instructie Set 80386 System Software Writer's Guide Intel Corporation 1987 ISBN 1-55512-023-7 Hierin worden de 386 features uitgelegd voor schrijvers van besturingssystemen. Er is een hoofdstuk over Unix implementatie opgenomen. Een groot deel van de 80386 architectuur schijnt te zijn ontworpen met Multics in gedachten; de features zijn niet gebruikt door DOS of door Unix. Programming the 80386 John H.Crawford Patrick P.Gelsinger 1987 ISBN 0-89588-381-3 774pp. Dit is het boek dat de Jolitzes gebruikten toen ze BSD naar de 386 architectuur portte. 80386 Hardware Reference Manual Intel Corporation 1986 ISBN 1-55512-024-5 Pin connections, timing, waveforms, block diagrams, voltages, en dat soort zaken. The Indispensable PC Hardware Book Hans-PeterMessmer 1993 ISBN 0-201-62424-9 1000pp. Addison-Wesley JH: "Behandelt de wat recentere zaken zoals EIDE en PCI." Administratieve zaken Gebruiksvoorwaarden Dit document is auteursrechtelijk beschermd 1999 door Eric S. Raymond. Je mag het vrijelijk gebruiken, verspreiden en reproduceren op voorwaarde dat: Je deze copyrightmelding niet achterwege laat of aanpast. Je het versienummer en de datum niet achterwege laat of aanpast. Je de verwijzing naar de WWW-versie van dit document niet achterwege laat of aanpast. Duidelijk als zodanig aangeeft als het om een gewijzigde of ingekorte versie gaat. Deze beperkingen zijn bedoeld om potentiële lezers te beschermen tegen oude of verminkte versies. Vraag me erom als je denkt een goede reden te hebben voor een uitzondering. Historie Dit was oorspronkelijke een mini-HOWTO onderhouden door Jim Haynes. Ik heb de nadruk wat verlegd en geprobeerd er een standalone document van te maken en wat minder afgaand op de diverse USENET bibliografische postings. De mini-reviews zonder kenmerk zijn van mij en niet van hem.