Parte I
Il sistema


1 Introduzione
 1.1 Il computer
 1.2 Il sistema operativo
 1.3 La rappresentazione delle informazioni
 1.4 La memorizzazione delle informazioni
 1.5 Gli utenti
 1.6 L’interfaccia utente
 1.7 L’hardware
 1.8 I dischi
 1.9 Il filesystem
 1.10 Il layout della tastiera
 1.11 Il software
 1.12 La notifica degli eventi
 1.13 Le reti di computer
 1.14 Le distribuzioni di GNU/Linux
 1.15 L’installazione
 1.16 I pacchetti
 1.17 Reperibilità della documentazione
 1.18 Riferimenti
2 Avvio ed arresto del sistema
 2.1 Il boot
 2.2 Parametri di avvio
 2.3 Avvio del sistema
 2.4 I file di configurazione
 2.5 I runlevel
 2.6 I terminali virtuali
 2.7 I daemon
 2.8 Accesso al sistema
 2.9 Arresto del sistema
 2.10 Riferimenti
3 La shell ed i job
 3.1 La tastiera e l’interfaccia a caratteri
 3.2 La shell
 3.3 Le varie shell
 3.4 Bash - Bourne Again Shell
 3.5 Riferimenti
4 Il filesystem
 4.1 I dispositivi di memoria di massa
 4.2 Partizionamento del disco
 4.3 I file di dispositivo
 4.4 Inizializzazione del filesystem
 4.5 La struttura del filesystem
 4.6 Il filesystem ext2
 4.7 Journaled filesystem
 4.8 Il VFS
 4.9 mount e umount
 4.10 Filesystem all’interno di un file
 4.11 La tabella dei filesystem /etc/fstab
 4.12 “Navigare” nel filesystem
 4.13 Alcune directory particolari
 4.14 I permessi e l’umask
 4.15 Cambiare la root directory
 4.16 Lo swap
 4.17 Il quota
 4.18 RAID
 4.19 LVM
 4.20 RAM disk
 4.21 Copia e ripristino di partizioni
 4.22 Montaggio automatico dei fileystem
 4.23 Comandi utili
 4.24 Riferimenti
5 Operazioni su file e directory
 5.1 Creazione di file
 5.2 Creazione di directory
 5.3 Copia di file o directory
 5.4 Spostamento o rinominazione di file o directory
 5.5 Modificare la data/ora di un file o directory
 5.6 Cancellazione di file o directory
 5.7 Visualizzazione del contenuto di un file
 5.8 Modifica del contenuto di un file
 5.9 Ricerca di file o nel contenuto di file
 5.10 Differenze tra file
 5.11 Ordinamento
 5.12 Archiviazione e compressione
 5.13 Le espressioni regolari
 5.14 Riferimenti
6 Utenti ed accesso al sistema
 6.1 User account
 6.2 Group account
 6.3 Visualizzazione di UID e GID
 6.4 Modificare il proprio GID
 6.5 La cifratura della password
 6.6 Il meccanismo delle shadow password
 6.7 Impersonare un altro utente
 6.8 Casi particolari
 6.9 La registrazione degli eventi
 6.10 La libreria PAM
 6.11 La procedura di login
 6.12 Comandi utili
 6.13 Riferimenti
7 Il kernel ed i processi
 7.1 Il kernel
 7.2 LKM - I moduli del kernel
 7.3 I device driver
 7.4 I processi
 7.5 Lo scheduler
 7.6 La comunicazione tra processi
 7.7 I file di lock
 7.8 Riferimenti
8 La stampa
 8.1 Introduzione
 8.2 Postscript e Ghostscript
 8.3 Lo spooler
 8.4 CUPS
 8.5 Comandi utili
 8.6 Riferimenti
9 Il tempo
 9.1 L’orologio di sistema
 9.2 La schedulazione dei job
 9.3 Riferimenti
10 Il suono
 10.1 Concetti di base
 10.2 La riproduzione del suono
 10.3 Configurazione
 10.4 Riferimenti
11 L’interfaccia grafica
 11.1 Concetti di base
 11.2 X Window System
 11.3 X Display Manager
 11.4 Permessi di accesso al server grafico
 11.5 Window manager
 11.6 Desktop environment
 11.7 I temi del desktop
 11.8 Caratteri particolari
 11.9 Gli pseudo terminali
 11.10 La gestione dei font
 11.11 Riferimenti
12 Applicazioni utili
 12.1 Gestione del filesystem
 12.2 Terminale grafico
 12.3 Calcoli
 12.4 Scrittura di testo non formattato
 12.5 Scrittura di testo formattato
 12.6 Grafica
 12.7 Audio
 12.8 Office automation
 12.9 Visualizzazione file PDF
 12.10 Web browser
 12.11 Tool per lo sviluppo
 12.12 Riferimenti
13 Installazione del software
 13.1 I pacchetti
 13.2 Riferimenti
14 Cenni sui database
 14.1 Introduzione
 14.2 Tipi di database
 14.3 Entità e relazioni
 14.4 I RDBMS
 14.5 La gestione degli utenti
 14.6 Implementazioni di database
 14.7 Riferimenti
15 Sviluppo di applicazioni
 15.1 Introduzione
 15.2 Gli algoritmi ed i programmi
 15.3 I metodi di programmazione
 15.4 I linguaggi di programmazione
 15.5 Gli strumenti
 15.6 Riferimenti