Une Bibliographie Linux (The Linux Reading List HOWTO) Eric S. Raymond Traduction Thierry Le Quéau, thierry.lequeau@wanadoo.fr 1.2, 29 Novembre 1997 Ce document donne la liste des livres de référence que je considère essentiels pour débuter et programmer sous UNIX (et spécialement sous Linux). ______________________________________________________________________ Table des matières 1. Introduction 1.1 But de ce document 1.2 Nouvelles versions de ce document 1.3 Joindre l'auteur : commentaires et corrections 1.4 Autres ressources 1.5 Conventions utilisées dans ce document 2. Approche générale, histoire et pratique. 3. Livres sur les généralités UNIX/LINUX 3.1 Installation et administration de Linux 3.2 Utiliser Unix & Linux 3.3 Sécurité du système 4. Livres sur les shell, les langages de commandes, la programmation Web 5. Livres sur les éditeurs de texte 5.1 TeX et LaTeX 6. Livres sur la programmation en C et C++ 6.1 C et C++ 6.2 L'interface des appels systèmes en C 7. Livres sur le réseau 8. Livres sur l'implémentation du noyau sous Unix 8.1 Ancêtres de Linux 8.2 Linux 8.3 Relatifs à Linux 9. Livres sur l'architecture et la programmation des processeurs Intel 10. Livres sur le matériel PC 11. Aspects administratifs 11.1 Conditions d'utilisations 11.2 Historique ______________________________________________________________________ 11.. IInnttrroodduuccttiioonn 11..11.. BBuutt ddee ccee ddooccuummeenntt Ce document donne la liste des livres de référence que je considère essentiels pour débuter et programmer sous UNIX (et spécialement sous Linux). 11..22.. NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt De nouvelles versions de ce document seront postées régulièrement dans comp.os.linux.answer. Elles seront également disponibles sur les divers sites WWW et FTP Linux, notamment le site du LDP (Linux Documentation Project). La version française est disponible sur . Vous pouvez aussi voir la dernière version à l'adresse . 11..33.. JJooiinnddrree ll''aauutteeuurr :: ccoommmmeennttaaiirreess eett ccoorrrreeccttiioonnss Si vous avez des questions ou des commentaires au sujet de ce document (ou si vous voulez conseiller un livre), ne le gardez pas pour vous, faites-en part à Eric S. Raymond, esr@thyrsus.com. Je recevrai avec plaisir toute suggestion ou critique. 11..44.. AAuuttrreess rreessssoouurrcceess Pour les HOWTOs en ligne, magazines et autres supports voyez à l'adresse du Linux Documentation Project . En français : . Il y a quelques années j'ai écrit une bibliographie sur UNIX, moins axée sur LINUX, qui présente encore quelque intérêt et peut prêter à sourire. Vous pouvez trouver la "Loginataka" à l'adresse . 11..55.. CCoonnvveennttiioonnss uuttiilliissééeess ddaannss ccee ddooccuummeenntt Les commentaires qui ne sont pas entre guillemets sont les miens, ou je n'ai pas jugé bon de modifier ceux de Jim Haynes (mon prédécesseur). Les commentaires envoyés par d'autres personnes sont entre guillemets, précédés du nom de leur auteur. (JH = Jim Haynes). Les URLs "voir" apparaissant à côté des informations sur la publication renvoient au catalogue en ligne de la maison d'édition et pointent généralement sur une page contenant une vue de la couverture, une brève description et un formulaire de commande. Certains ouvrages ne l'on pas, parce que le site web utilise des cadres rendant impossible l'accès direct à la page concernée.Pour les livres édités par Addison-Wesley, l'url vous amène sur la page de garde, le chemin amenant jusqu'au livre semblant poser problème aux sgml-tools. Les différents sujets sont d'abord traités de manière générale. Les sections suivantes aprofondiront le sujet. (dans l'ordre : généralités, programmation au niveau utilisateur, programmation du noyau, enfin le matériel.) J'ai essayé de présenter d'abord les livres les plus utiles, dans la mesure où ils me sont familiers. Si l'un de mes ouvrages est cité en premier, il s'agit d'une coïncidence embarrassante ! (Toute suggestion pour une meilleure organisation acceptée avec plaisir). NdT: Vous pouvez trouver les Editions O'Reilly en français à l'adresse suivante : O'Reilly France 22.. AApppprroocchhee ggéénnéérraallee,, hhiissttooiirree eett pprraattiiqquuee.. TThhee NNeeww HHaacckkeerr''ss DDiiccttiioonnaarryy ((TThhiirrdd EEddiittiioonn)) Raymond, Eric S.; MIT Press; 1996; ISBN 0-262-68092-0; 547pp. Voir . Euh, un guide sur la culture internet. A beaucoup de fans. HTML à : Jargon File Resource Page Version Française : "Le Cyberlexis, dictionnaire du jargon informatique", 1997,Edition Masson, 345FF AA QQuuaarrtteerr CCeennttuurryy ooff UUnniixx Salus, Peter H.; Addison-Wesley; 1994; ISBN 0-201-54777-5; 256pp. Voir Linux fait partie de la tradition Unix. Ce livre retrace l'histoire d'Unix vu par ses utilisateurs (origine, évolution, expansion). TThhee MMyytthhiiccaall MMaann MMoonntthh ((AAnnnniivveerrssaarryy EEddiittiioonn)) Brooks, Frederick P.; Addison-Wesley 1995 (ISBN 0-201-83595-9). Voir . Le seul livre sur la programmation qui devrait être lu par tout le monde. Alan Cox : "Je ne recommande pas ce livre pour sa valeur technique mais plus pour le réalisme et le bon sens des projets proposés." JH : "Ah oui. Qu'est-ce que ça aurait été si on avait donné à Linus 200 programmeurs et si on lui avait demandé de fournir Linux en 3 mois !" Version française : "Le Mythe du mois-homme" 1996, Edition Inter. Thomson, 240FF. BBeellll SSyysstteemm TTeecchhnniiccaall JJoouurrnnaall,, JJuullyy--AAuugguusstt 11997788,, VVooll.. 5577,, NNoo.. 66,, ppaarrtt 22 AT&T; 416 pp. Plusieurs articles sur les débuts d'Unix, notamment : Ritchie & Thompson, "The UNIX Time Sharing System"; Thompson, "UNIX Implementation"; Richie, "A Retrospective"; Bourne, "The UNIX Shell"... 33.. LLiivvrreess ssuurr lleess ggéénnéérraalliittééss UUNNIIXX//LLIINNUUXX 33..11.. IInnssttaallllaattiioonn eett aaddmmiinniissttrraattiioonn ddee LLiinnuuxx LLiinnuuxx IInnssttaallllaattiioonn aanndd GGeettttiinngg SSttaarrtteedd Welsh, Matt; LDP; 1997. Disponible sur la page d'accueil du LDP, ou directement à : . On y trouve comment installer Linux, l'explication des bases de Linux, ainsi qu'une initiation à l'administration système. LLiinnuuxx SSyysstteemm AAddmmiinniissttrraattoorr''ss GGuuiiddee Wirzenius, Lars; LDP; 1997. Disponible sur la page d'accueil du LDP, ou directement à : . Un excellent livre pour débuter. On y trouve comment entretenir et administrer un système Linux. EEsssseennttiiaall SSyysstteemm AAddmmiinniissttrraattiioonn ((SSeeccoonndd EEddiittiioonn)) Frisch, Aeleen; O'Reilly; 1995; ISBN 0-937175-80-3; 788 pp; $32.95. Voir . Une exploration plus en profondeur des tâches normales d'administration système. Ce n'est pas un livre exclusivement sur Linux mais il contient des infos sur le matériel. Version française de ce livre : Les bases de l'administration système. ISBN : 2-84177-008-7; 768 pages, 320 francs. 33..22.. UUttiilliisseerr UUnniixx && LLiinnuuxx LLiinnuuxx iinn aa NNuuttsshheellll Hekman, Jessica P. et al.; O'Reilly; 1997; ISBN 1-56592-167-4; 438 pp. $9.95. Voir . D'après "The Desktop Reference for Linux" de O'Reilly. Pour les utilisateurs de Linux, cet ouvrage rend obsolète l'édition "Unix in a Nutshell" qui était orientée stations SVR4/Solaris. RRuunnnniinngg LLiinnuuxx ((SSeeccoonndd EEddiittiioonn)) Welsh, Matt, & Kaufman, Lar; O'Reilly; ISBN 1-56592-151-8; 1996; 650pp; $24.95. Voir . Tout ce que vous avez besoin pour comprendre, installer et utiliser le système Linux. Excellent livre pour débutants. Version française : "Linux mode d'emploi" 1996, Edition Sybex, 436p, 79FF. 33..33.. SSééccuurriittéé dduu ssyyssttèèmmee PPrraaccttiiccaall UUnniixx SSeeccuurriittyy Garfinkel, Simpson, and Spafford, Gene; O'Reilly Associates; ISBN 0-56592-148-8; 1991. Voir . Ronald P. Miller : "Quelques reprises du livre "Essential System Admin", mais globalement bien fait sur la sécurité, et spécialement pour ceux qui veulent créer un serveur sous Linux accessible par de multiples utilisateurs via le net." FFiirreewwaallllss && IInntteerrnneett SSeeccuurriittyy Cheswick, William R. & Bellovin, Steven M.; Addison-Wesley; 1994; ISBN 0-201-63357-4; 320pp. Voir . Il existe un livre "Firewalls : la sécurité sur Internet" en français mais qui n'a rien à voir avec l'édition anglaise. 44.. LLiivvrreess ssuurr lleess sshheellll,, lleess llaannggaaggeess ddee ccoommmmaannddeess,, llaa pprrooggrraammmmaattiioonn WWeebb PPrrooggrraammmmiinngg PPeerrll ((SSeeccoonndd EEddiittiioonn)) Wall, Larry & Christiansen, Tom & Schwartz, Randal; O'Reilly; 1997; ISBN 0-56592-149-6; 644pp. Voir . Le Shell est mort (non seulement pour son langage de programmation mais aussi pour son écriture archaïque), Vive Perl ! C'est la seconde édition du livre sur Perl, bien mieux organisée que la première et elle intègre Perl 5. Version française : "Programmation en Perl 2e édition" ISBN : 2-84177-004-4, 710 pages, 280 francs. PPrrooggrraammmmiinngg PPyytthhoonn Lutz, Mark; O'Reilly; 1997; ISBN 0-56592-197-6; 880pp. Voir . Etape suivante après Perl. Belle présentation de Python, avec une meilleure intégration de C, il est plus adapté aux projets d'envergure. HHTTMMLL :: TThhee DDeeffiinniittiivvee GGuuiiddee ((22nndd EEddiittiioonn)) Musciano, Chuck & Kennedy. Bill; O'Reilly; 1997; ISBN 0-56592-235-2; 552pp. Voir . Le meilleur guide de référence que je connaisse, et le seul livre sur le HTML dont vous ayez besoin à moins de vouloir utiliser le CGI (Common Gateway Interface). TThhee UUnniixx PPrrooggrraammmmiinngg EEnnvviirroonnmmeenntt Kernighan, Brian, and Pike, Rob; Prentice-Hall; 1984; ISBN 0-13-937681-X; 1984. Un pur classic, sans doute la meilleure présentation en un seul volume de la philosophie UNIX. Version française : "L'environnement de programmation UNIX" 1986, International Edition, 376p, 259FF. 55.. LLiivvrreess ssuurr lleess ééddiitteeuurrss ddee tteexxttee 55..11.. TTeeXX eett LLaaTTeeXX TThhee LLaaTTeeXX CCoommppaanniioonn Goossens, Michael & Mittlebach, Frank, & Samarin, Alexander; Addison-Wesley; 1994; ISBN 0-201-54199-8; 530pp. Voir . Si vous êtes un des utilisateurs voulant savoir comment LaTeX peut vous aider à créer les plus beaux documents sans devenir un expert, alors ce guide est pour vous (tiré de la préface). Bruce Thompson ajoute : "Un très joli livre qui vous donne beaucoup d'infos sur les nouvelles extensions à LaTeX avec un large choix d'exemples vous montrant comment effectuer la mise en forme de vos documents." LLaaTTeeXX:: AA DDooccuummeenntt PPrreeppaarraattiioonn SSyysstteemm ((SSeeccoonndd EEddiittiioonn)) Lamport, Leslie; Addison-Wesley; 1994; ISBN 0-201-52983-1; 256pp. Voir . Bruce Thompson : "Le top des références sur LaTeX 2.09 par son auteur. Une nouvelle édition couvrant LaTeX2e est en préparation (cette version est incluse dans la distribution TeX/LaTeX). LaTeX 2.09 est compatible 100% avec LaTeX2e. Un Must pour quiconque veut utiliser LaTeX. Il donne une introduction simple sur la préparation de document et les différents outils pour les produire avec une qualité professionnelle. De nombreux exemples." TThhee TTeeXXbbooookk,, VVoolluummee AA ooff CCoommppuutteerrss aanndd TTyyppeesseettttiinngg Knuth, Donald A.; Addison-Wesley; 1986, ISBN 0-201-13448; 496pp. Voir Bruce Thompson : "Le Livre d'Or de TeX (comprenant manuel d'utilisateur et livre de référence). Vous n'en aurez probablement jamais besoin pour utiliser TeX de manière normale, mais il reste toutefois un livre fascinant." Je rajouterais que ce livre ne s'adresse pas aux néophytes, à réserver aux experts de TeX. TThhee MMEETTAAFFOONNTT bbooookk,, VVoolluummee CC ooff CCoommppuutteerrss aanndd TTyyppeesseettttiinngg Knuth, Donald A.; Addison-Wesley; 1986; 0-201-13444-6, 1986; 384pp. Voir Bruce Thompson : "Le guide définitif et complet sur METAFONT, une extension de TeX pour la création de polices de caractères. Un excellent ouvrage si vous projetez de créer vos propres polices pour TeX et LaTeX. METAFONT est inclus avec la distribution normale de TeX/LaTeX." Ce livre n'est vraiment pas (mais alors pas du tout !) pour les néophytes, pro only ! 66.. LLiivvrreess ssuurr llaa pprrooggrraammmmaattiioonn eenn CC eett CC++++ 66..11.. CC eett CC++++ TThhee CC PPrrooggrraammmmiinngg LLaanngguuaaggee ((SSeeccoonndd EEddiittiioonn)) Kernighan, Brian W.; Ritchie, Dennis M; Prentice-Hall; 1988; ISBN 0-13-110362-8, 272pp. Une seconde édition améliorée et inspirée du livre édité par le créateur du C "K & R", incluant ANSI C. Toujours le meilleur ! Version française : "Le langage C norme ANSI" seconde édition, 1997, Edition Masson, 296p, 195FF. WWhhoo''ss AAffrraaiidd ooff CC++++ ?? Heller, Steve; Academic Press; 1996; ISBN 0-12-339097; 508pp. Le meilleur livre d'initiation sur la programmation en C++ que je connaisse. 66..22.. LL''iinntteerrffaaccee ddeess aappppeellss ssyyssttèèmmeess eenn CC PPOOSSIIXX PPrrooggrraammmmeerr''ss GGuuiiddee :: WWrriittiinngg PPoorrttaabbllee UUnniixx PPrrooggrraammss Lewine, Donald; O'Reilly; 1992; ISBN 0-937175-73-0; 607pp. Voir . Une excellente référence pour tout programmeur sous POSIX.1. Je préfère ce titre à celui choisi par JH. TThhee PPoossiixx..11 SSttaannddaarrdd :: AA PPrrooggrraammmmeerr''ss GGuuiiddee Zlotnick, Fred; Benjamin Cummings; 1991; ISBN 0-8053-9605-5; 379pp.; $35.95 (USA). JH : "Une fois je me suis plaint de l'absence de pages man pour la section 2. Quelqu'un m'a aussitôt dit de me procurer un livre sur POSIX, qui reflétait bien le sujet de cette section sous Linux. J'aime bien cet ouvrage parce que je ne suis pas un programmeur professionnel et que son auteur donne beaucoup d'explications et d'exemples." 77.. LLiivvrreess ssuurr llee rréésseeaauu UUnniixx NNeettwwoorrkk PPrrooggrraammmmiinngg Stevens, W. Richard; Prentice Hall; 1990; ISBN 0-13-949876-1; 772 pp.; $54 (USA). Tout ce que vous voulez savoir sur ce sujet et même sûrement au delà (vraiment, XNS!?). Bien qu'il soit antérieur au web, il constitue une référence pour ses bases. LLiinnuuxx NNeettwwoorrkk AAddmmiinniissttrraattoorr''ss GGuuiiddee Kirch, Olaf; O'Reilly; 1995; ISBN 1-56592-087-2; 335pp. Voir . Un guide pratique sur le protocole TCP/IP et autres outils associés sous Linux. Accessible également sur la page du Linux Documentation Project à , ou directement à . Version française : "Administration réseaux sous Linux" 1995, Edition O'Reilly, 336p, 220FF. TTCCPP//IIPP NNeettwwoorrkk AAddmmiinniissttrraattiioonn Hunt, Craig; O'Reilly Associates, ISBN 0-937175-82-X; 1992; 472pp. Voir . Moins spécifique à Linux que le livre de Kirch. Développe le TCP/IP en profondeur, incluant le routage et BGP. Version française : "Administration de réseaux" 1995, Edition Eddison Wesley, 576p, 348FF. DDNNSS aanndd BBIINNDD ((SSeeccoonndd EEddiittiioonn)) Albitz, Paul, and Liu, Cricket; O'Reilly; 1996; ISBN 1-56592-236-0; 1992; 438pp; $32.95. Voir . Explique en profondeur le DNS, utile pour les personnes utilisant des installations sophistiquées en réseau relié au net. Couvre aussi la programmation des librairies BIND. SSeennddmmaaiill ((SSeeccoonndd EEddiittiioonn)) Costales, Bryan & Allman, Eric; O'Reilly; ISBN 1-56592-222-0; 1997; 1050 pp; $32.95 Voir . Un guide complet sur l'outil de courrier installé par défaut sur UNIX et LINUX. 88.. LLiivvrreess ssuurr ll''iimmpplléémmeennttaattiioonn dduu nnooyyaauu ssoouuss UUnniixx 88..11.. AAnnccêêttrreess ddee LLiinnuuxx TThhee DDeessiiggnn ooff tthhee UUnniixx OOppeerraattiinngg SSyysstteemm Bach, Maurice J.; Prentice-Hall; ISBN 0-13-201799-7; 470pp.; $60 (USA). Le livre qui a permis à Linus de débuter. Version française : "Conception du système UNIX" 1989, Edition Masson, 512p, 459FF. OOppeerraattiinngg SSyysstteemmss,, DDeessiiggnn aanndd IImmpplleemmeennttaattiioonn;; Tanenbaum, Andrew S.; Prentice-Hall; 1987. Un livre apprécié d'Alan Cox (un des concepteurs du noyau). Tanenbaum a conçu Minix que Linus a remodelé pour en faire Linux. Version française : "Système d'exploitation, systèmes centralisés, systèmes distribués" 1994, International Edition, 848p, 357FF. 88..22.. LLiinnuuxx LLiinnuuxx KKeerrnneell HHaacckkeerrss'' GGuuiiddee Johnston, Michael K. Disponible sur le Web à la page du Linux Documentation Project ou directement à . LLIINNUUXX KKeerrnneell IInntteerrnnaallss Beck, Michael & Bohme, Harold & Mirko, Dziadzka & Kunitz, Ulrich & Magnus, Robert & Verworner, Dick; Addison Wesley; 1996; ISBN : 0-201-87741-4; 480pp. Voir . Un manuel sur la programmation du noyau sous Linux 1.2, légèrement périmé. 88..33.. RReellaattiiffss àà LLiinnuuxx TThhee DDeessiiggnn aanndd IImmpplleemmeennttaattiioonn ooff tthhee 44..44BBSSDD UUnniixx OOppeerraattiinngg SSyysstteemm McKusick, Marshall Kirk, Bostic, Keith, Karels, Michael J., and Quarterman, John S.; Addison-Wesley; 1996; ISBN 0-201-54979-4; 608pp. Voir . Le successeur de l'ouvrage sur l'implémentation du noyau de BSD 4.3, qui a influencé le concept de Linux (spécialement pour les sockets et travail sur internet). Ce livre couvre les bases de BSD 4.4 pour BSD/OS, FreeBSD et NetBSD. PPoorrttiinngg UUnniixx ttoo tthhee 338866 Jolitz, William F., and Jolitz, Lynne G.; Dr. Dobb's Journal; Jan 1991-July 1992. 99.. LLiivvrreess ssuurr ll''aarrcchhiitteeccttuurree eett llaa pprrooggrraammmmaattiioonn ddeess pprroocceesssseeuurrss IInntteell 8800338866 PPrrooggrraammmmeerr''ss RReeffeerreennccee MMaannuuaall Intel Corp.; ISBN 1-55512-022-9; 1986. 1ère partie : Programmation des applications, les types de données, Les modèles d'adressage, mode d'emploi. 2ème partie : Programmation des systèmes, architecture, gestion de la mémoire, protection, multi-taches, Entrée/Sortie, exceptions et interruptions, initialisation, co-processeur et multi- processeur. 3ème partie : Compatibilité avec les machines plus anciennes x86. 4ème partie : Manuel des instructions. 8800338866 SSyysstteemm SSooffttwwaarree WWrriitteerr''ss GGuuiiddee Intel Corp.; ISBN 1-55512-023-7; 1987. Ce livre explique les caractéristiques du 386 pour les programmeurs de système d'exploitation. Il contient un chapitre sur l'implémentation d'Unix. Beaucoup d'architectures basées sur le 80386 semblent avoir été prévues avec Multics, les caractéristiques ne sont pas compatibles avec DOS et UNIX. PPrrooggrraammmmiinngg tthhee 8800338866 Crawford, John H & Gelsinger, Patrick P.; Sybex; ISBN 0-89588-381-3; 774pp.; $26.95 (USA). Les Jolitz ont utilisé ce livre pour adapter le BSD sur l'architecture 386. PPeennttiiuumm PPrroocceessssoorr UUsseerr''ss MMaannuuaall :: VVoolluummee 33,, AArrcchhiitteeccttuurree aanndd PPrroo­­ ggrraammmmiinngg Manual" Intel Corp.; 1993; ISBN 1-55512-195-0; A peu de choses près la version Pentium du manuel de référence listé ci-dessus. 1100.. LLiivvrreess ssuurr llee mmaattéérriieell PPCC Note : ces livres ont quatre ou cinq ans et sont probablement dépassés. Le matériel n'est pas ma tasse de thé... 8800338866 HHaarrddwwaarree RReeffeerreennccee MMaannuuaall Intel Corp.; 1986; ISBN 1-55512-024-5; Connections des pin, synchronisation, type d'ondulation, diagrammes de bloc, voltages, toutes ces sortes de choses. TThhee IInnddiissppeennssaabbllee PPCC HHaarrddwwaarree BBooookk Messmer, Hans-Peter; Addison-Wesley; 1993; ISBN 0-201-62424-9; 1000 pp. JH : "Couvre les plus récentes technologies comme les bus EIDE et PCI." 1111.. AAssppeeccttss aaddmmiinniissttrraattiiffss 1111..11.. CCoonnddiittiioonnss dd''uuttiilliissaattiioonnss Ce document est copyright 1997 par Eric S. Raymond. Vous pouvez l'utiliser, le diffuser et le reproduire librement pour autant que vous : · Ne supprimiez ou modifiez pas cette notice de copyright. · Ne supprimiez ou modifiez pas le numéro de version et la date. · Ne supprimiez ou modifiez pas le lien vers la version actuelle sur le Web. · Marquiez clairement toute version condensée ou altérée comme telle. Ces restrictions visent à protéger les lecteurs potentiels de versions dépassées ou déformées. Si vous pensez avoir un motif justifiant une exception, contactez-moi. 1111..22.. HHiissttoorriiqquuee Ceci était à l'origine un mini-HOWTO géré par Jim Haynes. J'en ai changé un peu la teneur, essayant d'en faire un document plus autonome et moins dépendant des divers articles bibliographiques de USENET. Les minicommentaires non attribués sont plutôt les miens que les siens. Les rajouts pour la version française n'ont rien à voir avec celle d'origine.