The Linux Reading List HOWTO
di Eric S. Raymond
v1.11, 23 marzo 2000
Questo documento elenca i libri che penso siano i pi� validi per una
persona che provi ad imparare Unix (in particolare Linux) partendo dai
concetti generali. Traduzione di Giovanni Bortolozzo (borto at
pluto.linux.it).
1. Introduzione
1.1. Scopo di questo documento
Questo documento elenca quello che io considero essere libri di
riferimento essenziali per imparare Unix (specialmente Linux) e a
programmare in esso.
1.2. Nuove versioni di questo documento
Le nuove versioni del Linux Reading List HOWTO saranno postate
periodicamente su comp.os.linux.answers. Ne sar� inoltre fatto
l'upload ai tanti siti WWW e FTP su Linux, tra cui la home page di
LDP.
L'ultima versione la si pu� consultare nel World Wide Web a questo URL
<
http://sunsite.unc.edu/LDP/HOWTO/Reading-List-HOWTO.html>.
1.3. Commenti e correzioni
Se si hanno domande o commenti su questo documento (o semplicemente si
vuole suggerire un libro che si pensa ci dovrebbe essere), si invii
liberamente una mail a Eric S. Raymond, a
[email protected]. Qualsiasi
suggerimento o critica sar� il benvenuto.
1.4. Risorse correlate
Per HOWTO, riviste e altro materiale in linea, si veda la home page
del Linux Documentation Project <
http://sunsite.unc.edu/LDP/HOWTO>.
Alcuni anni fa ho scritto una bibliografia Unix meno incentrata su
Linux che potrebbe ancora essere di un qualche interesse, oltre a
essere un po' divertente. La Loginataka la si pu� trovare a
<
http://www.tuxedo.org/~esr/faqs/loginataka.html>.
SAGE, il System Administrator's Guild, mantiene un elenco eccellente
di libri importanti a
<
http://www.usenix.org/sage/sysadmins/books/booklist.html>.
1.5. Convenzioni usate in questo documento
I commenti non tra virgolette o sono miei, oppure non ho trovato
nessun motivo di cambiare quelli originali di Jim Haynes (il
manutentore precedente di questo documento). Commenti inviati da altri
sono tra virgolette e sono preceduti dal nome del rispettivo autore
(JH � Jim Haynes).
Gli URL �Si veda� annessi alle informazioni di pubblicazione puntano
direttamente al catalogo web dell'editore e tipicamente conducono ad
una pagina contenente una foto della copertina, fascette pubblicitarie
e informazioni per l'ordine. Alcuni libri non hanno questo link
poich� l'editore usa i frame e non � possibile fare un bookmark delle
pagine del catalogo.
Le aree elencante partono a grandi linee dalle cose pi� generali fino
a quelle pi� specifiche (dalla cultura alla programmazione utente, per
passare poi alla programmazione del kernel fino all'hardware). Nelle
varie sezioni ho provato a elencare per primi i libri pi� utili e con
i quali ho pi� familiarit�. Onestamente, � solamente un'imbarazzante
coicidenza che un mio libro appaia per primo in questo elenco! (Sono
ben accetti suggerimenti per una migliore organizzazione.)
2. Libri su cultura, storia e pragmatica
The New Hacker's Dictionary (Third Edition)
Raymond, Eric S.; MIT Press; 1996; ISBN 0-262-68092-0; 547pp.
Si veda <
http://www-mitpress.mit.edu/book-
home.tcl?isbn=0262680920>.
Ehm... Una guida alla cultura di Internet. Piace ad un sacco di
gente. Versione HTML nella Jargon File Resource Page
<
http://www.tuxedo.org>.
A Quarter Century of Unix
Salus, Peter H.; Addison-Wesley; 1994; ISBN 0-201-54777-5;
256pp.
Si veda <
http://www.awl-he.com/titles/13683.html>
Linux � parte della tradizione Unix. Questo libro � la storia di
Unix -- come � nato, com'� evoluto, come si � diffuso --
raccontata da chi c'era.
The Mythical Man Month (Anniversary Edition)
Brooks, Frederick P.; Addison-Wesley 1995 (ISBN 0-201-83595-9).
Si veda <
http://www.awl-he.com/titles/14147.html>.
Il libro sull'ingegneria del software che tutti dovrebbero
leggere.
Alan Cox: �Lo raccomando non per il suo valore tecnico, bens�
per come applica il comune buon senso e realismo ai progetti
software.� JH: �Ah, s�. Quello che si sarebbe dovuto fare se
Linus avesse auto a disposizione 200 programmatori e avesso
voluto produrre Linux in 3 mesi!�
Bell System Technical Journal, July-August 1978, Vol. 57, No. 6,
part 2
AT&T; 416 pp.
Alcuni dei primi articoli su Unix, tra cui Ritchie & Thompson,
�The UNIX Time Sharing System�; Thompson, �UNIX Implementation�;
Ritchie, �A Retrospective�; Bourne, �The UNIX Shell�...
3. Libri su Unix/Linux in generale
3.1. Installazione ed amministrazione di Linux
Linux Installation and Getting Started
Welsh, Matt; LDP; 1997. Disponibile nella home page di LDP,
oppure direttamente a <
http://www.linuxdoc.org/LDP/gs/>.
Come far funzionare Linux. Spiega un sacco di concetti basilari
su Linux. Tratta alcune nozioni basilari di amministrazione di
sistema.
Linux System Administrator's Guide
Wirzenius, Lars; LDP; 1997. Disponibile nella home page di LDP,
oppure direttamente a <
http://www.linuxdoc.org/LDP/sag>.
Un eccellente libro di partenza su come mantenere ed
amministrare un sistema Linux.
Essential System Administration (Second Edition)
Frisch, Aeleen; O'Reilly; 1995; ISBN 1-56592-127-5; $34.95.
Si veda <
http://www.ora.com/catalog/esa2/noframes.html>.
Trattazione pi� approfondita dei normali task di amministrazione
di sistema. Non specifico su Linux sebbene contenga materiale
su Linux.
3.2. Usare Unix & Linux
Linux in a Nutshell (2nd edition)
Hekman, Jessica P. et al.; O'Reilly; ISBN 1-56592-585-8,; 1999;
628 pp. $29.95.
Si veda <
http://www.oreilly.com/catalog/linuxnut2/>.
Secondo O'Reilly, �La guida di riferimento per Linux�. Dedicata
agli utenti di Linux, rende obsoleto il loro �Unix In a
Nutshell� che era pi� orientato a SVr4/Solaris.
Running Linux (Third Edition)
Welsh, Matt, & Matthias Kallw Dalheimer & Kaufman, Lar;
O'Reilly; ISBN 1-56592-469-X; 1999; 650pp; $34.95.
Si veda <
http://www.oreilly.com/catalog/runux3/>.
Tutto quello che si deve sapere per poter capire, installare e
usare il sistema operativo Linux. Un libro eccellente per
novizi.
Hands-on-Linux
Sobell, Mark G.; Addison-Wesley; ISBN ISBN 0-201-32569-1; 1998;
1015 pp.
Semplicemente quel che dice il titolo -- lezioni pratiche sui
fondamenti di Unix, shell, editor, programmi per la posta,
networking, strumenti per il Web ed utilit� varie. Tratta alcuni
fondamenti di amministrazione di sistema (questa sembra essere
un nuovo formato del ``A Practical Guide to Linux'' del 1997 da
parte degli stessi autori, senza una copia di Caldera OpenLinux
Lite)
3.3. Sicurezza di sistema
Practical Unix and Internet Security (2nd Edition)
Garfinkel, Simpson, and Spafford, Gene; O'Reilly Associates;
ISBN 0-56592-148-8; 1004pp; 1996; $39.95.
Si veda <
http://www.ora.com/catalog/puis/noframes.html>.
Ronald P. Miller: �Qualche sovrapposizione con Essential System
Admin., ma in fin dei conti un buon libro sulla sicurezza,
specialmente per quanti aspirano a permettere l'accesso alle
proprie macchine Linux da parte di pi� utenti sia in dial-up che
attraverso la rete.�
Firewalls & Internet Security
Cheswick, William R. & Bellovin, Steven M.; Addison-Wesley;
1994; ISBN 0-201-63357-4; 320pp.
4. Libri su shell, script e programmazione Web
Programming Perl (Second Edition)
Wall, Larry & Christiansen, Tom & Schwartz, Randal; O'Reilly;
1997; ISBN 0-56592-149-6; 644pp.
Si veda <
http://www.ora.com/catalog/pperl2/noframes.html>.
La shell (come linguaggio di programmazione per script appena un
pelino complessi) � morta. Perl ha preso il suo posto. Questa
� la seconda edizione del libro definitivo su Perl -- molto
meglio organizzato del precedente e tratta Perl 5.
Emmanuel Pierre mantiene un breve elenco di libri sul Perl
<www.e-nef.com/perl/listeperl.html>.
Programming Python
Lutz, Mark; O'Reilly; 1997; ISBN 0-56592-197-6; 880pp.
Si veda <
http://www.ora.com/catalog/python/noframes.html>.
Il passo successivo al Perl. Python � spendidamente progettato,
ha una migliore integrazione con C, ed � meglio scalabile per
problemi di grosse dimensioni.
HTML: The Definitive Guide (3nd Edition)
Musciano, Chuck & Kennedy. Bill; O'Reilly; 1998; ISBN
1-56592-492-4; 576pp.
Si veda <
http://www.oreilly.com/catalog/html3/>.
La migliore guida/riferimento di HTML che ho mai visto, ed � il
solo libro su HTML di cui si avr� bisogno finch� non si voglia
usare CGI.
The Unix Programming Environment
Kernighan, Brian, and Pike, Rob; Prentice-Hall; 1984; ISBN
0-13-937681-X; 1984.
Un vero classico -- se possibile la miglior esposizione in un
unico libro della filosofia di Unix.
5. Libri sulla formattazione testi
5.1. Tex e LaTeX
The LaTeX Companion
Goossens, Michael & Mittlebach, Frank, & Samarin, Alexander;
Addison-Wesley; 1994; ISBN 0-201-54199-8; 530pp.
Si veda <
http://www.awl-he.com/titles/13661.html>.
Dalla Prefazione: �Se sei uno di quegli utenti a cui piacerebbe
sapere come LaTeX pu� essere esteso per creare i documenti pi�
belli possibile senza diventare un guru di (La)TeX, allora
questo libro fa proprio per te�. Bruce Thompson aggiunge: �Un
libro veramente molto bello che fornisce un sacco di
informazioni sulle nuove estensioni del LaTeX e moltissimi
esempi che mostrano precisamente come il layout del proprio
documento pu� essere manipolato.�
LaTeX: A Document Preparation System (Second Edition)
Lamport, Leslie; Addison-Wesley; 1994; ISBN 0-201-52983-1;
256pp.
Si veda <
http://www.awl-he.com/titles/13632.html>.
Bruce Thompson: �Il riferimento definitivo su LaTeX 2.09 ad
opera del suo autore. Una nuova edizione che tratta il LaTeX2e
(la versione attualmente inclusa nelle distribuzioni di
TeX/LaTeX) � in preparazione. LaTeX 2.09 � pienamente
supportato da LaTeX2e. Un must per quanti vogliono usare LaTeX.
Fornisce una introduzione graduale alla preparazione dei
documenti e ai diversi strumenti che LaTeX mette a disposizione
per produrre documenti di qualit� professionale. Moltissimi
esempi.�
The TeXbook, Volume A of Computers and Typesetting; Knuth, Donald
A.
Addison-Wesley; 1986, ISBN 0-201-13448; 496pp. Si veda
<
http://www.awl.com/cp/TeXbook.html>
Bruce Thompson: �La guida utente definitiva ed il manuale di
riferimento completo per TeX. Probabilmente non serve per il
normale uso di LaTeX, ma resta comunque un libro molto
affascinante.� Voglio sottilineare che questo libro non � per
deboli di cuore.
The METAFONT book, Volume C of Computers and Typesetting
Knuth, Donald A.; Addison-Wesley; 1986; 0-201-13444-6, 1986;
384pp.
Si veda <
http://www.awl.com/cp/METAFONTbook.html>
Bruce Thompson: �La guida utente definitiva ed il manuale di
riferimento completo per METAFONT, il programma di supporto a
TeX per la creazione dei font. Un eccellente lavoro se si ha
intenzione di sviluppare dei propri font per l'uso in TeX e
LaTeX. METAFONT � incluso nelle normali distribuzioni di
TeX/LaTeX.� Questo libro non � veramente per i deboli di cuore.
6. Buone norme/stili di programmazione
Quelli che seguono sono testi classici su come sviluppare programmi
efficienti:
The Practice of Programming
Kernighan, Brian W. & Pike. Rob; 1999; Addison-Wesley; ISBN
0-201-61586-X. Si veda <
http://cm.bell-labs.com/cm/cs/tpop/>
Un eccellente trattato sulla scrittura di programmi di alta
qualit�. sicuramente destinato a diventare un classico in questo
campo.
Programming Pearls (2nd Edition)
Bentley, Jon; 2000; Addison-Wesley; ISBN ISBN 0-201-65788-0. Si
veda <
http://www.programmingpearls.com/>
Questa � una selezione di saggi dalla colonna di Bentley nella
rivista Communications of the ACM. Discute una grande variet�
di questioni sul miglioramento dei programmi, e comprende un
grosso numero di esempi sull'efficienza.
Writing Efficient Programs.
Bentley, Jon Louis; 1982; Prentice-Hall, Inc.; ISBN
0-13-970251-2 o 0-13-970244-X.
Questo libro presenta la metodologia e un insieme di regole di
Bentley per aumentare l'efficienza di un programma, e comprende
un grande numero di esempi.
7. Libri sulla programmazione C e C++
7.1. C e C++
The C Programming Language (Second Edition)
Kernighan, Brian W.; Ritchie, Dennis M; Prentice-Hall; 1988;
ISBN 0-13-110362-8, 272pp.
La seconda versione migliorata, che tratta l'ANSI C,
dell'originale classico libro scritto dagli inventori del C,
�K&R�. Ancora il migliore!
Who's Afraid of C++?
Heller, Steve; Academic Press; 1996; ISBN 0-12-339097; 508pp.
Il miglior libro introduttivo sul C++ che io abbia mai visto.
Ora disponibile anche sul Web
<
http://www.steveheller.com/whos>.
7.2. Intefaccia C alle chiamate a sistema
POSIX Programmer's Guide: Writing Portable Unix Programs
Lewine, Donald; O'Reilly; 1992; ISBN 0-937175-73-0; 607pp.
Si veda <
http://www.ora.com/catalog/posix/noframes.html>.
Un eccellente riferimento per i programmatori sugli standard
POSIX.1. Preferisco questo piuttosto di quello scelto da JH.
The Posix.1 Standard: A Programmer's Guide
Zlotnick, Fred; Benjamin, Cummings; 1991; ISBN 0-8053-9605-5;
379pp.; $35.95 (USA).
JH: �Quando protestai per la mancanza della Sezione 2 delle
pagine man di Linux, qualcuno mi disse di prendermi un libro su
POSIX, perch� � questo � quello che fa Linux. Mi piace questo
libro perch� non sono un programmatore professionista e l'autore
fornisce copiose spiegazioni ed esempi.�
Advanced Programming in The Unix Environment
Stevens, Richard; 1992; ISBN 0-201-56317; Addison-Wesley
Un libro sulla programmazzione generica in Unix, buono quanto il
classico libro di Stevens sulla programazione di rete.
Linux Application Development
Michael K. Johnson, Erik W. Troan; 1998; ISBN 0201308215;
Addison-Wesley.
Il miglio riferimento sulle API C di Linux.
8. Libri sul networking
Unix Network Programming
Volume 1, Networking APIs: Sockets and XTI W. Richard Stevens,
PTR Prentice-Hall, 1998 ISBN 0-13-490012-X
UNIX Network Programming 2nd Edition, Volume 2, Interprocess
Communications W. Richard Stevens PTR Prentice-Hall, 1998
Tutto quel che si deve sapere sull'argomento. Generalmente
considerati come le guida definitiva.
Linux Network Administrator's Guide
Kirch, Olaf; O'Reilly; 1995; ISBN 1-56592-087-2; 335pp.
Si veda <
http://www.ora.com/catalog/linag/noframes.html>.
Una guida pratica sul TCP/IP di Linux e sui servizi correlati.
Accessibile sul Web attraverso la pagina del Linux Documentation
Project, o direttamente a
<
http://sunsite.unc.edu/LDP/LDP/nag/nag.html>.
TCP/IP Network Adminstration
Hunt, Craig; O'Reilly Associates, ISBN 0-937175-82-X; 1992;
472pp.
Si veda <
http://www.ora.com/catalog/tcp2/noframes.html>.
Meno specifico su Linux rispetto al libro di Kirch. Sviluppa
una trattazione pi� approffondita del cuore del TCP/IP,
trattando anche instradamento e BGP.
DNS and BIND (Second Edition)
Albitz, Paul, and Liu, Cricket; O'Reilly; 1998; ISBN
1-56592-512-2; 502pp; $32.95.
Si veda <
http://www.ora.com/catalog/dns2/noframes.html>.
Approfondita trattazione del DNS, utile a quanti usano
complicate installazioni con diverse sottoreti. Tratta la
libreria di programmazione BIND.
Sendmail (Second Edition)
Costales, Bryan & Allman, Eric; O'Reilly; ISBN 1-56592-222-0;
1997; 1050 pp; $32.95
Si veda <
http://www.ora.com/catalog/sendmail2/noframes.html>.
Una esaustiva (ed estenuante) guida all'agente di trasferimento
delle mail standard di Linux e Unix.
9. Libri sull'Implementazione del kernel Unix
9.1. Antenati di Linux
The Design of the Unix Operating System
Bach, Maurice J.; Prentice-Hall; ISBN 0-13-201799-7; 470pp.; $60
(USA).
Il libro da cui � partito Linus. Si veda
<
http://www.prenhall.com/books/ptr_0132017997.html>
Operating Systems, Design and Implementation;
Tanenbaum, Andrew S.; Prentice-Hall; 1987.
Ad Alan Cox (una delle persone del cuore del kernel) piace
questo libro. Tanenbaum ha progettato Minix, che � il sistema
da cui Linus ha avviato Linux. Si veda
<
http://www.prenhall.com/books/esm_0136386776.html>.
9.2. Linux
The Linux Kernel book
R�my Card, �ric Dumas, Franck M�vel; John Wiley and Sons; 1998;
ISBN 0-471-98141-9. $100 (AUS).
(Traduzione del libro in lingua francese �Programmation Linux
2.0�; stessi autori; 1997; �ditions Eyrolles; Paris, France.)
Un descrizione molto interessante e informativa del
funzionamento del kernel che riesce a riempire i buchi tra
l'intefaccia POSIX e �The Design of the Unix Operating System� e
i codici sorgente di Linux. Un prerequisito � una buona
comprensione del progetto e del funzionamento di un SO UNix, ma
questo libro � comunque un eccellente aiuto per andare oltre la
semplice comprensione e cominciare il vero lavoro.
L'autore principale � uno degli sviluppatori chiave del
filesystem ext2, e questo libro mostra una forte conoscenza
della materia, con spiegazioni chiare e struttura. �
sorprendentemente leggibile per qualcosa che tratta argomenti a
cos� basso livello. Il libro sembra aver leggermente sofferto
della traduzione in inglese -- ci sono alcuni errori di
battitura e grammaticali, ma � abbastanza leggibile (i nomi dei
file d'esempio sono maliziosamente lasciati in francese).
Non � trattata l'implementazione dei protocolli di rete.
Il libro � incentrato su Linux 2.0.35 con qualche preannuncio
del 2.1 e 2.2.
Linux Kernel Hackers' Guide
Johnson, Michael K.
Accessibile sul Web nella pagina Linux Documentation Project, o
direttamente a
<
http://www.redhat.com/mirrors/LDP/LDP/khg/HyperNews/get/khg.html>
LINUX Kernel Internals (Second Edition)
Beck, Michael & Bohme, Harold & Mirko, Dziadzka & Kunitz, Ulrich
& Magnus, Robert & Verworner, Dick; Addison Wesley; 1998;
ISBN:0-201-33143-8; 480.
Si veda <
http://www.awl-he.com/titles/11653.html>.
Una guida alla programmazione del kernel di Linux; tratta 2.0.
9.3. Parenti di Linux
The Design and Implementation of the 4.4BSD Unix Operating System
McKusick, Marshall Kirk, Bostic, Keith, Karels, Michael J., and
Quarterman, John S.; Addison-Wesley; 1996; ISBN 0-201-54979-4;
608pp.
Si veda <
http://www.awl-he.com/titles/13693.html>
Il successore del classico libro sull'implementazione del kernel
4.3 di BSD, che ha influenzato il design di Linux (specialmente
per i socket e il networking). Questo libro copre i fondamenti
4.4BSD di BSD/OS, FreeBSD e NetBSD.
Porting Unix to the 386; Jolitz, William F., and Jolitz, Lynne G.
Dr. Dobb's Journal; Jan 1991-July 1992.
10. Libri sull'architettura e programmazione dei processori Intel
80386 Programmer's Reference Manual
Intel Corp.; ISBN 1-55512-022-9; 1986;
Parte I. Programmazione delle Applicazioni: tipi di dati,
modello di memoria, insieme di istruzioni. Parte II.
Programmazione di Sistema: architettura, gestione e protezione
della memoria, multitasking, I/O, exception e interrupt,
inizializzazione, uso del coprocessore e del multiprocessing.
Parte III. Compatibilit� (con le vecchie macchine x86). Parte
IV. Insieme di Istruzioni.
80386 System Software Writer's Guide
Intel Corp.; ISBN 1-55512-023-7; 1987.
Spiega le caratteristiche del 386 per gli autori di sistemi
operativi. Include un capitolo sull'implementazione di Unix.
Buona parte dell'architettura del 80386 sembra essere stata
sviluppata tenendo ben in mente il Multics; le caratteristiche
che non sono usate da DOS o da Unix.
Programming the 80386
Crawford, John H & Gelsinger, Patrick P.; Sybex; ISBN
0-89588-381-3; 774pp.; $26.95 (USA).
Questo � il libro che Jolitzes ha usato quando ha fatto il port
di BSD sull'architettura 386.
Pentium Processor User's Manual: Volume 3, Architecture and Pro�
gramming
Manual" Intel Corp.; 1993; ISBN 1-55512-195-0;
Praticamente la versione per Pentium del 80386 Programmer's
manual prima citato.
11. Libri sull'hardware per PC
Nota: questi libri sono vecchi di quattro o cinque anni e
probabilmente obsoleti. Sinceramente non ho mai messo le mani
sull'hardware...
80386 Hardware Reference Manual
Intel Corp.; 1986; ISBN 1-55512-024-5;
Connessioni dei piedini, temporizzazioni, forme d'onda,
diagrammi a blocchi, tensioni e tutto questo genere di cose.
The Indispensable PC Hardware Book
Messmer, Hans-Peter; Addison-Wesley; 1993; ISBN 0-201-62424-9;
1000 pp.
JH: �Tratta le cose pi� recenti come EIDE e PCI.�
12. Questioni legali
12.1. Licenza d'Uso (in inglese)
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.
12.2. Storia
In origine questo documento era un mini HOWTO mantenuto da Jim Haynes.
Io ho cambiato un po' di cose, provando a renderlo un documento a s�
stante e meno basato sulle varie bibliografie postate in USENET. Le
piccole recensioni senza nome sono mie anzich� sue.