Guida all’installazione di Debian GNU/Linux19 maggio 2024

Guida all’installazione di Debian GNU/Linux
Copyright © 2004 – 2023 Debian Installer team

Questo manuale è software libero; può essere ridistribuito e/o modificato nei termini della GNU General Public
Licence. Si faccia riferimento alla licenza in Appendice F.
Versione compilata di questo manuale: 20230508+deb12u1.

i

Indice1

Benvenuti in Debian
1.1 Cosa è Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Cosa è GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Cosa è Debian GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Cosa è l’Installatore Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Procurarsi Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Versione più recente di questa guida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7 Organizzazione della guida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8 Copyright e licenze software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
1
1
2
3
3
3
3
4

2

Requisiti di sistema
2.1 Hardware supportato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Architetture supportate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 I tre port ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Variazioni nelle CPU ARM e difficoltà di supporto . . . . . . . . . . . . . . . . . . . . . .
2.1.4 Piattaforme supportate da Debian/armel . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.5 Dispositivi non più supportati da Debian/armel . . . . . . . . . . . . . . . . . . . . . . . .
2.1.6 Hardware grafico supportato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.7 Schede di rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.8 Periferiche e altro hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Dispositivi che richiedono firmware specifico . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Acquistare hardware specifico per GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Evitare hardware chiuso o proprietario . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Supporti per l’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 CD-ROM/DVD-ROM/BD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.3 Disco fisso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.4 Un*x o sistemi GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.5 Sistemi d’archiviazione supportati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Requisiti di memoria e spazio su disco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
9
9
9
9
9

3

Preparazione dell’installazione di Debian GNU/Linux
3.1 Panoramica del processo d’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Backup dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Informazioni necessarie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Documentazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1.1 Guida all’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1.2 Documentazione hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Ricerca d’informazioni sull’hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3 Compatibilità hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3.1 Verifica della compatibilità hardware con un sistema live . . . . . . . . . . . . .
3.3.4 Impostazione della rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Requisiti hardware minimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Prepartizionamento per sistemi ad avvio multiplo . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Configurazione di hardware e sistema operativo prima dell’installazione . . . . . . . . . . . . . . .
3.6.1 ARM firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.2 Impostazione dell’indirizzo MAC in U-Boot . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.3 Problemi di rilocazione del Kernel/Initrd/Device-Tree con U-Boot . . . . . . . . . . . . .

10
10
11
11
11
11
11
11
12
13
13
13
14
14
14
15
15

ii

INDICE

4

Recupero dei supporti per l’installazione
4.1 Immagini per l’installazione Debian GNU/Linux ufficiali . . . . . . . . . . . . . . . . . . . . . . .
4.2 Recupero dei file dai mirror Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Dove trovare i file per l’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1.1 File d’installazione per Kurobox Pro . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1.2 File d’installazione per HP mv2120 . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1.3 File d’installazione per QNAP Turbo Station . . . . . . . . . . . . . . . . . . .
4.2.1.4 File d’installazione per plug computer e OpenRD . . . . . . . . . . . . . . . . .
4.2.1.5 File d’installazione per NAS LaCie . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Preparazione dei file per l’avvio TFTP da rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Attivazione di un server RARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Attivazione di un server DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.3 Attivazione di un server BOOTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.4 Attivazione di un server TFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.5 Posizionamento delle immagini TFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Installazione automatizzata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1 Installazione automatizzata usando l’Installatore Debian . . . . . . . . . . . . . . . . . . .
4.5 Verificare l’integrità dei file per l’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16
16
16
16
16
16
17
17
17
17
17
17
18
18
19
19
19
19

5

Avvio del sistema d’installazione
5.1 Avvio dell’installatore su ARM 32 bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Formati delle immagini d’avvio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Avvio con TFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2.1 Avvio da TFTP con U-Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Accessibilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Interfaccia utente dell’Installatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2 Altri dispositivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.3 Temi a contrasto elevato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.4 Zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.5 Installazione esperta, modalità ripristino e installazione automatizzata . . . . . . . . . . . .
5.2.6 Accessibilità del sistema installato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Parametri di avvio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Avvio da console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2 Parametri dell’Installatore Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.3 Uso dei parametri di avvio per rispondere alle domande . . . . . . . . . . . . . . . . . . .
5.3.4 Passaggio di parametri ai moduli del kernel . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.5 Moduli del kernel in blacklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Risoluzione dei problemi del processo d’installazione . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Affidabilità del supporto ottico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1.1 Problemi comuni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1.2 Come analizzare e forse risolvere questi problemi . . . . . . . . . . . . . . . . .
5.4.2 Configurazione dell’avvio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.3 Interpretazione dei messaggi di avvio del kernel . . . . . . . . . . . . . . . . . . . . . . .
5.4.4 Segnalazione di problemi con l’installazione . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.5 Invio dei rapporti di installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20
20
20
20
20
21
21
22
22
22
22
22
22
22
23
25
25
25
26
26
26
26
27
27
28
28

6

Uso dell’Installatore Debian
6.1 Come funziona l’Installatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Introduzione ai componenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Uso dei singoli componenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1 Impostazione dell’Installatore Debian e configurazione dell’hardware . . . . . . . . . . . . .
6.3.1.1 Controllo della memoria disponibile e modalità «low memory» . . . . . . . . . .
6.3.1.2 Selezione delle opzioni di localizzazione . . . . . . . . . . . . . . . . . . . . . .
6.3.1.3 Selezione della tastiera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1.4 Ricerca dell’immagine ISO del Debian Installer . . . . . . . . . . . . . . . . . .
6.3.1.5 Configurazione della rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1.5.1 Configurazione automatica della rete . . . . . . . . . . . . . . . . . .
6.3.1.5.2 Configurazione automatica della rete . . . . . . . . . . . . . . . . . .
6.3.1.5.3 IPv4 e IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30
30
31
32
32
32
33
33
34
34
34
34
35

iii

INDICE

6.3.2

Impostazione di utenti e password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.2.1 Impostazione della password di root . . . . . . . . . . . . . . . . . . . . . . . .
6.3.2.2 Creazione di un utente normale . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.3 Configurazione dell’orologio e del fuso orario . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.4 Partizionamento e selezione del punto di mount . . . . . . . . . . . . . . . . . . . . . . .
6.3.4.1 Opzioni di partizionamento supportate . . . . . . . . . . . . . . . . . . . . . . .
6.3.4.2 Partizionamento guidato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.4.3 Partizionamento manuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.4.4 Configurazione di device multidisco (RAID software) . . . . . . . . . . . . . . .
6.3.4.5 Configurazione del Logical Volume Manager (LVM) . . . . . . . . . . . . . . .
6.3.4.6 Configurazione di volumi cifrati . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.5 Installazione del sistema base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.6 Installazione di altri programmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.6.1 Configurazione di APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.6.1.1 Installazione da più di una immagine di CD o DVD . . . . . . . . . . .
6.3.6.1.2 Uso di un mirror di rete . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.6.1.3 Scelta di un mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.6.2 Selezione e installazione dei pacchetti . . . . . . . . . . . . . . . . . . . . . . .
6.3.7 Rendere avviabile il sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.7.1 Rilevamento di altri sistemi operativi . . . . . . . . . . . . . . . . . . . . . . .
6.3.7.2 Impostazione dell’avvio del sistema con flash-kernel . . . . . . . . . . . . . . . .
6.3.7.3 Continua senza un boot loader . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.8 Completamento dell’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.8.1 Impostazione dell’orologio di sistema . . . . . . . . . . . . . . . . . . . . . . .
6.3.8.2 Riavvio del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.9 Risoluzione dei problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.9.1 Salvataggio dei log d’installazione . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.9.2 Uso della shell e consultazione dei log . . . . . . . . . . . . . . . . . . . . . . .
6.3.10 Installazione tramite network-console . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Caricare i firmware mancanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.1 Preparazione del supporto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.2 Firmware sul sistema installato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.3 Conclusione sul sistema installato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Personalizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5.1 Installazione di un sistema init alternativo . . . . . . . . . . . . . . . . . . . . . . . . . . .

35
35
35
35
36
36
37
38
39
41
42
44
44
44
44
45
45
46
47
47
47
47
48
48
48
48
48
48
49
50
50
51
51
51
51

7

Avvio del nuovo sistema Debian
7.1 Il momento della verità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Montare volumi cifrati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Risoluzione dei problemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Accesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52
52
52
53
53

8

Passi successivi e cosa fare adesso
8.1 Arresto del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Orientarsi in Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.1 Sistema di gestione dei pacchetti Debian . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.2 Gestione delle versioni alternative di una applicazione . . . . . . . . . . . . . . . . . . . .
8.2.3 Altri programmi disponibili per Debian . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.4 Gestione dei job di cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3 Ulteriori letture e informazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4 Configurazione del sistema per la posta elettronica . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.1 Configurazione predefinita della posta elettronica . . . . . . . . . . . . . . . . . . . . . . .
8.4.2 Invio di email all’esterno del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.3 Configurazione del MTA (Mail Transport Agent) Exim4 . . . . . . . . . . . . . . . . . . .
8.5 Compilazione di un nuovo kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6 Recupero di un sistema danneggiato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54
54
54
54
55
55
55
55
55
56
56
56
57
57

6.4

6.5

iv

INDICEA Installation Howto
A.1 Preliminari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Avvio del programma d’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.1 Disco ottico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.2 Avvio da rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.3 Avvio da disco fisso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4 Invio di un resoconto d’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.5 E per finire… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59
59
59
59
59
59
60
60
61

B Installazione automatica tramite preconfigurazione
B.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.1.1 Metodi di preconfigurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.1.2 Limitazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2 Uso della preconfigurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2.1 Caricamento del file di preconfigurazione . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2.2 Uso dei parametri di avvio per la preconfigurazione . . . . . . . . . . . . . . . . . . . . .
B.2.3 Modalità «auto» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2.4 Alias utilizzati nella preconfigurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2.5 Esempi di preconfigurazione del prompt di avvio . . . . . . . . . . . . . . . . . . . . . . .
B.2.6 Uso di un server DHCP per specificare un file di preconfigurazione . . . . . . . . . . . . .
B.3 Creazione di un file di preconfigurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4 Contenuto del file di preconfigurazione (per bookworm) . . . . . . . . . . . . . . . . . . . . . . .
B.4.1 Localizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.2 Configurazione della rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.3 Network console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.4 Impostazioni del mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.5 Impostazione dell’account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.6 Impostazione dell’orologio e del fuso orario . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.7 Partizionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.7.1 Esempio di partizionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.7.2 Partizionamento con RAID . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.7.3 Controllo del montaggio delle partizioni . . . . . . . . . . . . . . . . . . . . . .
B.4.8 Installazione del sistema di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.9 Impostazione di APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.10 Selezione dei pacchetti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.11 Termine dell’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.4.12 Preconfigurazione di altri pacchetti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.5 Opzioni avanzate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.5.1 Uso di comandi personalizzati durante l’installazione . . . . . . . . . . . . . . . . . . . . .
B.5.2 Uso della preconfigurazione per modificare i valori predefiniti . . . . . . . . . . . . . . . .
B.5.3 Caricamento in cascata di più file di preconfigurazione . . . . . . . . . . . . . . . . . . . .

62
62
62
63
63
63
64
65
66
66
67
67
68
68
69
70
71
71
72
72
72
74
75
76
76
77
78
78
78
78
79
79

C Partizionare per Debian
C.1 Decidere il numero e la dimensione delle partizioni per Debian . . . . . . . . . . . . . . . . . . . .
C.2 L’albero delle directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.3 Schema di partizionamento raccomandato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.4 Nomi dei dispositivi in Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.5 Programmi Debian per il partizionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80
80
80
81
82
82

D Miscellanea
D.1 I device linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.1.1 Configurazione del mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.2 Spazio su disco necessario per i task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3 Installazione di Debian GNU/Linux da un sistema Unix/Linux esistente . . . . . . . . . . . . . . .
D.3.1 Primi passi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.2 Installazione di debootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.3 Esecuzione di debootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.4 Configurazione del sistema di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83
83
83
84
85
85
86
86
86

v

INDICE

D.3.4.1 Creazione dei file di device . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.4.2 Montare le partizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.4.3 Configurazione del fuso orario . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.4.4 Configurazione della rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.4.5 Configurazione di Apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.4.6 Configurazione del pacchetto locales e della tastiera . . . . . . . . . . . . . . . .
D.3.5 Installazione di un kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.6 Configurazione del boot loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.3.7 Accesso remoto: installazione di SSH e impostazione dell’accesso . . . . . . . . . . . . . .
D.3.8 Ritocchi finali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D.4 Installazione di Debian GNU/Linux utilizzando «PPP over Ethernet» (PPPoE) . . . . . . . . . . .

87
87
88
88
89
89
89
89
90
90
90

E Administrivia
E.1 Informazioni su questo documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E.2 Come contribuire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E.3 Contributi principali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E.4 Marchi registrati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92
92
92
92
93

F Licenza Pubblica Generica GNU
F.1 Preambolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F.2 LICENZA PUBBLICA GENERICA GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F.3 Come applicare questi termini a nuovi programmi . . . . . . . . . . . . . . . . . . . . . . . . . .

94
94
95
97

vi

Elenco delle tabelle
3

Preparazione dell’installazione di Debian GNU/Linux
3.1 Informazioni sull’hardware utili per l’installazione . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Requisiti minimi del sistema raccomandati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vii

12
14

Sommario
Questo documento contiene le istruzioni per l’installazione del sistema Debian GNU/Linux 12 (nome in codice«bookworm»), per l’architettura ARM 32 bit («armel»). Contiene anche riferimenti a informazioni più approfondite
e informazioni su come ottenere il meglio dal proprio sistema Debian.
Commenti, critiche e suggerimenti sulla traduzione possono essere inviati alla lista di messaggi dei traduttori
Debian italiani debian-l10n-italian@lists.debian.org.

Installazione di Debian GNU/Linux 12 su
armel
Siamo felicissimi che abbiate deciso di provare Debian e siamo sicuri che troverete la distribuzione GNU/Linuxdi Debian unica. Debian GNU/Linux mette insieme software libero di alta qualità proveniente da tutto il mondo
integrandolo in un insieme coerente. Crediamo che scoprirete che il risultato è veramente maggiore della sommadelle parti.
Capiamo che molti di voi vogliano installare Debian senza leggere questo manuale e il programma di installazione
di Debian è pensato per rendere questo possibile. Se adesso non avete il tempo di leggere l’intera Guida all’installazione, vi raccomandiamo di leggere l’Installation Howto, che vi guiderà nel processo base di installazione e rimanda
al manuale per argomenti avanzati o per quando le cose vanno storte. L’Installation Howto può essere trovato nella
Appendice A.
Detto questo, speriamo che abbiate il tempo di leggere la maggior parte di questo manuale e fare questo vi porteràa una installazione di maggior successo.

ixCapitolo 1

Benvenuti in Debian
Questo capitolo fornisce una visione d’insieme del Progetto Debian e di Debian GNU/Linux. Se già si conosce lastoria del Progetto Debian e la distribuzione Debian GNU/Linux si può passare al prossimo capitolo.

1.1

Cosa è Debian?

Debian è un’organizzazione di volontari dedita allo sviluppo di software libero e alla promozione degli ideali della
comunità del Free Software. Il progetto Debian è iniziato nel 1993, quando Ian Murdock pubblicò un invito aglisviluppatori di software a contribuire a una distribuzione completa e coerente basata sul relativamente nuovo kernelLinux. Quella banda relativamente piccola di entusiasti specializzati, originariamente finanziata dalla Free Software
Foundation e influenzata dalla filosofia GNU, è cresciuta negli anni in una organizzazione di circa 1000 sviluppatori
Debian.
Gli sviluppatori Debian sono coinvolti in una varietà di attività inclusa l’amministrazione dei siti Web e FTP, il
disegno grafico, l’analisi legale delle licenze software, la stesura della documentazione e, ovviamente, la manutenzione
dei pacchetti software.
Nell’interesse di comunicare la sua filosofia e attrarre sviluppatori che credono nei principi che Debian rappresenta,
il Progetto Debian ha pubblicato numerosi documenti che sottolineano i suoi valori e servono come guida per cosa
vuol dire essere uno sviluppatore Debian.
• Il Debian Social Contract è una dichiarazione degli impegni di Debian verso la comunità del software libero.
Chiunque sia d’accordo nell’attenersi al Social Contract può diventare un responsabile. Ogni responsabile può
introdurre nuovo software in Debian — a patto che il software soddisfi i criteri di essere libero e che il pacchetto
segua gli standard di qualità.
• Le Debian Free Software Guidelines sono una chiara e concisa dichiarazione dei criteri Debian per il software
libero. Le DFSG sono un documento che influenza molto il movimento del software libero e sono il fondamentodella The Open Source Definition.
• Il Debian Policy Manual è una specifica dettagliata degli standard di qualità del Progetto Debian.
Gli sviluppatori Debian sono coinvolti anche in un certo numero di altri progetti; alcuni specifici di Debian, altri
che coinvolgono una parte o tutta la comunità Linux. Alcuni esempi sono:• Il Filesystem Hierarchy Standard (FHS) è uno sforzo di standardizzazione dell’organizzazione del file system diLinux. Il FHS dovrà permettere agli sviluppatori di concentrare i loro sforzi sul disegno dei programmi senza
doversi preoccupare di come il pacchetto sarà installato sulle diverse distribuzioni GNU/Linux.
• Debian Jr. è un progetto interno il cui scopo è quello di essere sicuri che Debian abbia qualcosa da offrire agli
utenti più piccoli.
Per maggiori informazioni su Debian si consultino le Debian FAQ.

1.2

Cosa è GNU/Linux?

GNU/Linux è un sistema operativo: una serie di programmi che permettono di interagire con il proprio computer ed
eseguire altri programmi.
1

CAPITOLO 1. BENVENUTI IN DEBIAN

1.3. COSA È DEBIAN GNU/LINUX?

Un sistema operativo consiste di vari programmi fondamentali che sono necessari al computer per comunicare
e ricevere istruzioni dagli utenti, per leggere e scrivere dati su dischi rigidi, nastri e stampanti, per controllare l’uso
della memoria e per eseguire altro software. La parte più importante di un sistema operativo è il kernel. In un sistema
GNU/Linux, Linux è il componente kernel. Il resto del sistema consiste in altri programmi, molti dei quali sono stati
scritti da e per il progetto GNU. Dato che il kernel Linux da solo non forma un sistema operativo, preferiamo usare
il termine «GNU/Linux» per indicare il sistema a cui molte persone fanno riferimento distrattamente con «Linux».
Linux è modellato sul sistema operativo Unix. Dall’inizio, GNU/Linux è stato progettato per essere un sistema
multi-tasking e multi-utente. Queste cose sono sufficienti per rendere GNU/Linux diverso da altri sistemi operativi
ben noti. Comunque, GNU/Linux è ancora più diverso di quanto si possa pensare. Diversamente da altri sistemi
operativi, nessuno è proprietario di GNU/Linux. Molto del suo sviluppo è fatto da volontari non pagati.
Lo sviluppo di quello che più tardi è diventato GNU/Linux iniziò quando la Free Software Foundation iniziò lo
sviluppo di un sistema operativo libero simile a Unix chiamato GNU.
Il progetto GNU ha sviluppato un vasto insieme di strumenti software liberi da usare con Unix™ e sistemi operativi
simili a Unix come GNU/Linux. Questi strumenti permettono agli utenti di eseguire azioni che vanno dal mondano(come copiare o rimuovere file dal sistema) fino all’arcano (come scrivere e compilare programmi o fare editing
sofisticato in una varietà di formati).
Mentre molti gruppi e individui hanno contribuito a GNU/Linux, il grande donatore è ancora la Free Software
Foundation, che creò non solo la maggioranza degli strumenti usati in GNU/Linux, ma anche la filosofia e la comunità
che ha reso possibile GNU/Linux.
Il kernel di Linux è apparso per la prima volta nel 1991, quando uno studente finlandese di informatica di nome
Linus Torvalds annunciò sul newsgroup di Usenet comp.os.minix la prima versione di un kernel alternativo a
Minix. Si legga la Pagina della storia di Linux di Linux International.
Linus Torvalds continua a coordinare il lavoro di alcune centinaia di sviluppatori con l’aiuto dei responsabili deivari sottosistemi. Esiste un sito web ufficiale per il kernel Linux. È possibile trovare informazioni sulla mailing list
linux-kernel nelle FAQ della mailing list linux-kernel.
Gli utenti GNU/Linux hanno un’immensa libertà nello scegliere il loro software. Per esempio, possono scegliere
tra una dozzina di shell a riga di comando e alcuni desktop grafici. La possibilità di fare queste scelte spesso disorienta
gli utenti degli altri sistemi operativi che non sono abituati a pensare alla riga di comando o al desktop come qualcosa
che è possibile cambiare.
È anche meno probabile che GNU/Linux vada in crash, è più abile nel far girare più di una applicazione contemporaneamente e più sicuro di molti sistemi operativi. Con questi vantaggi, Linux è il sistema operativo con maggior
crescita nel mercato dei server. Più recentemente, Linux è diventato popolare anche tra gli utenti che usano il PC acasa e in ufficio.

1.3

Cosa è Debian GNU/Linux?

La combinazione della filosofia e della metodologia di Debian con gli strumenti di GNU, il kernel Linux e altri
importanti software liberi, formano una distribuzione unica chiamata Debian GNU/Linux. Questa distribuzione ècomposta da un grande numero di pacchetti software. Ogni pacchetto nella distribuzione contiene eseguibili, script,
documentazione e informazioni sulla configurazione e ha un responsabile che deve mantenere il pacchetto aggiornato,
controllare i bug report e comunicare con l’autore/gli autori upstream del pacchetto software. La larghissima base diutenti, combinata con il sistema di tracciamento dei bug, assicura che i problemi trovati siano sistemati velocemente.
L’attenzione di Debian ai dettagli permette di produrre una distribuzione di alta qualità, stabile e scalabile. Le
installazioni possono essere configurate per essere utili per molti usi, dai firewall minimali alle workstation scientificheai server di rete di alto livello.
Debian è soprattutto popolare tra gli utenti esperti a causa della sua eccellenza tecnica e il profondo impegno verso
le necessità e le attese della comunità Linux. Debian ha introdotto molte funzionalità in Linux che ormai sono comuni.
Per esempio, Debian è stata la prima distribuzione Linux a includere un sistema di gestione dei pacchetti perl’installazione e la rimozione facile del software. È stata anche la prima distribuzione Linux a poter essere aggiornata
senza richiedere la reinstallazione.
Debian continua a essere un leader nello sviluppo di Linux. Il suo processo di sviluppo è un esempio di comeil modello di sviluppo Open Source possa funzionare bene — anche per lavori molto complessi come costruire emanutenere un sistema operativo completo.
La funzionalità che maggiormente distingue Debian dalle altre distribuzioni è il sistema di gestione dei pacchetti.
Questi strumenti danno all’amministratore di un sistema Debian il controllo completo sui pacchetti installati sul sistema, inclusa la possibilità di installare un singolo pacchetto o aggiornare automaticamente l’intero sistema operativo.
Si può anche negare l’aggiornamento dei singoli pacchetti. Si può anche istruire il sistema di gestione dei pacchetti
riguardo ai software che si sono compilati autonomamente e che dipendenze devono soddisfare.
2

CAPITOLO 1. BENVENUTI IN DEBIAN

1.4. COSA È L’INSTALLATORE DEBIAN?

Per proteggere i sistemi da cavalli di troia (o «trojan») e altri software maligni, i server di Debian verificano chei pacchetti siano inviati dai loro manutentori Debian registrati. Coloro che impacchettano i programmi Debian fanno
molta attenzione nel configurare i pacchetti in modalità sicura. Quando appaiono problemi nei pacchetti distribuiti lecorrezioni sono generalmente disponibili molto rapidamente. Con la semplice opzione di aggiornamento di Debian,le correzioni ai problemi di sicurezza possono essere scaricate e installate da Internet.
Il metodo principale e migliore per ottenere supporto per un sistema Debian GNU/Linux e comunicare con gli
sviluppatori Debian è usando le molte mailing list gestite dal progetto Debian (ce ne sono più di 327 al momento in
cui questo documento è scritto). La maniera più facile per iscriversi a una o più liste è visitare la pagina di iscrizione
alle mailing list di Debian e riempire il modulo che vi troverete.

1.4

Cosa è l’Installatore Debian?

L’Installatore Debian, conosciuto anche come «d-i», è un software per installare un sistema Debian basico e funzionante. Può essere usato su un’ampia gamma di dispositivi quali dispositivi embedded, macchine laptop, desktop e
server e offre un grande insieme di software libero per molteplici scopi.
L’installazione è guidata dalle risposte a una serie di semplici domande. È possibile usare anche la modalità esperto,
permette di controllare ogni aspetto dell’installazione e di effettuare installazione completamente automatizzate. Il
sistema installato può essere usato sin da subito oppure può essere ulteriormente personalizzato. L’installazione può
essere fatta a partire da una moltitudine di supporti: USB, CD/DVD/Blu-Ray o dalla rete. L’installatore è stato
tradotto in oltre 80 lingue.
L’Installatore ha avuto origine dal progetto boot-floppies, citato per la prima volta da Joey Hess nel 2000. Da
allora lo sviluppo da parte di volontari sul sistema d’installazione è stato continuo e ha portato miglioramenti e nuove
funzionalità.
Ulteriori informazioni possono essere trovate nella pagina dell’Installatore Debian, nel Wiki e nella lista di messaggi debian-boot.

1.5

Procurarsi Debian

Per informazioni su come scaricare Debian GNU/Linux da Internet o dove possono essere acquistati i supporti ufficiali
Debian, si guardi la pagina web dei distributori. La lista dei mirror di Debian contiene l’insieme completo dei mirror
ufficiali di Debian, così è possibile trovare facilmente quello più vicino.
Debian può essere aggiornata dopo l’installazione in modo veramente semplice. La procedura d’installazione aiuta
la configurazione del sistema in modo da eseguire questi aggiornamenti una volta che l’installazione è terminata.

1.6

Versione più recente di questa guida

Questo documento è continuamente riesaminato. Verificare sulle pagine di Debian 12 ogni informazione aggiunta all’ultimo minuto su la release 12 del sistema Debian GNU/Linux. Versioni aggiornate di questo manuale d’installazione
sono disponibili dalle pagine del Manuale ufficiale di installazione.

1.7

Organizzazione della guida

Questo documento dovrebbe servire come manuale per gli utenti che usano Debian per la prima volta. Si è provato adare per scontate il minor numero di conoscenze, anche se si presuppone una conoscenza generale di come funzioni
l’hardware all’interno di un computer.
In questo documento gli utenti già esperti possono trovare dei riferimenti a informazioni molto utili, come la minimizzazione delle dimensioni dell’installazione, i dettagli sull’hardware supportato dal sistema di installazione Debian,ecc. Si incoraggia gli utenti esperti a dare un’occhiata al documento.
La struttura di questo manuale è, solitamente, lineare e segue i passaggi del processo di installazione dall’inizio
alla fine. Di seguito sono riassunte le fasi dell’installazione di Debian GNU/Linux e le sezioni di questo documento
che corrispondono a ciascuna fase:
1. Determinare se il proprio hardware ha i requisiti necessari per usare il sistema d’installazione in Capitolo 2.
2. Fare un backup del sistema ed effettuare qualsiasi configurazione hardware prima dell’installazione di Debian in Capitolo 3. Per preparare un sistema multiboot potrebbe essere necessario creare sul disco uno spazio
partizionabile da destinare a Debian.
3

CAPITOLO 1. BENVENUTI IN DEBIAN

1.8. COPYRIGHT E LICENZE SOFTWARE

3. Nel Capitolo 4 si recuperano i file necessari per il metodo d’installazione scelto.
4. In Capitolo 5 è descritto come avviare il sistema d’installazione. Questo capitolo tratta anche le procedure dirisoluzione dei problemi nel caso accadano degli imprevisti durante questa fase.
5. L’installazione vera e propria seguendo Capitolo 6, che comprende la scelta della lingua, la configurazione dei
moduli con i driver per le periferiche, la configurazione della connessione alla rete in modo da poter recuperare
i file di installazione mancanti da un server Debian (a meno che non si stia installando da un set di immagini di
CD/DVD per l’installazione), il partizionamento del disco, l’installazione del sistema di base e infine la scelta
e l’installazione dei pacchetti (alcune informazioni sulla preparazione delle partizioni per il proprio sistema
Debian si trovano nell’Appendice C).
6. L’avvio del sistema di base appena installato, nel Capitolo 7.
Una volta che il sistema è stato installato si può leggere il Capitolo 8. In questo capitolo viene spiegato dove cercare
ulteriori informazioni su Unix e Debian e su come cambiare il kernel.
Infine, le informazioni su questo documento e su come contribuire possono essere trovate nell’Appendice E.

1.8

Copyright e licenze software

Siamo sicuri che avete letto alcune delle licenze che sono allegate al software commerciale — abitualmente c’è scrittoche è possibile solo usare una copia del software su un solo computer. La licenza di questo sistema non è comequelle. Noi incoraggiamo a installare una copia di Debian GNU/Linux su ogni computer nella propria scuola o postodi lavoro, a prestare il proprio supporto d’installazione agli amici e di aiutarli nell’installazione sui loro computer! Si
possono anche fare migliaia di copie e venderle — sebbene con alcune restrizioni. La libertà nell’installare e usare ilsistema deriva direttamente dal fatto che Debian è software libero.
Chiamare un software libero non vuol dire che non ha un copyright e che i supporti per l’installazione che locontengono debbano essere distribuiti gratuitamente. Software libero, in parte, vuol dire che le licenze dei programmi
individualmente non richiedono di pagare per il privilegio di distribuirli o di usare quei programmi. Software libero
vuole anche dire che non solo ognuno può estendere, adattare e modificare il software, ma che si può distribuire il
risultato del proprio lavoro alla stessa maniera.

NOTA
Il progetto Debian, come pragmatica concessione ai propri utenti, rende disponibili
alcuni pacchetti che non sono in accordo con i criteri per essere liberi. Questi pacchetti non fanno parte della distribuzione ufficiale e sono disponibili solo attraverso
le aree contrib o non-free dei mirror Debian o su CD/DVD-ROM di terze parti; si consulti le FAQ Debian, alla voce «The Debian FTP archives», per maggiori
informazioni a proposito della disposizione e dei contenuti negli archivi.
Molti dei programmi presenti nel sistema sono rilasciati con licenza GNU General Public License, spesso citata
semplicemente come «la GPL». La GPL richiede che il codice sorgente del programma sia reso disponibile ogni volta
che si distribuisce la copia binaria del programma; quella clausola delle licenza assicura che ogni utente sarà in grado
di modificare il software. A causa di questa clausola, il codice sorgente¹ per tutti questi programmi è disponibile nelsistema Debian.
Esistono parecchie altre formulazioni riguardo al copyright e alle licenze software usate dai programmi presenti
in Debian. È possibile trovare il copyright e la licenza di ogni singolo pacchetto installato sul proprio sistema nel file/usr/share/doc/nome-pacchetto/copyright una volta che il pacchetto è stato installato sul sistema.
Per maggiori informazione sulle licenze e come Debian determina se il software è libero abbastanza per essere
incluso nella distribuzione principale, si consultino le Debian Free Software Guidelines.
La nota legale più importante è che il software viene distribuito senza garanzie. I programmatori che hanno creato
quel software lo hanno fatto per il beneficio della comunità. Nessuna garanzia è fatta per l’idoneità del software perogni possibile scopo. Sebbene, dato che il software è libero, si è autorizzati a modificare questo software per soddisfare
le proprie esigenze — e per godere dei benefici dei cambiamenti fatti da altri che hanno esteso il software in questa
maniera.
¹Per informazioni su come localizzare, spacchettare e costruire i binari dai pacchetti sorgente Debian, si guardi in Debian FAQ, al titolo«Fondamenti del sistema di gestione dei pacchetti di Debian».

4

Capitolo 2

Requisiti di sistema
Questa sezione contiene delle informazioni sull’hardware necessarie per l’installazione di Debian. Inoltre è possibile
trovarvi degli ulteriori riferimenti da cui recuperare informazioni aggiuntive sull’hardware supportato da GNU e Linux.

2.1

Hardware supportato

Debian non ha nessun requisito aggiuntivo all’hardware oltre a quelli necessari al funzionamento del kernel Linux okFreeBSD e dei programmi GNU. Perciò è possibile usare Debian su qualsiasi architettura o piattaforma verso cui è
stato fatto il port del kernel Linux o kFreeBSD, della libc e del gcc e per la quale esiste il port di Debian. Consultare
le pagine dei port su https://www.debian.org/ports/arm/ per conoscere quali sistemi con architettura
ARM 32 bit sono stati testati con Debian GNU/Linux.
Piuttosto che cercare di descrivere tutte le diverse configurazioni hardware che sono supportate da ARM 32 bit, questa sezione contiene delle informazioni generali e dei riferimenti a documenti dov’è possibile trovare delle
informazioni aggiuntive.

2.1.1

Architetture supportate

Debian GNU/Linux 12 supporta 9 architetture principali e diverse varianti di ogni architettura, che vanno sotto ilnome di «flavor».
Architettura
AMD64 & Intel 64

Indicazione Debian
amd64Intel x86-based

i386

ARM

armel

ARM con FPU hardware
64bit ARM

armhf
arm64

64bit MIPS (little
endian)mips64el

32bit MIPS (little
endian)mipselSistemi Power

ppc64el

64bit IBM S/390

s390x

Sottoarchitettura

Variante (flavor)

macchine x86
solo domini Xen PV
Marvell Kirkwood eOrionmultipiattaforma

default
xen

MIPS Malta
Cavium Octeon
Loongson 3
MIPS Malta
Cavium Octeon
Loongson 3
IBM POWER8 omacchine più recenti
IPL da VM-reader e
DASD

5kc-maltaocteonloongson-3
4kc-maltaocteonloongson-3

marvell
armmp

generico

Questo documento tratta l’installazione sull’architettura ARM 32 bit con il kernel Linux. Se si cercano delle
informazioni su un’altra delle architetture supportate da Debian si consultati la pagina dei port Debian.

5

CAPITOLO 2. REQUISITI DI SISTEMA

2.1.2

2.1. HARDWARE SUPPORTATO

I tre port ARM

Nel tempo l’architettura ARM si è evoluta e i moderni processori ARM forniscono funzionalità che non erano presenti
nei modelli precedenti. Debian fornisce tre port su ARM per fornire il miglior supporto per una gamma molto ampia
di macchine:• Debian/armel è adatto ai processori ARM più vecchi che non dispongono di una FPU (floating point unit),• Debian/armhf funziona solo sui processori ARM più recenti conformi all’architettura ARMv7 e con l’unitàdi calcolo in virgola mobile VFPv3. Fa un ampio uso delle funzioni e dei miglioramenti delle prestazioni
disponibili su questi modelli.
• Debian/arm64 funziona sui processori ARM a 64-bit conformi almeno all’architettura ARMv8.
Tecnicamente, tutte le CPU ARM attualmente disponibili possono funzionare sia in modalità big-endian che inmodalità little-endian, in pratica la maggior parte dei sistemi attualmente disponibili utilizzano la modalità littleendian. Debian/arm64, Debian/armhf e Debian/armel supportano solo sistemi little-endian.

2.1.3

Variazioni nelle CPU ARM e difficoltà di supporto

I sistemi ARM sono molto più eterogenei rispetto a quelli dell’architettura dei PC basati su i386/amd64, quindi il
supporto può essere più complicato.
L’architettura ARM è principalmente usata per i SoC («system-on-chip»). I SoC sono progettati da diverse aziendee usano una gran varietà di componenti hardware anche per le funzionalità di base necessarie all’avvio del sistema.
Con il passare del tempo le interfacce del firmware sono state via via standardizzate ma sui sistemi più vecchi leinterfacce firmware per l’avvio potrebbero creare parecchi grattacapi perché il kernel Linux deve prendersi in caricomolti problemi di basso livello e di tutti quegli aspetti specifici del sistema che nel mondo dei PC sarebbero gestiti dal
BIOS/UEFI della scheda madre.
Agli albori il supporto per ARM nel kernel Linux proprio per la grande varietà di hardware richiedeva di avere
un kernel specifico per ciascun sistema ARM ma ciò è in contrasto con il kernel «uno-va-bene-per-tutti» per i sistemi
PC. Infatti tale approccio non è scalabile su un gran numero di dispositivi e quindi iniziò il lavoro che ha portato alla
realizzazione di un unico kernel ARM che può funzionare su molti sistemi ARM. Adesso i sistemi ARM più recenti
dispongono di un kernel realizzato con l’approccio multipiattaforma ma per molti dei sistemi più vecchi è ancora
necessario utilizzare un kernel specifico. Per questo motivo la distribuzione Debian standard può essere installata solo
su un numero ristretto di vecchi sistemi ARM più vecchi oltre che sui sistemi più recenti supportati con il kernel ARM
multipiattaforma (chiamati «armmp») in Debian/armhf.

2.1.4

Piattaforme supportate da Debian/armel

Le seguenti piattaforme sono supportate da Debian/armel; richiedono dei kernel specifici per ciascuna piattaforma.
Kirkwood Kirkwood è un sistema su un chip (SoC) della Marvell che integra una CPU ARM, Ethernet, SATA, USBe altre funzionalità in un unico chip. Attualmente sono supportati i seguenti dispositivi basati su Kirkwood:• Plug computer (SheevaPlug, GuruPluge, DreamPlug e Seagate FreeAgent DockStar)• I NAS LaCie (Network Space v2, Network Space Max v2, Internet Space v2, d2 Network v2, 2Big
Network v2 e 5Big Network v2)• OpenRD (OpenRD-Base, OpenRD-Client e OpenRD-Ultimate)
Orion5x Orion è un sistema su un chip (SoC) della Marvell che integra una CPU ARM, Ethernet, SATA, USB e altre
funzionalità in un unico chip. Sul mercato ci sono molti dispositivi NAS (Network Attached Storage) basati sul
chip Orion. Attualmente sono supportati i seguenti dispositivi basati sul chip Orion: Buffalo Kurobox.
Versatile La piattaforma Versatile è emulata da QEMU e quindi è un buon modo per fare delle prove e per usare
Debian su ARM anche se non si dispone di un vero hardware.

2.1.5

Dispositivi non più supportati da Debian/armel

Kirkwood Il supporto per tutti i modelli di QNAP Turbo Station (TS-xxx) è stato rimosso da Debian 11 perché acausa di limitazioni hardware non è più possibile compilare il kernel Linux per questi dispositivi.

6

CAPITOLO 2. REQUISITI DI SISTEMA

2.2. DISPOSITIVI CHE RICHIEDONO FIRMWARE …

Orion5x Il supporto per HP Media Vault mv2120 è stato rimosso da Debian 11 perché a causa di limitazioni hardwarenon è più possibile compilare il kernel Linux per questo dispositivo.
È probabile che i dispositivi sopra elencati continuino a funzionare ancora per un po’ di tempo, consultare le note dirilascio di Debian 11.

2.1.6

Hardware grafico supportato

Il supporto di Debian per le interfacce grafiche è determinato dal supporto sottostante fornito dal sistema X11 di
X.Org e dal kernel. La grafica di base del framebuffer è fornita dal kernel invece gli ambienti desktop utilizzano
X11. La disponibilità delle funzionalità avanzate della scheda grafica come l’accelerazione 3D o l’accelerazione video
dipende da quale hardware è installato nel sistema e in alcuni casi potrebbe essere necessario installare delle immagini
aggiuntive con il «firmware» (consultare Sezione 2.2).
Su quasi tutte le macchine ARM l’hardware grafico è integrato anziché essere su una scheda da inserire. Alcune
macchine dispongono di slot d’espansione in cui è possibile inserire schede grafiche, ma sono delle rarità. Invece
è abbastanza comune trovare dell’hardware progettato per essere usato senza monitor e senza tastiera. Anche se ilframebuffer video fornito dal kernel funziona tutti i dispositivi grafici, per far funzionare la grafica 3D sono necessari
dei driver binari. Questa situazione si evolve molto rapidamente, al momento del rilascio di bookworm sono disponibili i driver liberi per nouveau (Nvidia Tegra K1 SoC) e freedreno (Qualcomm Snapdragon SoCs). Altri hardware
richiedono driver non-free da terze parti.
I dettagli sull’hardware grafico e i dispositivi di puntamento supportati possono essere trovati in https://wiki.freedesktop.org/xorg/. Debian 12 include la versione 7.7 di X.Org.

2.1.7

Schede di rete

Quasi tutte le schede di rete (NIC) supportate dal kernel Linux standard dovrebbero essere supportate anche dalsistema d’installazione; normalmente i driver sono caricati automaticamente.
Su ARM 32 bit , la maggior parte dei dispositivi Ethernet integrati sono supportati e i moduli per i dispositivi PCI
e USB aggiuntivi sono disponibili.

2.1.8

Periferiche e altro hardware

Linux supporta una grande varietà di dispositivi hardware come per esempio mouse, stampanti, dispositivi PCMCIA/CardBus/ExpressCard e USB. Tuttavia molte di queste periferiche non sono necessarie durante l’installazionedel sistema.

2.2

Dispositivi che richiedono firmware specifico

Oltre alla disponibilità di un driver, alcuni dispositivi richiedono anche un cosiddetto firmware o microcodice da
caricare nel dispositivo prima che sia completamente operativo. Questo è molto comune per le schede di rete (inparticolare i NIC wireless) ma anche alcuni dispositivi USB e alcuni controller per dischi fissi richiedono un firmware.
Su molte schede grafiche le funzioni di base sono disponibili senza firmware aggiuntivi ma per usare le funzionalitàavanzate è necessario che un appropriato file con firmware sia installato nel sistema.
Su molti dei vecchi dispositivi che richiedono un firmware per funzionare, il firmware è memorizzato nel chip
EEPROM/Flash sul dispositivo dal costruttore. Oggigiorno la maggior parte dei dispositivi non incorporano più
il firmware in questo modo, il firmware deve essere caricato sul dispositivo dal sistema operativo a ogni avvio delsistema.
In molti casi il firmware è considerato non-libero in base ai criteri usati dal progetto Debian GNU/Linux e quindi
non può essere incluso nella distribuzione principale. Se il driver del dispositivo è incluso nella distribuzione e se
Debian GNU/Linux può distribuire legalmente il firmware, spesso è disponibile in un pacchetto separato nella sezione
non-free-firmware dell’archivio (prima di Debian GNU/Linux 12.0: nella sezione non-free).
Ciò non vuol dire che questo hardware non può essere usato durante l’installazione. A partire da Debian GNU/Linux 12.0, a seguito della 2022 General Resolution about non-free firmware, le immagini di installazione ufficiali
possono includere pacchetti di firmware non liberi. Il installatore Debian rileverà il firmware necessario(in base ai log del kernel e alle informazioni di modalias) e installerà i pacchetti pertinenti se sono stati trovati sul
supporto d’installazione (per esempio, su netinst). Il gestore di pacchetti viene configurato automaticamente con icomponenti corrispondenti, in modo che questi pacchetti ricevano gli aggiornamenti di sicurezza. Questo di solito
significa che oltre a main viene abilitato il componente non-free-firmware.

7

CAPITOLO 2. REQUISITI DI SISTEMA

2.3. ACQUISTARE HARDWARE SPECIFICO PER …

Gli utenti che desiderano disabilitare completamente la ricerca del firmware possono farlo impostando il parametro di avvio firmware=never. Si tratta di un alias del modulo più lungo hw-detect/firmware-lookup=never.
Tranne quando la rierca del firmware è completamente disabilitata, installatore Debian è in grado di
caricare dei file o dei pacchetti contenenti il firmware da un supporto removibile come una chiavetta USB. Si veda
Sezione 6.4 per le istruzioni dettagliate su come caricare i file o i pacchetti con il firmware durante l’installazione.
Notare che adesso è meno probabile che installatore Debian richieda i file del firmware dato che i pacchetti
con firmware non liberi possono essere inclusi nelle immagini di installazione.
Qualora installatore Debian richieda l’installazione di un file di firmware ma tale file non è disponibile
oppure non si vuole installare un firmware non-free sul proprio sistema, è possibile continuare senza caricare il firmware. Ci sono molti casi in cui il driver richiede il firmware perché in alcune circostanze potrebbe essere necessario
ma il dispositivo funziona anche senza (per esempio questo accade su alcune schede di rete con il driver tg3).

2.3

Acquistare hardware specifico per GNU/LinuxCi sono molti rivenditori che distribuiscono computer con Debian o altre distribuzioni GNU/Linux preinstallate. È
possibile che costino di più, ma questo acquisto permette di stare tranquilli, perché si può essere sicuri che l’hardware
è ben supportato da GNU/Linux.
Indipendentemente dall’acquisto di un sistema con Linux preinstallato o meno o addirittura un computer usato, ènecessario assicurarsi che l’hardware sia supportato dal kernel Linux. Controllare se il proprio hardware è presentenelle liste elencate precedentemente. Si deve far sapere al rivenditore che stiamo acquistando un computer su cui verrà
installato Linux. Si dovrebbe supportare i produttori che appoggiano Linux.

2.3.1

Evitare hardware chiuso o proprietario

Alcuni costruttori di hardware non danno informazioni su come scrivere i driver per i loro dispositivi. Altri nonpermettono di accedere alla documentazione senza un accordo di non divulgazione che impedirebbe di rilasciare il
codice sorgente del driver, che è uno degli elementi fondamentali del software libero. Poiché non abbiamo avuto
accesso alla documentazione di questi dispositivi, semplicemente questi non funzionano in Linux.
In molti casi di sono degli standard (o almeno degli standard de-facto) che descrivono come un sistema operativo e
i suoi driver comunicano con una certa classe di dispositivi. Tutti i dispositivi che sono conformi allo standard possono
essere usati con un singolo driver generico e senza la necessità di usare driver specifici per il dispositivo. Alcuni tipi
di hardware (per esempio i «Dispositivi di Interfaccia Umana» come tastiere, mouse, ecc. e i dispositivi USB dimemorizzazione di massa come le chiavette USB e i lettori di memory card) funzionano molto bene e in pratica tutti
i dispositivi sul mercato sono conformi agli standard.
Purtroppo in altri campi, tra i quali le stampanti, non è così. Ci sono molte stampanti che possono essere comandate via un insieme ridotto di linguaggi di controllo che sono degli standard de-facto e quindi è possibile farlefunzionare senza problemi con qualsiasi sistema operativo ma ci sono anche pochi modelli che comprendono solo
comandi di controllo proprietari per i quali non è possibile accedere alla loro documentazione e di conseguenza nonpossono essere usate sui sistemi operativi liberi oppure possono essere usate tramite un driver closed-source fornito
dal costruttore.
Anche se è disponibile un driver closed-source per il dispositivo la vita del dispositivo è legata alla disponibilità deldriver. Oggigiorno la vita dei prodotti diventa sempre più breve e non è raro che poco dopo la fine della produzione
di un dispositivo il produttore smette anche di aggiornare i driver. Se il driver closed-source non funziona dopo unaggiornamento del sistema, un dispositivo perfettamente funzionante diventa inutilizzabile a causa della mancanzadel driver e poter far niente. Quindi è opportuno evitare l’acquisto di hardware chiuso senza tener conto del sistema
operativo con cui verrà usato.
È possibile migliorare questa situazione incoraggiando i produttori di hardware chiuso di rilasciare la documentazione e le altre risorse a noi necessarie per fornire driver liberi per i loro hardware.

2.4

Supporti per l’installazione

Questa sezione aiuta a determinare quali tipi di supporto è possibile usare per installare Debian. C’è un intero capitolo
dedicato ai supporti, Capitolo 4, che elenca vantaggi e svantaggi di ciascun supporto. È possibile rileggere questa
pagina una volta letta quella sezione.

2.4.1

CD-ROM/DVD-ROM/BD-ROM

L’installazione da disco ottico è supportata sulla maggior parte delle architetture.
8

CAPITOLO 2. REQUISITI DI SISTEMA

2.4.2

2.5. REQUISITI DI MEMORIA E SPAZIO SU DISCORete

La rete può essere usata durante l’installazione per recuperare i file necessari all’installazione. L’uso della rete dipende
dal metodo d’installazione scelto e dalle risposte date ad alcune delle domande poste durante l’installazione. Il sistema
d’installazione supporta connessioni alla rete di diversi tipi (tra questi PPPoE ma non ISDN e PPP), via FTP o HTTP.
Al termine dell’installazione è possibile configurare il proprio sistema per l’uso di ISDN e PPP.
È anche possibile avviare il sistema d’installazione dalla rete senza quindi la necessità di alcun supporto come
CD/DVD o chiavette USB. Se è già disponibile un’infrastruttura per l’avvio da rete (cioè nella propria rete sono già
funzionanti i servizi DHCP e TFTP), è facile e veloce fare una distribuzione su un gran numero di macchine. La
configurazione dell’infrastruttura necessaria richiede un buon livello di conoscenze tecniche e quindi non è consigliata
per chi è alle prime armi.
L’installazione senza dischi, usando l’avvio dalla rete da una LAN e montare l’intero filesystem attraverso NFS è
un’altra opzione.

2.4.3

Disco fisso

L’avvio dell’installazione del sistema direttamente dal disco fisso è un’altra possibilità disponibile per molte architetture. Questa richiede un altro sistema operativo per caricare l’Installatore sul disco fisso. Questo metodo è raccomandato
solo in casi particolari per i quali non sono disponibili altri metodi d’installazione.

2.4.4

Un*x o sistemi GNU

Se si usano altri sistemi Unix, è possibile usarli anche per installare Debian GNU/Linux senza l’uso di installatore
Debian descritto nel resto del manuale. Questo tipo d’installazione può essere utile per gli utenti che hanno dell’hardware che altrimenti non è supportato o sui computer che non possono tollerare interruzioni. Se interessa a questa
tecnica, si veda la sezione Sezione D.3. Questo metodo d’installazione è raccomandato solo per gli utenti esperti nel
caso che non siano disponibili altri metodi d’installazione.

2.4.5

Sistemi d’archiviazione supportati

L’Installatore Debian contiene un kernel che è stato compilato per massimizzare il numero di sistemi su cui può girare.
Anche i sistemi IDE sono supportati.

2.5

Requisiti di memoria e spazio su disco

Sono necessari almeno 80MB di memoria e 1160MB di spazio su disco per effettuare una normale installazione.
Notare che questi valori sono il minimo indispensabile; per dei valori più realistici si veda Sezione 3.4.
Normalmente l’installatore attiva automaticamente la modalità di risparmio della memoria per funzionare su sistemi con poca memoria tuttavia, sulle architetture su cui sono stati fatti pochi test, potrebbe non farlo. Questa modalitàpuò essere attivata manualmente aggiungendo il parametro d’avvio lowmem=1 oppure lowmem=2 (consultare anche
Sezione 6.3.1.1 e Sezione 5.3.2).

AVVERTIMENTO
Su armel i livelli di lowmen non sono stati testati, quindi, probabilmente, il rilevamento automatico non è aggiornato e di conseguenza potrebbe essere necessariopassare il parametro d’avvio se il proprio sistema ha poca memoria.
L’installazione su sistemi che dispongono di una quantità inferiore di memoria o di spazio disponibile sul disco
potrebbe essere comunque possibile ma è consigliata solo agli utenti più esperti.

9Capitolo 3

Preparazione dell’installazione di Debian
GNU/Linux
Questo capitolo tratta la preparazione dell’installazione di Debian prima di attivare l’installatore. Comprende le operazioni di backup dei dati, la raccolta delle informazioni sul proprio hardware e il recupero di qualsiasi altra informazione
necessaria.

3.1

Panoramica del processo d’installazione

Prima di tutto una nota sulle reinstallazioni. Con Debian, una circostanza in cui sia necessaria una completa reinstallazione del sistema è estremamente rara; forse un problema meccanico dei dischi è la causa più frequente.
Molti dei comuni sistemi operativi potrebbero richiedere la completa installazione quando si verificano dei problemi critici o per fare un aggiornamento a una nuova versione. A questo si deve aggiungere che si effettua una nuova
installazione è necessario anche re-installare i programmi in modo che operino correttamente con il nuovo SO.
Con Debian GNU/Linux è molto più probabile che il SO possa essere riparato anziché essere reinstallato nel
caso si verifichino dei problemi. Gli aggiornamenti non richiedono mai un’installazione completa, è sempre possibile
effettuare l’aggiornamento senza toccare l’intera installazione. Quando un nuovo programma richiede delle versioni più
recenti del software di supporto rispetto a quelle installate, il sistema Debian di gestione dei pacchetti assicura che tutto
il software di supporto sia identificato e installato. È stato fatto molto lavoro per evitare la necessità di reinstallare
il sistema quindi deve essere ritenuta come l’ultima risorsa disponibile. L’installatore non è stato progettato per lareinstallazione su un sistema esistente.
Ecco un sommario dei passi che saranno compiuti durante l’installazione.
1. Backup di tutti i dati e documenti presenti sul disco fisso su cui si vuole fare l’installazione.
2. Raccolta delle informazioni sul proprio computer e di tutte le informazioni necessarie prima di iniziare l’installazione.
3. Creazione dello spazio partizionabile per Debian sul disco fisso.
4. Localizzare e/o scaricare l’installatore e tutti driver e firmware speciali necessari per la propria macchina.
5. Preparazione dei supporti per l’avvio come CD/DVD/chiavette USB oppure preparare l’infrastruttura per l’avvio
da rete dell’installatore.
6. Avvio del sistema d’installazione.
7. Scelta della lingua dell’installazione.
8. Se disponibile, attivazione della connessione alla rete ethernet.
9. Creazione e montaggio delle partizioni su cui si installerà Debian.
10. Attendere lo scaricamento, l’installazione e la configurazione del sistema di base.
11. Scegliere e installare software aggiuntivo.
12. Installazione di un boot loader per avviare Debian GNU/Linux ed eventuali altri sistemi operativi.
10

CAPITOLO 3. PREPARAZIONE …

3.2. BACKUP DEI DATI

13. Avviare per la prima volta il sistema appena installato.
Nel caso si verifichino degli errori durante l’installazione è utile conoscere quali pacchetti sono coinvolti in ciascunafase. Introduciamo gli attori principali dello spettacolo «installazione»:
Il software d’installazione, debian-installer, è il protagonista principale di questo manuale. Si occupa delriconoscimento dell’hardware e del caricamento dei driver corretti, tramite dhcp-client configura la connessione di rete, esegue debootstrap per l’installazione del sistema di base e infine esegue tasksel per consentire
all’utente l’installazione di altro software. Al processo d’installazione partecipano molti altri attori ma hanno parti
decisamente minori, il debian-installer finisce il suo lavoro quando il nuovo sistema viene riavviato per laprima volta.
Per adattare il sistema alle proprie necessità si può usare tasksel che permette di selezionare gruppi predefiniti
di programmi da installare come un server web o un ambiente desktop.
Una delle scelte importanti durante l’installazione è se installare o no un ambiente desktop grafico, che consistenel X11 window system e in uno degli ambienti desktop disponibili. Se si sceglie di non installare il task «Ambiente
desktop», si ottiene un sistema abbastanza semplice con la sola riga di comando. L’installazione del task «Ambiente
desktop» è opzionale perché rispetto a un sistema solo testo richiede molto spazio su disco e perché molti dei sistemi
Debian GNU/Linux sono dei server e non hanno bisogno di una interfaccia utente grafica per il loro lavoro.
Notare che il sistema X Window è completamente separato dal debian-installer, quindi la risoluzione dei
problemi per il sistema X Window non rientrano nello scopo di questo manuale.

3.2

Backup dei dati

Prima di iniziare, assicurarsi di avere il backup di tutti i file presenti attualmente sul proprio sistema. Se sulla macchina
è installato solo il sistema operativo nativo, con ogni probabilità sarà necessario ripartizionare il disco per liberare
spazio per Debian GNU/Linux. Ogni volta che si ripartiziona il disco, si corre il rischio di perdere tutti i dati presenti,
non importa quale programma si usi per farlo. I programmi usati durante l’installazione di Debian GNU/Linux sono
piuttosto affidabili e la maggior parte sono in circolazione da anni, ma una mossa falsa può costare cara. Anche dopo
aver fatto il backup, fare attenzione e pensare alle risposte che si danno e a quello che si fa: riflettendo un paio di
minuti in più si possono risparmiare ore di lavoro inutile.
Se si sta creando un sistema a boot multiplo, assicurarsi di avere a portata di mano i supporti di installazione degli
altri sistemi operativi. Anche se normalmente non è richiesto, potrebbe verificarsi la situazione di dover reinstallare ilboot loader del sistema operativo originario o, nel caso peggiore, reinstallare l’intero sistema operativo e ripristinare
il backup fatto in precedenza di tutti i file.

3.3

Informazioni necessarie

3.3.1

Documentazione

3.3.1.1

Guida all’installazione

Il documento che si sta leggendo è la versione ufficiale della Guida all’installazione per la release bookworm di Debian;è disponibile in vari formati e parecchie lingue.
3.3.1.2

Documentazione hardware

Contiene informazioni utili sulla configurazione o l’utilizzo dell’hardware.

3.3.2

Ricerca d’informazioni sull’hardware

Nella maggior parte dei casi il programma d’installazione è in grado di riconoscere l’hardware. Comunque è meglio
prepararsi, si raccomanda di familiarizzare con il proprio hardware prima di iniziare l’installazione.
Informazioni sull’hardware possono essere recuperate da:• Manuali che sono venduti insieme a ciascun componente hardware.
• Menu di configurazione del BIOS/UEFI del computer. Per accedere a questo menu premere all’accensione delcomputer una certa combinazione di tasti, vedere nel manuale della scheda madre qual è questa combinazione,
spesso è il tasto Canc o F2 ma alcuni costruttori usano altri tasti o altre combinazioni di tasti. Solitamente,
immediatamente dopo l’accensione del computer, appare un messaggio in cui è scritto qual è il tasto da premere
per entrare nella configurazione.
11

CAPITOLO 3. PREPARAZIONE …

3.3. INFORMAZIONI NECESSARIE• Confezioni e scatole dei componenti hardware.
• Comandi di sistema oppure programmi di altri sistemi operativi. Queste fonti sono particolarmente utili perconoscere la quantità di RAM e la capacità del disco fisso.
• L’amministratore di sistema o l’Internet Service Provider. Queste fonti possono fornire le impostazioni necessarie alla configurazione della rete e della posta elettronica.
Tabella 3.1 Informazioni sull’hardware utili per l’installazione
HardwareInformazioni
Numero di dischi.
Il loro ordine sul sistema.
IDE (noti anche come PATA), SATA o SCSI.
Spazio libero disponibile.
Partizioni.
Partizioni su cui sono installati altri sistemi operativi.
Tipo/modello delle interfacce di rete disponibili.
Modello e produttore.
Tipo/modello e produttore.

Dischi fissiInterfacce di rete
Stampante
Scheda video

3.3.3

Compatibilità hardware

Molti prodotti funzionano senza problemi su Linux. Inoltre l’hardware supportato da Linux cresce quotidianamente
anche se, purtroppo, Linux non funziona ancora su parecchi tipi di hardware su cui invece funzionano altri sistemi
operativi.
Nella maggior parte dei casi i driver in Linux non sono stati scritti per un determinato «prodotto» o «marchio» da
un particolare costruttore, ma sono stati scritti per un certo hardware/chip. Molti prodotti sono solo apparentemente
differenti ma in realtà sono basati sullo stesso hardware; non è raro che i produttori di chip forniscano un «reference
designs» per i prodotti basati sui loro chip che sono poi usati da vari costruttori per i dispositivi che poi sono venduti
con molti nomi o marchi diversi.
Ciò ha dei vantaggi e degli svantaggi. Un vantaggio è che il driver per un chip funziona con molti prodotti anchedi produttori differenti poiché i prodotti sono basati sullo stesso chip. Lo svantaggio è che non è sempre facile scoprirequal è il chip realmente montato in determinato dispositivo. Sfortunatamente qualche volta i produttori cambiano labase hardware dei loro prodotti senza cambiare il nome del prodotto e nemmeno il numero di versione, quindi avendodue oggetti con lo stesso marchio/nome prodotto comprati in tempi diversi potrebbero essere basati su due chip diversi
e di conseguenza usare due driver diversi oppure uno dei due potrebbe non disporre di un driver.
Un buon modo per scoprire su quali chip sono basati i dispositivi USB e PCI/PCI-Express/ExpressCard è cercare
gli ID del dispositivo. Tutti i dispositivi USB/PCI/PCI-Express/ExpressCard hanno un ID per il «produttore» e per il«prodotto» e la loro combinazione è solitamente la stessa per qualsiasi prodotto basato sullo stesso chip.
Sui sistemi Linux, gli ID possono essere trovati con il comando lsusb per i dispositivi USB e con il comando lspci-nn per i dispositivi PCI/PCI-Express/ExpressCard. Solitamente gli ID del costruttore e del prodotto sono mostrati
come due numeri esadecimali separati dal carattere due punti, come «1d6b:0001».
Per esempio l’output di lsusb può essere: «Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub»dove 1d6b è l’ID del produttore e 0002 è l’ID del prodotto.
Per esempio, l’output di lspci -nn per una scheda Ethernet: «03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06)». Gli ID sono
mostrati dentro le parentesi quadre più a destra, in questo caso 10ec è il produttore e 8168 è l’ID del prodotto.
Ancora un esempio, una scheda grafica potrebbe restituire il seguente output: «04:00.0 VGA compatible controller[0300]: Advanced Micro Devices [AMD] nee ATI RV710 [Radeon HD 4350] [1002:954f]».
Su sistemi Windows, gli ID di un dispositivo possono essere trovati nella gestione dispositivi di Windows nellascheda «dettagli», dove l’ID del produttore ha il prefisso VEN_ e l’ID del prodotto ha il prefisso DEV_. Su sistemi
Windows 7, è necessario selezionare la proprietà «ID Hardware» nella scheda dettagli del gestore dispositivi per vedere
gli ID perché normalmente non sono mostrati.
Cercando su Internet per produttore/ID prodotto, «Linux» e «driver» come chiavi di ricerca spesso restituiscono
informazioni riguardo lo stato dei driver per un certo chipset. Se la ricerca per produttore/ID prodotto non dà risultati
utili, la ricerca con il nome del chip, tale nome è spesso mostrato fornito da lsusb e lspci («RTL8111»/«RTL8168B»
nell’esempio della scheda di rete e «RV710» nell’esempio della scheda grafica) può essere d’aiuto.
12

CAPITOLO 3. PREPARAZIONE …

3.3.3.1

3.4. REQUISITI HARDWARE MINIMI

Verifica della compatibilità hardware con un sistema live

Debian GNU/Linux è disponibile su alcune architetture anche come «sistema live». Un sistema live è un sistema
preconfigurato e pronto all’uso in formato compresso che può essere avviato e usato da un supporto di sola lettura
tipo un CD o DVD. L’uso di un sistema live non crea nessun cambiamento permanente sul proprio computer; con ilsistema live è possibile cambiare le impostazioni dell’utente e installare programmi aggiuntivi ma tutto questo avviene
nella RAM, cioè spegnendo il computer e avviando di nuovo il sistema live, tutto è ripristinato alla configurazione
predefinita. Il modo più semplice per verificare se il proprio hardware è supportato da Debian GNU/Linux è avviare
un sistema Debian live e provarlo.
Ci sono alcune limitazioni durante l’uso di un sistema live. La prima è che tutte le modifiche che si fanno dall’interno del sistema live devono essere tenute nella RAM del computer, quindi funziona solo su sistemi con RAM
sufficiente, quindi l’installazione di grossi pacchetti aggiuntivi potrebbe fallire a causa di problemi di memoria. Un’altra limitazione che riguarda il test della compatibilità hardware è che il sistema Debian GNU/Linux live ufficiale
contiene solo componenti libere, quindi non include i file del firmware non-free. I pacchetti non-free possono essere installati manualmente nel sistema ma non c’è il rilevamento automatico della necessità di firmware come nel
installatore Debian, quindi l’installazione di componenti non-free deve essere fatta manualmente.
È possibile trovare informazioni sulle varianti disponibili delle immagini di Debian live sul sito web Debian Live
Images.

3.3.4

Impostazione della rete

Se il computer ha una connessione permanente alla rete (cioè una connessione Ethernet o equivalente, non una connessione dialup/PPP) che è amministrata da qualcun altro, si deve chiedere all’amministratore di rete le seguenti
informazioni:• Il proprio hostname (forse lo si può decidere da soli).
• Il proprio nome di dominio.
• L’indirizzo IP dell’elaboratore.
• La netmask da usare con la propria rete.
• L’indirizzo IP del gateway su cui effettuare l’instradamento predefinito, se la propria rete ne ha uno.
• Il sistema della propria rete da usare come server DNS (Domain Name Service).
Se la rete a cui si è connessi usa DHCP (Dynamic Host Configuration Protocol) per la configurazione della rete,
le informazioni precedenti sono inutili poiché il server DHCP le fornisce direttamente al proprio computer durante ilprocesso d’installazione.
Chi accede a Internet via DSL o con un cable modem (cioè tramite la TV via cavo) e dispone di un router (spesso
fornito già preconfigurato dal fornitore telefonico della TV via cavo) che gestisce la connettività di rete, solitamente èdisponibile DHCP.
Se si usa una rete WLAN/WiFi si deve anche conoscere:• L’ESSID («nome della rete») della propria rete wireless.
• La chiave di sicurezza WEP o WPA/WPA2 per accedere alla rete (se usata).

3.4

Requisiti hardware minimi

Dopo aver raccolto le informazioni sull’hardware del proprio computer verificare che l’hardware sia compatibile con
il tipo d’installazione che si ha in mente.
A seconda delle proprie necessità si potrebbe aver a che fare con qualcosa meno di quanto raccomandato nella
tabella seguente. Comunque, la maggior parte degli utenti diventa frustrata se ignora questi suggerimenti.
I valori minimi presuppongono che lo swap sia attivo e che non si utilizzi l’immagine di un liveCD. La voce «Senza
desktop» assume che si utilizzi la versione testuale dell’installatore.
I reali requisiti minimi di memoria sono molto inferiori rispetto ai valori riportati nella tabella. Con lo swap attivo,
è possibile installare Debian con meno di 32MB. Lo stesso vale per i requisiti di spazio su disco, in particolare se si
sceglie una per una le applicazioni da installare; si veda Sezione D.2 per ulteriori informazioni sui requisiti di spaziosu disco.

13

CAPITOLO 3. PREPARAZIONE …

3.5. PREPARTIZIONAMENTO PER SISTEMI AD …

Tabella 3.2 Requisiti minimi del sistema raccomandati
Tipologia
d’installazione
Senza desktop
Con desktop

RAM (minima)

RAM (raccomandata)

Spazio su disco

256 megabyte
1 gigabyte

512 megabyte
2 gigabyte

4 gigabyte
10 gigabyte

Si può usare un ambiente desktop grafico su sistemi più vecchi o meno performanti ma in questo caso si raccomanda l’installazione di un gestore di finestre meno avido di risorse rispetto a quelli degli ambienti desktop GNOMEo KDE Plasma; delle alternative sono xfce4, icewm e wmaker, ma ne esistono anche altre.
È praticamente impossibile dare dei requisiti di memoria e spazio su disco per le installazioni server dato chequesti valori sono molto legati all’uso finale del server.
Ricordarsi che le dimensioni specificate non includono tutto ciò che si può trovare di solito su un sistema, comeper esempio i file degli utenti, la posta e dati vari. La cosa migliore è tenersi larghi, pensando allo spazio necessario
per i propri dati.
Nei seguenti requisiti di sistema è compreso lo spazio su disco richiesto dalle normali operazioni del sistema operativo Debian GNU/Linux. In particolare, la partizione /var contiene un sacco di informazioni sullo stato specifiche
per Debian oltre ai normali file con i log. I file di dpkg (che contengono informazioni su tutti i pacchetti installati)
possono facilmente occupare 40 MB. Inoltre apt mette i pacchetti scaricati in questa directory prima di installarli.
Di solito si deve assegnare almeno 200 MB a /var, un po’ di più se si installa anche un ambiente desktop grafico.

3.5

Prepartizionamento per sistemi ad avvio multiplo

Il partizionamento del proprio disco consiste semplicemente nel suddividerlo in sezioni. Ogni sezione è indipendentedalle altre. Grosso modo equivale a tirare su dei muri in una casa: l’aggiunta dei mobili a una sola stanza non influisce
sulle altre.
Se sul proprio sistema è già presente un sistema operativo che occupa tutto il disco e si vuole installare Debiansullo stesso disco, allora è necessario rifare le partizioni. Debian richiede delle partizioni riservate sul disco fisso, nonpuò essere installata su partizioni Windows o Mac OS X. Si potrebbero invece condividere alcune partizioni con altri
sistemi Unix, ma tale questione non verrà affrontata in questo documento. Come minimo è necessaria una partizione
dedicata per il file system root di Debian.
È possibile ottenere delle informazioni sull’attuale configurazione delle partizioni usando un programma per ilpartizionamento per il sistema operativo che si sta attualmente usando. I programmi di partizionamento forniscono
sempre un modo per visualizzare le partizioni esistenti senza effettuare delle modifiche.
In generale, modificare una partizione che contiene già un file system distruggerà qualsiasi informazione preesistente. Perciò si dovrebbe sempre fare il backup prima di procedere a qualunque ripartizionamento. Continuando ad
usare l’analogia della casa, è opportuno spostare tutti i mobili prima di procedere alla demolizione e ricostruzione diun muro, altrimenti si rischia di distruggerli.
Molti dei sistemi operativi più recenti offrono la possibilità di spostare e ridimensionare certe partizioni esistentisenza distruggere il loro contenuto. Questo permette di creare lo spazio per altre partizioni senza perdere i dati
esistenti. Anche se nella maggior parte dei casi questa operazione funziona correttamente rimane comunque un’azione
intrinsecamente pericolosa perciò deve essere effettuata solo dopo aver fatto un backup completo di tutti i dati.

3.6

Configurazione di hardware e sistema operativo prima dell’installazione

In alcuni casi, prima di installare Debian, potrebbe essere necessario riconfigurare dell’hardware, in questa sezione è descritto cosa fare. Generalmente si tratta di controllare e, nel caso, di modificare le impostazioni del BIOS/UEFI/firmware di sistema. Il «BIOS/UEFI» o «firmware di sistema» è il software essenziale per il funzionamentodell’hardware, il suo utilizzo è critico durante il processo di bootstrap (che segue l’accensione).

3.6.1

ARM firmware

Come già menzionato in precedenza, sui sistemi ARM non esiste un firmware standard, persino il comportamento
di sistemi che nominalmente usano lo stesso firmware può essere abbastanza differente. Ciò dipende dal fatto che
gran parte dei dispositivi che utilizzano l’architettura ARM sono sistemi embedded per i quali il produttori realizzano

14

CAPITOLO 3. PREPARAZIONE …

3.6. CONFIGURAZIONE DI HARDWARE E …

versioni del firmware pesantemente personalizzate con patch specifiche per il dispositivo. Purtroppo è molto raro che
i produttori inviino le proprie modifiche a chi sviluppa il firmware originale e quindi le modifiche fatte dai produttori
non sono integrate nelle nuove versioni ufficiali del firmware.
Di conseguenza persino i sistemi appena usciti sul mercato utilizzano del firmware basato su una versione vecchia
e personalizzata dal produttore del firmware originale che nel frattempo è stato migliorato dagli sviluppatori: aggiungendo funzionalità o cambiandone alcuni aspetti. Inoltre, anche il nome dei dispositivi montati non è consistente trale versioni modificate dai produttori dello stesso firmware e quindi per i sistemi ARM è impossibile fornire istruzioni
d’uso indipendenti dal prodotto.

3.6.2

Impostazione dell’indirizzo MAC in U-Boot

L’indirizzo MAC di ogni dispositivo Ethernet normalmente dovrebbe essere unico a livello mondiale e tecnicamente
deve essere unico all’interno del dominio di broadcast ethernet. Per ottere questo risultato chi produce i dispositivi
si fa assegnare un blocco di indirizzi MAC (e per questo paga una tassa) e assegna uno di questi indirizzi a ogni
dispositivo.
Nel caso delle schede di sviluppo, alcuni produttori vogliono non pagare questa tassa e quindi forniscono dispositivi
che non hanno un indirizzo MAC univoco. In questo caso devono essere gli utenti a definire gli indirizzi MAC dei
propri sistemi. Quando non è definito un indirizzo MAC, alcuni driver di rete ne generano uno casuale che cambia aogni riavvio, in questo caso l’accesso alla rete funziona anche senza che l’utente abbia impostato un indirizzo MAC
ma, per esempio, l’assegnazione semi-statica di indirizzi IP su DHCP in base all’indirizzo MAC del client che fa larichiesta non funziona in modo affidabile.
Per evitare conflitti con gli indirizzi MAC assegnati ufficialmente, c’è un insieme di indirizzi che è riservato agli
indirizzi «locally administered» (amministrati localmente). È definito dal valore di due bit del primo byte dell’indirizzo(l’articolo in lungua inglese «MAC Address» su Wikipedia dà una buona spiegazione). In pratica vuol dire che, per
esempio, tutti gli indirizzi che iniziano con il valore esadecimale ca (come ca:ff:ee:12:34:56) può essere usato comeun indirizzo amministrato localmente.
Per i sistemi che utilizzano U-Boot come firmware di sistema, l’indirizzo MAC ethernet è salvato nella variabiled’ambiente «ethaddr»; è possibile controllarne il valore dal prompt di U-Boot con il comando «printenv ethaddr» e
può essere cambiato con il comando «setenv ethaddr ca:ff:ee:12:34:56». Dopo aver impostato il nuovo valore, usare
il comando «saveenv» per rendere permanente la modifica.

3.6.3

Problemi di rilocazione del Kernel/Initrd/Device-Tree con U-BootÈ possibile che su alcuni sistemi con vecchie versioni di U-Boot si verifichino durante il processo d’avvio dei problemi
con la rilocazione in memoria del kernel Linux, del ramdisk iniziale e del device-tree blob. In questo caso, U-Boot
mostra il messaggio «Starting kernel ...» e poi il sistema si blocca senza altri messaggi. Questi problemi sono stati
risolti nelle versioni di U-Boot successive alla v2014.07.
Questo problema potrebbe comunque verificarsi anche se il sistema era originariamente equipaggiato con una
versione di U-Boot precedente alla v2014.07 e, in seguito, è stato aggiornato a una versione più recente. Infatti l’aggiornamento di U-Boot solitamente non modifica le variabili d’ambiente esistenti ma la correzione richiede l’impostazione della nuova variabile d’ambiente (bootm_size) che viene creata automaticamente solo sulle nuove installazioni
quindi senza variabili d’ambiente esistenti. È possibile impostare manualmente bootm_size al suo valore predefinito
eseguendo il comando «env default bootm_size; saveenv» dal promnpt di U-Boot.
Un’altra possibilità per prevenire problemi legati alla rilocazione è eseguire il comando «setenv fdt_high ffffffff;
setenv initrd_high 0xffffffff; saveenv» dal prompt di U-Boot per disattivare completamente la rilocazione del ramdisk
iniziale e del device-tree blob.

15

Capitolo 4

Recupero dei supporti per l’installazione
4.1

Immagini per l’installazione Debian GNU/Linux ufficiali

Da sempre il modo più semplice per installare Debian GNU/Linux è usare un set ufficiale Debian di immagini perl’installazione. Si può comprare un set da uno dei rivenditori (consultare la pagina dei rivenditori di CD). Se si dispone
di una connessione veloce alla rete e di un masterizzatore È possibile anche scaricare le immagini di CD/DVD da uno
dei mirror Debian e creare il proprio set (consultare le istruzioni nella pagina dei CD Debian e le Debian CD FAQ).
Se si possiede un set di CD/DVD Debian e se è possibile avviare la propria macchina da CD/DVD, si può passare
direttamente a Capitolo 5; è stato fatto un lavoro molto accurato per assicurare che i file necessari alla maggioranzadegli utenti si trovino sui primi CD e DVD, quindi l’installazione di un ambiente desktop di base può essere fatta con
solo il primo DVD oppure persino solo con il primo CD.
Poiché i CD hanno una capacità abbastanza limitata per gli standard di oggigiorno, non tutti gli ambienti grafici
sono installabili usando solo il primo CD; per l’installazione di alcuni ambienti desktop, oltre al CD, è necessario
essere connessi in rete per scaricare i file rimanenti o dei CD aggiuntivi.
Inoltre, se i supporti per l’installazione utilizzati non contengono alcuni pacchetti di cui si ha bisogno, è comunquepossibile installare tali pacchetti in seguito quando il nuovo sistema sarà attivo (una volta completata l’installazione).
Chi ha bisogno di conoscere su quale immagine per l’installazione può trovare uno specifico pacchetto può visitare
https://cdimage-search.debian.org/.
Se la propria macchina non supporta l’avvio da supporti ottici ma si possiede un set di CD/DVD è possibile usare
una strategia alternativa come avvio da rete, oppure caricare manualmente il kernel dal disco per avviare il sistema
di installazione. Sul disco ci sono anche i file necessari per l’avvio da altri supporti. La struttura dell’archivio Debianin rete e quella delle cartelle sul disco sono identiche, quindi i percorsi a specifici file necessari per l’avvio forniti diseguito sono cercati all’interno della stessa directory o sottodirectory sul proprio supporto.
Una volta che l’installatore è partito, è in grado di recuperare tutti gli altri file necessari dal disco.
Se non si possiede un set di supporti per l’installazione allora è necessario scaricare i file dell’installatore e copiarli
su un computer in rete, in modo da essere usati per avviare l’installatore.

4.2

Recupero dei file dai mirror DebianPer scoprire qual è il mirror più vicino (e quindi probabilmente il più veloce) si consulti l’elenco dei mirror Debian.

4.2.1

Dove trovare i file per l’installazione

È possibile trovare i vari file per l’installazione su ogni mirror Debian nella directory debian/dists/bookworm/main/installer-armel/current/images/; in MANIFEST sono elencate tutte le immagini e il loro scopo.
4.2.1.1

File d’installazione per Kurobox Pro

Il Kurobox Pro richiede che un kernel e ramdisk siano su una partizione ext2 del disco su cui si intende installare
Debian. Queste immagini possono essere recuperate da .../images/orion5x/network-console/buffalo/kuroboxpro .
4.2.1.2

File d’installazione per HP mv2120

L’immagine del firmware fornita per i HP mv2120 avvia automaticamente il debian-installer. L’immagine
può essere installata con uphpmvault da Linux o da altri sistemi operativi oppure con HP Media Vault Firmware Re16

CAPITOLO 4. RECUPERO DEI SUPPORTI PER …

4.3. PREPARAZIONE DEI FILE PER L’AVVIO TFTP …

covery Utility da Windows. L’immagine del firmware può essere recuperata da .../images/orion5x/network-console/hp/mv2120/netboot.img .
4.2.1.3

File d’installazione per QNAP Turbo Station

I file per l’installazione su QNAP Turbo Station consistono in un kernel, un ramdisk e gli script necessari per scrivere
queste immagini sulla flash. È possibile recuperare i file per l’installazione sui modelli QNAP TS-11x/TS-12x, HS210, TS-21x/TS-22x e TS-41x/TS-42x sono scaricabili da .../images/kirkwood/network-console/qnap/ .
4.2.1.4

File d’installazione per plug computer e OpenRD

I file per l’installazione su dispositivi quali i plug computer (SheevaPlug, GuruPlug, DreamPlug, ecc.) e OpenRD
consistono di un kernel e un initrd per U-Boot. È possibile recuperare questi file da .../images/kirkwood/netboot/marvell/ .
4.2.1.5

File d’installazione per NAS LaCie

I file per l’installazione su NAS LaCie (Network Space v2, Network Space Max v2, Internet Space v2, d2 Network
v2, 2Big Network v2 e 5Big Network v2) consistono di un kernel e un initrd per U-Boot. È possibile recuperare questi
file da .../images/kirkwood/network-console/lacie/ .

4.3

Preparazione dei file per l’avvio TFTP da rete

Se la propria macchina è connessa a una rete locale allora è possibile avviarla tramite TFTP da un’altra macchina.
Se si vuole avviare il sistema d’installazione da un’altra macchina è necessario che i file d’avvio siano contenuti inparticolari directory di questa macchina e che sia configurata per gestire l’avvio della propria macchina.
È necessario attivare un server TFTP e, per più macchine un server DHCP o un server RARP o un server BOOTP.
Il RARP (Reverse Address Resolution Protocol) è un metodo per comunicare ai client quale indirizzo IP usare.
In alternativa è possibile usare il protocollo BOOTP. BOOTP è un protocollo IP che comunica a un computer qual èil proprio indirizzo IP e dove può recuperare dalla rete un’immagine per l’avvio. Il DHCP (Dynamic Host Configuration Protocol) è una estensione più flessibile ma compatibile all’indietro di BOOTP. Alcuni sistemi possono essere
configurati solo tramite DHCP.
Il TFTP (Trivial File Transfer Protocol) è usato per fornire l’immagine di avvio al client. Teoricamente si può
usare un qualsiasi server, su qualsiasi architettura che implementi questo protocollo. Negli esempi di questa sezione
sono presentati i comandi per SunOS 4.x, SunOS 5.x (noti come Solaris) e GNU/Linux.

4.3.1

Attivazione di un server RARPPer impostare un server RARP è necessario conoscere l’indirizzo Ethernet (noto anche come indirizzo MAC) dei
computer client da installare. Se non si conoscono queste informazioni è possibile avviare in modalità «Ripristino» eusare il comando ip addr show dev eth0.
Su un server RARP con kernel Linux oppure con Solaris/SunOS, usare il programma rarpd. Assicurarsi chel’indirizzo Ethernet del client sia elencato nel database «ethers» (nel file /etc/ethers o tramite NIS/NIS+) e
nel database «hosts». Poi si deve avviare il demone RARP eseguendo (da root): /usr/sbin/rarpd -a perla maggior parte dei sistemi Linux e SunOS 5 (Solaris 2), /usr/sbin/in.rarpd -a per alcuni sistemi Linux
oppure /usr/etc/rarpd -a per SunOS 4 (Solaris 1).

4.3.2

Attivazione di un server DHCP

Un server DHCP libero è dhcpd di ISC. In Debian GNU/Linux si raccomanda il pacchetto isc-dhcp-server.
Segue un esempio del file di configurazione per questo server (di solito /etc/dhcp/dhcpd.conf):
option domain-name ”example.com”;
option domain-name-servers ns1.example.com;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name ”servername”;
subnet 192.168.1.0 netmask 255.255.255.0 {17

CAPITOLO 4. RECUPERO DEI SUPPORTI PER …

4.3. PREPARAZIONE DEI FILE PER L’AVVIO TFTP …

range 192.168.1.200 192.168.1.253;
option routers 192.168.1.1;}
host clientname {filename ”/tftpboot.img”;
server-name ”servername”;
next-server servername;hardware ethernet 01:23:45:67:89:AB;
fixed-address 192.168.1.90;}

In questo esempio c’è una macchina servername che fa da server DHCP, da server TFTP e da gateway di rete.
Sicuramente è necessario cambiare le opzioni domain-name, il nome del server e anche l’indirizzo hardware del client.
Il valore dell’opzione filename deve essere il nome del file che verrà recuperato tramite TFTP.
Dopo aver modificato il file di configurazione di dhcpd riavviarlo con /etc/init.d/isc-dhcp-serverrestart.

4.3.3

Attivazione di un server BOOTPPer GNU/Linux sono disponibili due server BOOTP. Il primo è bootpd di CMU, l’altro è un server DHCP: dhcpd di
ISC. Questi server sono rispettivamente contenuti nei pacchetti Debian GNU/Linux bootp e isc-dhcp-server.
Per usare bootpd di CMU è necessario togliere i commenti (o aggiungere) la relativa riga in /etc/inetd.
conf. Su Debian GNU/Linux è possibile usare update-inetd --enable bootps e poi /etc/init.d/inetd
reload per fare questa operazione. Solo nel caso in cui il proprio server BOOTP non sia Debian, la riga in questione
dovrebbe essere simile a questa:
bootps

dgram

udp

wait

root

/usr/sbin/bootpd

bootpd -i -t 120

Adesso è necessario creare il file /etc/bootptab. Questo file ha lo stesso formato criptico dei file printcap,
termcap e disktab di BSD. Vedere la pagina di manuale di bootptab per maggiori informazioni. Per bootpd
di CMU è necessario conoscere qual è l’indirizzo hardware (MAC) del client. Questo è un esempio di /etc/
bootptab:client:\hd=/tftpboot:\bf=tftpboot.img:\
ip=192.168.1.90:\
sm=255.255.255.0:\
sa=192.168.1.1:\
ha=0123456789AB:

È necessario cambiare almeno l’opzione «ha» che specifica l’indirizzo hardware del client. L’opzione «bf» specifica
quale file deve essere recuperato dal client tramite TFTP; si consulti Sezione 4.3.5 per ulteriori dettagli.
Al contrario l’impostazione di BOOTP con dhcpd di ISC è veramente semplice poiché tratta i client BOOTP come un caso moderatamente speciale dei client DHCP. Alcune architetture richiedono una complessa configurazione
dei client per l’avvio con BOOTP, se si possiede una di queste leggere la sezione Sezione 4.3.2. In caso contrario perproseguire è sufficiente aggiungere la direttiva allow bootp al blocco di configurazione della subnet a cui appartiene il client in /etc/dhcp/dhcpd.conf e riavviare dhcpd usando /etc/init.d/isc-dhcp-serverrestart.

4.3.4

Attivazione di un server TFTPPer avere un server TFTP pronto all’uso è necessario assicurarsi che tftpd sia attivo.
Il servizio tftpd-hpa può funzionare in due modalità. Può essere avviato su richiesta dal demone di sistema
inetd oppure come demone indipendente. La scelta della modalità di esecuzione è fatta durante l’installazione delpacchetto e può essere modificata riconfigurando il pacchetto.

18

CAPITOLO 4. RECUPERO DEI SUPPORTI PER …

4.4. INSTALLAZIONE AUTOMATIZZATANOTAStoricamente i server TFTP hanno usato /tftpboot come directory dalla qualeservire le immagini. Invece, i pacchetti Debian GNU/Linux potrebbero usare una
directory diversa in modo da essere conformi al Filesystem Hierarchy Standard.
Per esempio tftpd-hpa usa /srv/tftp; potrebbe essere necessario modificare
gli esempi presenti in questa sezione in base alla propria configurazione.
Tutte le versioni di in.tftpd disponibili in Debian registrano le richieste TFTP sul log di sistema e alcune versioni
supportano l’opzione -v per aumentare la verbosità. In caso di problemi d’avvio, si raccomanda di verificare i messaggi
nel log poiché sono un ottimo punto di partenza per la diagnosi della causa degli errori.

4.3.5

Posizionamento delle immagini TFTP

Spostare le immagini TFTP di cui si ha bisogno (come descritto in Sezione 4.2.1) nella directory delle immagini diavvio per TFTP. Potrebbe essere necessario fare un link da questa directory al file che tftpd dovrà utilizzare per l’avvio
di un particolare client. Sfortunatamente il nome del file è stabilito dal client TFTP e non esiste uno standard.

4.4

Installazione automatizzata

È possibile effettuare installazioni su parecchi computer attraverso procedure completamente automatizzate. I pacchetti Debian adatti a questo scopo sono fai-quickstart (che usa un server di installazione) e lo stesso Installatore Debian. Consultare la pagina web di FAI per informazioni più dettagliate.

4.4.1

Installazione automatizzata usando l’Installatore Debian

L’Installatore Debian supporta le installazioni automatizzate tramite dei file di preconfigurazione. Un file di preconfigurazione può essere caricato dalla rete o da un supporto rimovibile ed è usato per rispondere alle domande chesarebbero normalmente poste durante il processo d’installazione.
La documentazione completa sulla preconfigurazione comprende anche un esempio funzionante, che è possibile
modificare, si trova in Appendice B.

4.5

Verificare l’integrità dei file per l’installazione

È possibile verificare l’integrità dei file scaricati confrontando il codice di controllo riportato nei file SHA256SUMS
e SHA512SUMS presenti sui mirror Debian; sono presenti nella stessa directory in cui sono i file d’installazione.
Visitare le seguenti directory:• file con i codici di controllo delle immagini dei CD,• file con i codici di controllo delle immagini dei DVD,• file con i codici di controllo degli altri file per l’installazione.
Per calcolare il codice di controllo di un file scaricato usare
sha256sum filename.iso

oppuresha512sum filename.iso

e poi comparare il codice di controllo con quello corrispondente nel file SHA256SUMS oppure SHA512SUMS.
Le FAQ di Debian CD contengono altre informazioni su questa attività (come per esempio lo script check_debian_iso, per semi-automatizzare la procedura precedente) e delle istruzioni su come verificare l’integrità degli
stessi file con i codici di controllo.

19Capitolo 5

Avvio del sistema d’installazione
5.1

Avvio dell’installatore su ARM 32 bit

5.1.1

Formati delle immagini d’avvio

Sulla maggior parte dei sistemi ARM è utilizzato uno tra questi due formati per le immagini di avvio: a) kernelLinux standard («vmlinuz») insieme ai tradizionali ramdisk iniziali di Linux («initrd.gz») oppure b) kernel in formato
uImage insieme al suo ramdisk iniziale («uInitrd»).
uImage/uInitrd sono formati pensati per il firmware U-Boot, presente su molti sistemi ARM (principalmente quelli
a 32-bit). Le versioni di U-Boot più vecchie possono avviare solo file nel formato uImage/uInitrd, quindi spesso sonousate sui sistemi armel più vecchi. Le versioni di U-Boot più recenti sono in grado di avviare ovviamente le immagini
uImages/uInitrds ma riescono ad avviare anche i kernel e i ramdisk in formato Linux, la sintassi del comando per
avviare le immagini in formato Linux è leggermente diversa da quella del comando per avviare le immagini uImage.
Per i sistemi che usano un kernel multipiattaforma, oltre al kernel e al ramdisk, è necessario anche un cosiddetto
file con l’albero dei dispositivi (device-tree oppure device-tree blob, «dtb»). Tale file è specifico per ciscun sistema
e contiene la descrizione dell’hardware. Normalmente il dtb è fornito dal firmware del dispositivo ma, in pratica, ènecessario caricarne uno più recente.

5.1.2

Avvio con TFTP

L’avvio da rete richiede una connessione di rete e un boot server TFTP (e probabilmente anche un server DHCP,
RARP o BOOTP per la configurazione automatica della rete).
La configurazione lato server per effettuare l’avvio dalla rete è descritto in Sezione 4.3.
5.1.2.1

Avvio da TFTP con U-Boot

L’avvio da rete per i sistemi che usano il firmware U-Boot consiste di tre passi: a) configurazione della rete b)
caricamento delle immagini (kernel, ramdisk e dtb) in memoria c) l’esecuzione del codice appena caricato.
Il primo passo è configurare la rete, automaticamente tramite DHCP con
setenv autoload nodhcp

oppure manualmente impostando alcune variabili d’ambiente
setenv ipaddr <indirizzo ip del client>setenv netmask <maschera di rete>setenv serverip <indirizzo ip del server tftp>
setenv dnsip <indirizzo ip del nameserver>
setenv gatewayip <indirizzo ip del gateway predefinito>

È possibile salvare in modo permanente queste impostazioni eseguendo
saveenv

Dopodiché è necessario caricare le immagini (kernel, ramdisk iniziale e dtb) in memoria. Per questa operazione
occorre usare il comando tftpboot passando l’indirizzo di memoria al quale deve deve caricata l’immagine. Sfortunatamente la mappa di memoria varia da sistema a sistema e non esiste una regola generale su quale indirizzo
utilizzare.
20

CAPITOLO 5. AVVIO DEL SISTEMA …

5.2. ACCESSIBILITÀ

Su alcuni sistemi, U-Boot predefinisce una serie di varibili d’ambiente con gli indirizzi da usare: kernel_addr_r,
ramdisk_addr_r e fdt_addr_r. È possibile verificare se tali variabili sono state definite con
printenv kernel_addr_r ramdisk_addr_r fdt_addr_r

Se non sono state definite, è necessario trovare nella documentazione i valori adatti al proprio sistema e impostarli
manualmente. Per i sistemi basati sui SOC Allwinner SunXi (per esempio per Allwinner A10 nome dell’architettura«sun4i», o Allwinner A20, nome dell’architettura «sun7i») è possibile usare i seguenti valori:setenv kernel_addr_r 0x46000000
setenv fdt_addr_r 0x47000000
setenv ramdisk_addr_r 0x48000000

Dopo aver impostato gli indirizzi, è possibile caricare le immagini in memoria dal server tftp definito in precedenza
con
tftpboot ${kernel_addr_r} <nome file dell’immagine del kernel>
tftpboot ${fdt_addr_r} <nome file del dtb>
tftpboot ${ramdisk_addr_r} <nome file del ramdisk iniziale>

Il terzo passo è impostare la riga di comando per il kernel e avviare l’esecuzione del codice appena caricato. U-bootpassa il contenuto della variabile d’ambiente «bootargs» come riga di comando al kernel, quindi tutti parametri per ilkernel e per l’installatore, come il device della console (vedere Sezione 5.3.1) oppure le opzioni di preconfigurazione(vedere Sezione 5.3.2 e Appendice B), possono essere impostati con un comando simile asetenv bootargs console=ttyS0,115200 rootwait panic=10

Il comando per eseguire il codice caricato in precedenza dipende dal formato delle immagini usato. Con uImage/uInitrd, usare il comando
bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}

e con le immagini native Linux usarebootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}

Nota: quando si avviano immagini linux è importante caricare l’immagine del ramdisk iniziale dopo il kernel e il
dtb poiché U-Boot imposta il valore della variabile filesize pari alla dimensione dell’ultimo file caricato e il comandobootz ha bisogno di conoscere la dimensione dell’immagine del ramdisk per funzionare correttamente. Per avviare
un kernel specifico per una piattaforma, vale a dire un kernel senza il device-tree, è sufficiente omettere il parametro${fdt_addr_r}.

5.2

Accessibilità

Alcuni utenti potrebbero aver bisogno di particolari supporti perché, per esempio, hanno una disabilità visiva. La
maggior parte delle funzionalità per l’accessibilità devono essere attivate manualmente. L’attivazione di alcune delle
funzionalità per l’accessibilità può essere fatta utilizzando i parametri d’avvio. Notare che sulla maggioranza dellearchitetture il boot loader interpreta la tastiera come una tastiera QWERTY.

5.2.1

Interfaccia utente dell’Installatore

L’Installatore Debian dispone di diverse interfacce per porre delle domande all’utente, ogni interfaccia ha dei vantaggi
dal punto di vista dell’accessibilità: in particolare, text usa del semplice testo invece newt usa dei riquadri di dialogo
testuali. La scelta può essere fatta dal prompt di avvio, consultare la documentazione per DEBIAN_FRONTEND in
Sezione 5.3.2.
Con l’interfaccia utente newt (usata prevalentemente con il braille), gli utenti scelgono le risposte usando i tasti
freccia e le confermano con Invio. Premendo i tasti Tab o Shift - Tab è possibile passare da un elemento all’altro dellafinestra di dialogo, da notare che usando il bottone Indietro vengono riproposte le domande precedenti. Alcune
finestre di dialogo contengono delle caselle di controllo, su queste è possibile mettere e togliere la spunta premendo
Space.
Con l’interfaccia utente text (usata prevalentemente con la sintesi vocale), gli utenti scelgono le risposte digitando
il numero corrispondente seguito da Invio oppure scegliendo la risposta con i tasti freccia e confermano con Invio.
Gli utenti possono anche non fare scelte e premere Invio per accettare la risposta predefinita. Digitando < seguito
da Invio vengono riproposte le domande precedenti. Nei casi in cui è richiesta la scelta di più valori (per esempio lascelta dei task), gli utenti possono digitare ! per indicare nessun valore scelto.
21

CAPITOLO 5. AVVIO DEL SISTEMA …

5.2.2

5.3. PARAMETRI DI AVVIO

Altri dispositivi

Alcuni dispositivi per l’accessibilità sono delle schede da inserire all’interno della macchina in grado di leggere il testo
direttamente dalla memoria video. Per farle funzionare è necessario disabilitare il supporto per il framebuffer tramite
il parametro d’avvio fb=false. Purtroppo questo riduce il numero di lingue utilizzabili.

5.2.3

Temi a contrasto elevato

Gli utenti ipovedenti possono usare l’installatore con un tema di colori a contrasto elevato che lo rende più leggibile. Per attivarlo, scegliere «Accessible high contrast» dal menu di avvio tramite la scorciatoia d oppure aggiungere
theme=dark in coda ai parametri d’avvio.

5.2.4

Zoom

L’installatore grafico offre agli utenti ipovedenti una funzione di zoom essenziale: le scorciatoie di tastiera Control-+e Control– aumentano e diminuiscono la dimensione dei caratteri.

5.2.5

Installazione esperta, modalità ripristino e installazione automatizzata

Anche con il supporto per l’accessibilità è possibile scegliere tra le modalità installazione esperta, modalità ripristinoe installazione automatizzata. Per accedere a tali opzioni occorre prima entrare nel sottomenu «Advanced options»del menu di avvio premendo il tasto a. Su un sistema BIOS (il menu di avvio ha fatto un solo bip), è necessario
confermare premendo Invio; su sistemi UEFI (al menu di avvio sono stati emessi due bip) non serve confermare. Poi,chi vuole, può attivare la sintesi vocale premendo s (su un sistema BIOS confermare con Invio, un sistema UEFI non
attende conferma). Adesso è possibile usare le diverse scorciatoie: x per l’installazione in modalità esperta, r perla modalità ripristino oppure a per l’installazione automatizzata. Ancora una volta, su un sistema BIOS è necessariopremere Invio per confermare.
La scelta automated install permette di installare Debian in modo completamente automatico usando la preconfigurazione, il cui sorgente può essere inserito una volta avviate le funzionalità di accessibilità. La preconfigurazione è
documentata in Appendice B.

5.2.6

Accessibilità del sistema installato

La documentazione sull’accessibilità del sistema installato è disponibile sulla pagina wiki Debian Accessibility.

5.3

Parametri di avvio

I parametri di avvio sono dei parametri per il kernel Linux che di solito sono usati per gestire correttamente le periferiche. Nella maggior parte dei casi il kernel recupera automaticamente le informazioni sulle periferiche ma in alcuni
casi è necessario aiutarlo un po’.
La prima volta che si avvia il sistema provare a usare i parametri di avvio predefiniti (cioè senza impostare alcun
parametro) e vedere se funziona correttamente. Se non funziona si può riavviare e aggiungere qualsiasi parametronecessario per il riconoscimento del proprio hardware.
Delle informazioni su molti parametri di avvio possono essere trovate nel Linux BootPrompt HOWTO, che contiene utili consigli anche per l’hardware più misterioso. Questa sezione del manuale contiene solo un riassunto delleparti più salienti, alcuni «trucchi» sono stati inseriti in Sezione 5.4.

5.3.1

Avvio da console

Generalmente se l’avvio è effettuato con una console seriale il kernel riconosce questa modalità. Se al computersu cui si vuole fare l’installazione sono collegati una scheda video e una tastiera potrebbe essere necessario passare
console=device al kernel, dove device è il device seriale da usare, di solito qualcosa di simile a ttyS0.
Potrebbe essere necessario specificare i parametri di configurazione della porta seriale, per esempio console=ttyS0,9600n8
altre comuni velocità sono 57600 e 115200. Assicurarsi di inserire questa opzione dopo «---», in questo modo viene
copiata nella configurazione del boot loader nel sistema installato (se supportata dall’installatore e dal boot loader).
Per assicurare che il tipo di terminale usato dall’installatore sia congruente con il proprio emulatore di terminale è possibile usare il parametro TERM=tipo. Notare che l’installatore supporta solo questi tipi di terminale:
linux, bterm, ansi, vt102 e dumb. Il valore predefinito per la console seriale del installatore Debianè vt102. La console IPMI e gli strumenti di virtualizzazione, per esempio QEMU/KVM, potrebbero non fornire
22

CAPITOLO 5. AVVIO DEL SISTEMA …

5.3. PARAMETRI DI AVVIO

la conversione tra questi tipi di terminali, è comunque possibile avviarli all’interno di una sessione screen. In questo
modo verrà effettuata una traduzione per il tipo di terminale screen, che è molto simile a vt102.

5.3.2

Parametri dell’Installatore Debian

Il sistema d’installazione riconosce alcuni parametri aggiuntivi¹ che possono essere molto utili.
Un parte dei parametri dispone di una «abbreviazione» che permette di accorciare un po’ la riga di comando
contenente le opzioni da passare al kernel e di semplificare l’inserimento dei parametri. Per i parametri che hanno
un’abbreviazione, l’abbreviazione è riportata fra parentesi accanto alla forma normale (lunga). Gli esempi in questo
manuale usano normalmente l’abbreviazione.
debconf/priority (priority) Questo parametro imposta la priorità oltre la quale sono mostrati i messaggi.
Il valore predefinito è priority=high. Questo vuol dire che sono mostrati i messaggi con priorità alta
(high) e critica (critical) ma i messaggi con priorità media (medium) e bassa (low) sono saltati. Se durante
l’installazione si verificano dei problemi l’installatore cambia la priorità a seconda delle necessità.
Se si aggiunge priority=medium come parametro d’avvio viene mostrato il menu d’installazione e si ottiene
un controllo più elevato sull’installazione. Quando si usa priority=low sono mostrati tutti i messaggi(equivale al metodo d’avvio esperto). Con priority=critical il sistema d’installazione mostra solo imessaggi critici e cerca di portare avanti l’installazione senza troppe domande.
DEBIAN_FRONTEND Questo parametro controlla il tipo di interfaccia utente usata dall’installatore. Attualmente
i possibili valori sono:• DEBIAN_FRONTEND=noninteractive• DEBIAN_FRONTEND=text• DEBIAN_FRONTEND=newt• DEBIAN_FRONTEND=gtk
L’interfaccia predefinita è DEBIAN_FRONTEND=newt. Nel caso di installazione con una console seriale può
essere preferibile usare DEBIAN_FRONTEND=text. Alcuni tipi di supporto per l’installazione specializzati potrebbero offrire un insieme ridotto di interfacce però le interfacce newt e text sono disponibili sulla
maggior parte delle dei supporti per l’installazione preconfezionati. Sulle sole architetture che supportano laversione grafica dell’installatore è disponibile anche l’interfaccia gtk.
BOOT_DEBUG Impostando questo parametro a 2 si forza il processo d’avvio dell’installatore ad essere più prolisso.
Impostando il parametro a 3 si attivano delle shell in punti strategici del processo d’avvio (uscire dalle shell per
continuare il processo d’avvio).
BOOT_DEBUG=0 Questo è il valore predefinito.
BOOT_DEBUG=1 Più informazioni del solito.
BOOT_DEBUG=2 Parecchie informazioni per il debug.
BOOT_DEBUG=3 Delle shell sono attivate in vari punti del processo d’avvio per consentire un accurato debug.
Chiudere la shell per continuare il processo.
log_host, log_port Servono per inviare i messaggi di log verso un log di sistema remoto sull’host e porta specificati
oltre che sul file locale. Se non si impostata la porta, viene usata la porta predefinita per il log di sistema cioè la514.
lowmem Può essere usato per forzare l’installatore a un livello di soglia per il modulo «low memory» più alto diquello predefinito in base alla memoria disponibile. I valori possibili sono 1 e 2. Consultare Sezione 6.3.1.1.
noshell Impedisce all’Installatore di fornire le shell interattive su tty2 e tty3. Utile durante le installazioni nonsorvegliate e con scarsa sicurezza fisica.
debian-installer/framebuffer (fb) Su alcune architetture si usa il framebuffer del kernel per fornire l’installazionein più lingue. Se sul proprio sistema il framebuffer crea problemi è possibile disabilitarlo usando il parametro
fb=false. Dei sintomi di questo problema sono dei messaggi d’errore riguardo bterm o bogl, lo schermo
nero oppure un blocco entro pochi minuti dall’inizio dell’installazione.
¹Con gli attuali kernel (2.6.9 e successivi) si possono usare 32 opzioni sulla riga di comando e 32 opzioni d’ambiente. Nel caso si superino
questi limiti il kernel si blocca. Inoltre la lunghezza massima dell’intera riga di comando è di 255 caratteri, tutto ciò che è oltre questo limite viene
ignorato senza dare alcun avviso.

23

CAPITOLO 5. AVVIO DEL SISTEMA …

5.3. PARAMETRI DI AVVIO

debian-installer/theme (theme) Un tema determina l’aspetto dell’interfaccia utente dell’installatore (colori, icone,ecc.); i temi disponibili potrebbero cambiare al variare dell’interfaccia. Attualmente entrambe le interfacce newt
e gtk dispongono, oltre all’aspetto predefinito, solo del tema «dark», adatto agli utenti con disabilità visiva. Per
utilizzare questo tema usare il parametro theme=dark all’avvio del sistema (oppure usare la scorciatoia datastiera d nel menu di avvio).
netcfg/disable_autoconfig Normalmente il installatore Debian tenta di configurare la rete via l’autoconfigurazione di IPv6 e DHCP. Se il tentativo ha successo non si ha la possibilità di verificare ed eventualmente modificare le impostazioni, è possibile fare la configurazione manuale della rete solo se la configurazione
automatica fallisce.
Se nella propria rete locale è presente un router IPv6 oppure un server DHCP ma si vuole evitare di usarli, per
esempio perché forniscono risposte sbagliate, si può usare il parametro netcfg/disable_autoconfig=true
per evitare qualsiasi tentativo di configurazione automatica della rete (v4 e nemmeno v6) e per inserire leinformazioni manualmente.
hw-detect/start_pcmcia Da impostare a false per evitare l’avvio dei servizi PCMCIA che, in qualche caso,
possono causare dei problemi. Alcuni portatili sono famosi per questo malfunzionamento.
preseed/url (url) Specifica l’url del file di preconfigurazione da scaricare e da usare nelle installazioni automatiche.
Si veda Sezione 4.4.
preseed/file (file) Specifica il percorso del file di preconfigurazione da caricare e da usare nelle installazioni automatiche. Si veda Sezione 4.4.
preseed/interactive Da impostare a true per visualizzare le domande anche se preconfigurate, può essere utile per
effettuare delle prove e per il debug di un file di preconfigurazione. Notare che non influenza i parametri passati
come parametri d’avvio, per questi parametri occorre usare una sintassi speciale. Si veda Sezione B.5.2 per
maggiori dettagli.
auto-install/enable (auto) Rimanda le domande che normalmente sono poste prima che sia possibile fare la preconfigurazione fino a quando non viene configurata la rete. Si vedano in Sezione B.2.3 i dettagli su come usare
questo parametro per automatizzare l’installazione.
finish-install/keep-consoles Durante le installazioni da console seriale o di gestione, normalmente le console virtuali(da VT1 a VT6) vengono disabilitate in /etc/inittab. Impostare questa opzione a true per evitare chequesto accada.
cdrom-detect/eject Normalmente, prima di riavviare, installatore Debian espelle automaticamente il supporto ottico usato durante l’installazione. Questa operazione può essere superflua nel caso in cui il sistema non
faccia l’avvio automatico da questo supporto e in alcuni casi può essere addirittura inopportuna, per esempio
quando il lettore non è in grado di richiudere il carrello da solo e l’utente non può farlo manualmente perché nonè fisicamente presente. Molti dei lettori sottili con caricatore a slot non possono ricaricare automaticamente il
supporto.
Da impostare a false per disattivare l’espulsione automatica, però si deve fare attenzione che il sistema non
faccia nuovamente l’avvio dal lettore CD dopo l’installazione iniziale.
base-installer/install-recommends (recommends) Impostando questa opzione a false, il sistema di gestione dei
pacchetti verrà configurato per non installare automaticamente i «Raccomandati», sia durante l’installazione
che sul sistema finale. Vedere anche Sezione 6.3.5.
Notare che questa opzione permette di avere un sistema più snello, ma può comportare la perdita di alcunedelle funzionalità che sono solitamente disponibili. Potrebbe essere necessario installare manualmente alcuni
dei pacchetti raccomandati per avere tutte le funzionalità desiderate. Questa opzione dovrebbe essere usata solo
dagli utenti molto esperti.
debian-installer/allow_unauthenticated Normalmente l’installatore richiede che i repository siano autenticati con
una chiave gpg conosciuta. Per disabilitare questa autenticazione si può impostare questo parametro a true.
Attenzione: insicuro, non raccomandato.
rescue/enable Da impostare a true per entrare in modalità di ripristino anziché effettuare una normale installazione.
Si consulti Sezione 8.6.

24

CAPITOLO 5. AVVIO DEL SISTEMA …

5.3.3

5.3. PARAMETRI DI AVVIO

Uso dei parametri di avvio per rispondere alle domande

Eccetto alcune eccezioni, la risposta a qualsiasi domanda posta durante l’installazione può essere impostata dal prompt
boot, però questo è realmente utile solo in casi particolari. Le istruzioni su come impostare queste risposte possono
essere trovate in Sezione B.2.2; seguono anche alcuni esempi.
debian-installer/language (language), debian-installer/country (country), debian-installer/locale (locale) Esistono
due modi per specificare quali sono lingua, nazione e locale da usare per l’installazione e sul sistema installato.
Il primo (più semplice) è passare solo il parametro locale. Lingua e nazione sono impostati a partire da questo
valore. Per esempio è possibile usare locale=de_CH per scegliere il tedesco come lingua e la Svizzera comenazione (il locale predefinito sul sistema installato sarà de_CH.UTF-8). Questa modalità ha il limite che nonsono possibili tutte le combinazioni di lingua, nazione e locale.
Il secondo (più flessibile) è specificare separatamente i valori per language (lingua) e country (nazione).
In questo caso è possibile aggiungere anche locale per indicare il locale predefinito sul sistema installato.
Per esempio: language=en country=DE locale=en_GB.UTF-8.
anna/choose_modules (modules) Può essere usato per forzare il caricamento automatico dei componenti dell’installatore che normalmente non sono caricati. Per esempio, alcuni dei moduli opzionali che possono risultare
utili sono openssh-client-udeb (per poter usare scp durante l’installazione) e ppp-udeb (si veda
Sezione D.4).
netcfg/disable_autoconfig Da impostare a true per disabilitare l’autoconfigurazione di IPv6 e il DHCP e quindi
forzare la configurazione statica della rete.
mirror/protocol (protocol) Normalmente l’installatore usa il protocollo http per scaricare i file dai mirror Debian enon è possibile cambiare protocollo in ftp quando l’installazione avviene con priorità normale. Se si imposta
questo parametro con il valore ftp, si forza l’installatore a usare questo protocollo. Notare che non si può
scegliere un mirror ftp dall’elenco, il nomehost deve essere inserito manualmente.
tasksel:tasksel/first (tasks) Può essere usato per scegliere task che non sono disponibili nel normale elenco dei task,
per esempio il task kde-desktop. Per ulteriori informazioni si veda Sezione 6.3.6.2.

5.3.4

Passaggio di parametri ai moduli del kernel

Se i driver sono compilati nel kernel, il passaggio dei parametri avviene come descritto nella documentazione delkernel. Invece, se i driver sono compilati come moduli, ciò non è possibile in quanto la modalità con cui questi vengono
caricati durante l’installazione è leggermente diversa rispetto a come vengono caricati da un sistema installato. Per
ovviare a ciò si deve usare una sintassi particolare riconosciuta dall’installatore, il quale assicura il salvataggio dei
parametri nei file di configurazione corretti e quindi il loro uso nel momento in cui i moduli vengono caricati. Oltre aciò, i parametri vengono propagati automaticamente anche nella configurazione del sistema installato.
Oggigiorno la necessità di passare dei parametri ai moduli è molto rara; infatti nella maggioranza dei casi il kernel
è in grado di riconoscere l’hardware presente e di usare dei valori predefiniti corretti. Purtroppo, in alcune situazioni,
potrebbe ancora esserci il bisogno di impostare manualmente i parametri.
La sintassi da usare per impostare i parametri dei moduli è:
nome_modulo.nome_parametro=valore

Se è necessario passare più parametri a uno stesso modulo o a più moduli diversi, è sufficiente ripetere la stessa sintassi.
Per esempio, per impostare una vecchia scheda di rete 3Com in modo che usi il connettore BNC (coassiale) e l’IRQ
10 si deve passare:3c509.xcvr=3 3c509.irq=10

5.3.5

Moduli del kernel in blacklist

Potrebbe essere necessario mettere in blacklist un modulo per impedire che venga caricato automaticamente dal kernelo da udev. Un motivo per questa operazione può essere l’incompatibilità fra il modulo e l’hardware. Inoltre, alcune
volte, il kernel elenca due driver diversi per lo stesso device, questo può causare il cattivo funzionamento del device
se c’è un conflitto fra i driver o se viene caricato prima quello sbagliato.
Si può aggiungere un modulo alla blacklist con questa sintassi: nome_modulo.blacklist=yes. Questo causa
l’inserimento del modulo nella blacklist /etc/modprobe.d/blacklist.local sia durante l’installazione chenel sistema al termine dell’installazione.
25

CAPITOLO 5. AVVIO DEL SISTEMA …

5.4. RISOLUZIONE DEI PROBLEMI DEL …

Si noti che un modulo potrebbe essere caricato comunque dal sistema d’installazione. Si può evitare che questo
avvenga eseguendo l’installazione in modalità esperto e deselezionando il modulo nell’elenco dei moduli che viene
mostrato durante le fasi di riconoscimento dell’hardware.

5.4

Risoluzione dei problemi del processo d’installazione

5.4.1

Affidabilità del supporto ottico

Qualche volta, in particolare con vecchi lettori, potrebbe fallire l’avvio dell’installatore dal disco ottico. L’installatore
potrebbe non riconoscere il disco, persino se l’avvio è avvenuto con successo dallo stesso disco, oppure dare degli
errori di lettura durante l’installazione.
Esistono parecchie cause per questi problemi. Possiamo elencare solo i problemi più comuni e fornire dei
suggerimenti generici su come risolverli, lasciando all’utente la soluzione dei dettagli.
Ci sono due semplici operazioni da fare come primi tentativi.
• Se non funziona l’avvio dal disco, verificare che questo sia inserito correttamente e che non sia sporco.
• Se l’installatore non riesce a riconoscere il disco, provare con l’opzione Rilevare ed eseguire il mount del supporto
una seconda volta. Alcuni dei problemi legati al DMA con i lettori CD-ROM molto vecchi sono stati risolti inquesto modo.
Se dopo queste operazioni continua a non funzionare, provare i suggerimenti riportati nelle prossime sezioni; lamaggior parte dei suggerimenti, non tutti, sono validi per CD-ROM e DVD.
Se non si riesce ad avviare l’installazione dal disco ottico, provare con uno degli altri metodi d’installazione
disponibili.
5.4.1.1

Problemi comuni• Alcuni dei lettori CD-ROM più vecchi non supportano la lettura dei CD masterizzati ad alta velocità con imasterizzatori moderni.
• Alcuni dei lettori molto vecchi non funzionano correttamente quando è attivo l’«accesso diretto alla memoria»(DMA).
5.4.1.2

Come analizzare e forse risolvere questi problemi

Se non si riesce a fare l’avvio da disco ottico, provare i seguenti suggerimenti.
• Verificare che il BIOS/UEFI supporti l’avvio da disco ottico (problema che riguarda solo i sistemi molto vecchi)
e che l’avvio da questo supporto sia abilitato nel BIOS/UEFI.
• Se si utilizza una immagine ISO scaricata, verificare che la checksum MD5 dell’immagine sia uguale a quellariportata nel file MD5SUMS presente nella stessa posizione da dove l’immagine è stata scaricata.
$ md5sum debian-testing-i386-netinst.isoa20391b12f7ff22ef705cee4059c6b92 debian-testing-i386-netinst.iso

Successivamente, verificare anche la checksum MD5 del disco masterizzato. Il comando seguente dovrebbe
funzionare, facendo uso della dimensione dell’immagine per leggere il numero corretto di byte dal disco.
$ dd if=/dev/cdrom | \> head -c ‘stat --format=%s debian-testing-i386-netinst.iso‘ | \> md5suma20391b12f7ff22ef705cee4059c6b92 262668+0 records in
262668+0 records out
134486016 bytes (134 MB) copied, 97.474 seconds, 1.4 MB/s

Se, dopo aver avviato l’installatore in modo corretto, il disco non viene riconosciuto, può essere utile provare più
volte. Se si dispone di più lettori ottici provare a mettere il disco in un altro lettore. Se non funziona oppure seil disco è riconosciuto ma si verificano degli errori in lettura provare quanto suggerito in seguito. Per seguire questi
suggerimenti è necessaria una conoscenza minima di Linux. Prima di eseguire qualsiasi comando passare alla seconda
console virtuale (VT2) e attivare una shell.
26

CAPITOLO 5. AVVIO DEL SISTEMA …

5.4. RISOLUZIONE DEI PROBLEMI DEL …

• Passare alla VT4 oppure visualizzare il contenuto di /var/log/syslog (usando l’editor nano) per controllare la presenza di messaggi di errore. Poi verificare anche l’output di dmesg.
• Controllare nell’output di dmesg se il lettore ottico è stato riconosciuto; si dovrebbe vedere qualcosa di simile(non necessariamente queste righe sono consecutive):ata1.00: ATAPI: MATSHITADVD-RAM UJ-822S, 1.61, max UDMA/33
ata1.00: configured for UDMA/33
scsi 0:0:0:0: CD-ROM
MATSHITA DVD-RAM UJ-822S 1.61 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
cdrom: Uniform CD-ROM driver Revision: 3.20

Se non si vede qualcosa di simile, è probabile che il controller a cui è collegato il lettore non sia riconosciuto osupportato. Se si conosce qual è il driver necessario al controller si può provare a caricarlo manualmente usando
modprobe.
• Verificare che in /dev/ esista un device per il lettore ottico. Nell’esempio precedente dovrebbe essere /dev/
sr0; ci potrebbe essere anche /dev/cdrom.
• Usare il comando mount per verificare che il disco ottico sia già stato montato; altrimenti provare a montarlo
manualmente:$ mount /dev/hdc /cdrom

Controllare se si verificano degli errori dopo questo comando.
• Verificare che il DMA sia attivo:$ cd /proc/ide/hdc$ grep using_dma settings
using_dma
1
0

1

rw

Il valore «1» nella prima colonna dopo using_dma vuol dire che è attivo; in questo caso provare a disabilitarlocon:$ echo -n ”using_dma:0” >settings

Assicurarsi di essere nella directory del device che corrisponde al lettore ottico.
• Se durante l’installazione si verificano dei problemi, provare a controllare l’integrità del supporto per l’installazione usando l’opzione nella parte bassa del menu principale dell’installatore. Questa opzione può essere usata
come test generico sull’affidabilità della lettura del disco.

5.4.2

Configurazione dell’avvio

Se si hanno problemi come blocchi del kernel durante il processo d’avvio, la mancata individuazione delle periferichepresenti oppure il non corretto riconoscimento dei driver, la prima cosa da controllare sono i parametri di avvio, si
consulti Sezione 5.3.
In alcuni casi i malfunzionamenti possono essere causati dall’assenza del firmware dei dispositivi (vedere Sezione 2.2 e Sezione 6.4).

5.4.3

Interpretazione dei messaggi di avvio del kernel

Durante la sequenza d’avvio è possibile vedere molti messaggi simili a can’t find XXX , XXX not present,
can’t initialize XXX o anche this driver release depends on XXX . La maggior parte di questi messaggi sono innocui, compaiono perché il kernel usato dal sistema di installazione è stato compilato per funzionare su macchine con periferiche anche molto diverse. Ovviamente nessun computer ha tutte le possibili periferichee quindi il sistema operativo si può lamentare di non aver trovato delle periferiche che effettivamente non ci sono. Sipuò anche assistere a delle brevi pause, sono causate dall’attesa di una risposta da parte di un dispositivo non presente
sul sistema. Se si pensa che il tempo per il boot sia troppo lungo, in seguito si può creare un kernel personalizzato (siveda Sezione 8.5).

27

CAPITOLO 5. AVVIO DEL SISTEMA …

5.4.4

5.4. RISOLUZIONE DEI PROBLEMI DEL …

Segnalazione di problemi con l’installazione

Se si riesce a passare la fase di avvio iniziale ma non si può completare l’installazione, la voce Salvare i log per il debug
del menu potrebbe tornare utile. Essa salverà gli errori dai log di sistema e delle informazioni sulla configurazione
dall’installatore su un supporto di memorizzazione oppure permetterà di scaricarle tramite un browser web. Queste
informazioni potrebbero fornire indizi utili a capire che cosa sia andato storto e come rimediare. Se si vuole inviare
una segnalazione di bug è bene allegare anche queste informazioni.
Altri messaggi relativi all’installazione possono essere trovati in /var/log/ durante l’installazione e in /var/
log/installer/ una volta che il computer è stato avviato con il sistema appena installato.

5.4.5

Invio dei rapporti di installazione

Se non si riesce a risolvere qualche problema, inviare un resoconto dell’installazione (se possibile in lingua inglese). Si
incoraggia l’invio del resoconto anche quando l’installazione avviene con successo, in questo modo possiamo reperire
quante più informazioni possibili sulle diverse configurazioni hardware.
Notare che il rapporto di installazione viene pubblicato nel BTS (Bug Tracking System) di Debian e inoltrato in
una mailing list pubblica; si raccomanda di usare un indirizzo email tenendo bene in mente che diventa di dominio
pubblico.
Nel caso si riesca ad avere un sistema Debian funzionante il modo più semplice per inviare un rapporto d’installazione è installare i pacchetti installation-report e reportbug (apt install installation-report reportbug), configurare reportbug come spiegato in Sezione 8.4.2 ed eseguire il comando reportbug installationreports.
In alternativa è possibile di usare il seguente modello per i rapporti d’installazione e poi di inviarlo come segnalazione di bug verso lo pseudopacchetto installation-reports all’indirizzo submit@bugs.debian.org.
Package: installation-reports
Boot method: <Come è stata avviata l’installazione? Da un CD/DVD? Da
una chiavetta USB? Dalla rete?>
Image version: <Inserire l’URL da dove si è recuperato l’immagine>
Date: <Giorno e ora di installazione>
Machine: <Descrizione della macchina (pe, IBM Thinkpad R32)>
Processor: <Tipo di processore>
Memory: <Quantità di memoria RAM>
Partitions: <L’output di «df -Tl»; è preferibile la tabella delle partizioni
in formatto grezzo>
Output of lspci -knn (or lspci -nn): <L’output del comando «lspci -knn»(oppure di «lspci -nn»)>
Base System Installation Checklist: <Inserire nella casellina una«O» se quel passo ha funzionato, una «E» se si sono verificati
degli errori oppure lasciare la casella in bianco se il passonon è stato eseguito.>[O] = OK, [E] = Errore (descrivere in seguito), [ ] = non provato
Initial boot:[ ] <Primo avvio del sistema>
Detect network card:[ ] <Riconoscimento della scheda di rete>
Configure network:[ ] <Configurazione della rete>
Detect media:[ ] <Riconoscimento del supporto>
Load installer modules: [ ] <Caricamento dei moduli dell’installatore>
Detect hard drives:[ ] <Riconoscimento dei dischi fissi>
Partition hard drives: [ ] <Partizionamento dei dischi fissi>
Install base system:[ ] <Installazione del sistema di base>
Clock/timezone setup:[ ] <Impostazione di ora e fuso orario>
User/password setup:[ ] <Impostazione di utente e password>
Install tasks:[ ] <Installazione dei task>
Install boot loader:[ ] <Installazione del boot loader>
Overall install:[ ] <Installazione nel suo complesso>
Comments/Problems:

28

CAPITOLO 5. AVVIO DEL SISTEMA …

5.4. RISOLUZIONE DEI PROBLEMI DEL …

<Descrizione dettagliata dell’installazione compresi dettagli, commenti
e idee che si hanno sul sistema di installazione.>
Si raccomanda di allegare alla segnalazione qualsiasi file di log
dell’installazione che si ritiene utile (è possibile trovare i file dilog nel sistema d’installazione in /var/log/ e, in seguito, sul sistema
installato in /var/log/installer). Se i file sono grandi, si raccomanda
di comprimerli con gzip.

Nella segnalazione di bug si deve descrivere qual è il problema e, nel caso che il blocco sia dovuto al kernel, si deve
inserire l’ultimo messaggio del kernel visibile. Descrivere anche i passi fatti e che hanno evidenziato il problema.

29Capitolo 6

Uso dell’Installatore Debian
6.1

Come funziona l’Installatore

Per questa architettura l’installatore utilizza un’interfaccia utente testuale. Attualmente non è disponibile un’interfaccia
grafica.
L’Installatore Debian consiste di un certo numero di componenti dedicati a eseguire i passi dell’installazione. Ogni
componente esegue il proprio compito, ponendo domande all’utente per quanto necessario a svolgere il proprio lavoro.
Alle domande stesse sono date delle priorità e la priorità delle domande da porre è impostata all’avvio dell’installatore.
Quando si esegue un’installazione predefinita, solo le domande essenziali (ad alta priorità) saranno poste. Ne
risulta un processo di installazione altamente automatizzato e con poca interazione da parte dell’utente. I componenti
sono eseguiti automaticamente in sequenza; quali componenti siano eseguiti dipende principalmente dal metodo diinstallazione usato e dall’hardware. L’installatore userà valori predefiniti per le domande che non sono poste.
Se si verifica un problema, l’utente vedrà una schermata di errore e il menu dell’installatore potrebbe essere visualizzato allo scopo di selezionare una azione alternativa. Se non si presentano problemi, l’utente non vedrà mai il menu
dell’installatore ma risponderà semplicemente alle domande per ciascun componente, di volta in volta. Le notifiche
degli errori gravi sono impostate a priorità «critica» in modo che l’utente sia sempre avvertito.
Alcune delle impostazioni predefinite usate dall’installatore possono essere cambiate passando all’avvio di installatore
Debian opportuni parametri. Se, per esempio, si volesse forzare la configurazione statica della rete (normalmente, se disponibili, verrebbero usati l’autoconfigurazione di IPv6 o DHCP), si può aggiungere il parametro di avvio
netcfg/disable_autoconfig=true. Si veda Sezione 5.3.2 per le opzioni disponibili.
Gli utenti esperti potrebbero trovarsi più comodi con un’interfaccia guidata da menu, dove ciascun passo è controllato dall’utente piuttosto che da un installatore che esegua automaticamente, in sequenza, ciascun passo. Per usarel’installatore in modalità manuale, guidata da menu, aggiungere l’argomento di avvio priority=medium.
Se l’hardware richiede di passare opzioni ai moduli del kernel man mano che sono installati, sarà necessario
avviare l’installatore in modalità «expert» (esperto). Ciò può essere fatto sia usando il comando expert per avviare
l’installatore, sia aggiungendo il parametro di avvio priority=low. La modalità «expert» fornisce il controllo
totale su installatore Debian.
Nell’ambiente d’installazione testuale non è supportato l’uso del mouse. Questi sono i tasti che si possono usare pernavigare all’interno delle varie finestre di dialogo. I tasti Tab o freccia destra muovono «avanti» e i tasti Shift-Tab ofreccia sinistra muovono «indietro» tra i bottoni e le selezioni visualizzati. I tasti freccia su e giù selezionano elementi
diversi all’interno di una lista scorrevole, oltre a scorrere la lista stessa. Inoltre, nelle liste lunghe, è possibile digitare
una lettera per fare in modo che la lista si posizioni direttamente nella sezione con gli elementi che cominciano conla lettera digitata, ed è possibile usare i tasti Pagina-Su e Pagina-Giù per scorrere la lista attraverso le sezioni. La
barra di spazio seleziona un elemento quale una casella di spunta. Usare Invio per attivare le scelte.
Alcune finestre di dialogo potrebbero disporre di informazioni d’aiuto aggiuntive. La disponibilità di un aiuto
viene segnalata nella riga in basso dello schermo in cui viene scritto che è possibile accedere alle informazioni d’aiuto
premendo il tasto F1.
I messaggi di errore e i log sono reindirizzati alla quarta console. È possibile accedere a questa console premendo
i tasti Alt-F4 (tenere premuto il tasto Alt di sinistra mentre si preme il tasto funzione F4); si torna indietro al processo
principale dell’installatore con i tasti Alt-F1.
Questi messaggi possono essere trovati anche in /var/log/syslog. Dopo l’installazione, questo file di log
è copiato su /var/log/installer/syslog del nuovo sistema. Altri messaggi di installazione possono essere
trovati in /var/log/ durante l’installazione, e in /var/log/installer/ dopo che il computer è stato riavviato
nel sistema installato.

30

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.2

6.2. INTRODUZIONE AI COMPONENTIIntroduzione ai componenti

Ecco una lista dei componenti dell’installatore con una breve descrizione della funzione di ciascun componente.
Dettagli che potrebbe essere necessario conoscere usando un particolare componente si trovano in Sezione 6.3.
main-menu Mostra all’utente la lista dei componenti durante il funzionamento dell’installatore e avvia un componente quando è selezionato. Le domande di main-menu sono impostate a priorità media, pertanto se la prioritàè impostata ad alta o critica (alta è quella preimpostata), il menu non sarà visibile. D’altra parte, se si verifica
un errore che richieda intervento, la priorità della domanda può essere temporaneamente degradata in mododa consentire di risolvere il problema, e in tal caso il menu potrebbe apparire.
È possibile tornare al menu principale selezionando ripetutamente il pulsante Indietro fino a uscire a ritroso dalcomponente attualmente in esecuzione.
localechooser Consente all’utente di selezionare opzioni di localizzazione per l’installazione e per il sistema installato:
lingua, nazione e locale. L’installatore visualizzerà i messaggi nella lingua selezionata, a meno che la traduzione
per quella lingua non sia completa, nel qual caso alcuni messaggi potrebbero essere visualizzati in inglese.
console-setup Visualizza una lista di mappature di tastiera dalla quale l’utente sceglie quella che corrisponde alla
propria.
hw-detect Rileva automaticamente la maggior parte dell’hardware, incluse schede di rete, lettori di dischi e PCMCIA.
cdrom-detect Cerca e monta un supporto per l’installazione di Debian.
netcfg Configura le connessioni di rete del computer in modo che esso possa comunicare su internet.
iso-scan Cerca immagini ISO (file .iso) su i dischi fissi.
choose-mirror Presenta una lista di archivi mirror di Debian. L’utente può scegliere la sorgente dei suoi pacchettidi installazione.
cdrom-checker Verifica l’integrità di un supporto per l’installazione. In questo modo l’utente può assicurarsi chel’immagine per l’installazione non sia corrotto.
lowmem Lowmem cerca di rilevare sistemi con poca memoria e, in tal caso, applica diversi accorgimenti per rimuovere dalla memoria parti non necessarie di installatore Debian (alle spese di alcune funzionalità).
anna Anna’s Not Nearly APT. Installa i pacchetti che sono stati scaricati dal mirror prescelto o dal supporto perl’installazione.
user-setup Imposta la password di root e aggiunge un utente normale.
clock-setup Aggiorna l’orologio di sistema e determina se l’orologio è impostato su UTC oppure no.
tzsetup Seleziona il fuso orario in base alla località scelta in precedenza.
partman Consente all’utente di partizionare i dischi collegati al sistema, di creare i file system sulle partizioni selezionate e di collegarli a punti di mount. Sono inoltre incluse interessanti funzionalità come una modalità
completamente automatica o il supporto LVM. Questo è lo strumento di partizionamento preferito in Debian.
partman-lvm Aiuta l’utente nella configurazione di LVM (Logical Volume Manager).
partman-md Consente all’utente di configurare RAID (Redundant Array of Inexpensive Disks) Software. Questo RAID Software è generalmente superiore agli economici controllori RAID IDE (pseudo hardware) che si
trovano nelle schede madri più recenti.
base-installer Installa l’insieme dei pacchetti di base che consentono al computer di funzionare sotto Debian GNU/Linux dopo il riavvio.
apt-setup Configura apt, quasi automaticamente, in base al supporto usato dal programma d’installazione.
pkgsel Usa tasksel per selezionare e installare altri programmi.
os-prober Rileva i sistemi operativi attualmente installati nel computer e passa queste informazioni a bootloaderinstaller, che può offrire la possibilità di aggiungere i sistemi operativi rilevati al menu del programma di avvio.
In questo modo l’utente può scegliere facilmente, all’avvio, quale sistema operativo attivare.
31

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3. USO DEI SINGOLI COMPONENTI

bootloader-installer Diversi programmi d’installazione dei boot loader ognuno dei quali installa un programma diavvio sul disco rigido, necessario al computer per avviarsi con Linux senza usare una chiavetta USB o un CDROM. Molti programmi di avvio consentono all’utente di scegliere un sistema operativo alternativo ogni volta
che il computer si avvia.
shell Consente all’utente di eseguire una shell da menu o nella seconda console.
save-logs Fornisce all’utente un modo per registrare informazioni su una chiavetta USB, in rete, su un disco rigido
o altri supporti quando si verificano problemi, in modo da riportare accuratamente, in un secondo momento,
problemi software dell’installatore agli sviluppatori Debian.

6.3

Uso dei singoli componenti

In questa sezione è descritto ogni componente dell’installatore in dettaglio. I componenti sono stati raggruppati infasi che siano identificabili dagli utenti. Essi sono presentati nell’ordine in cui appaiono durante l’installazione; quali
moduli siano davvero usati dipende dal metodo di installazione usato e dall’hardware.

6.3.1

Impostazione dell’Installatore Debian e configurazione dell’hardware

Supponiamo che l’installatore Debian sia avviato e di trovarsi davanti alla sua prima schermata. A questo punto, le funzionalità di installatore Debian sono ancora limitate. Esso non conosce molto riguardo l’hardware, la lingua
preferita o addirittura i compiti che dovrebbe eseguire. Non ci si deve preoccupare, il installatore Debian
è abbastanza intelligente, può sondare automaticamente l’hardware, localizzare il resto dei suoi componenti e aggiornare se stesso ad un sistema di installazione capace. Naturalmente, è ancora necessario aiutare installatore
Debian con qualche informazione che esso non può determinare automaticamente (come selezionare la lingua
preferita, la mappa della tastiera o il mirror di rete preferito).
Si noterà che installatore Debian esegue il rilevamento dell’hardware diverse volte durante questa fase.
La prima volta è finalizzata specificamente all’hardware necessario a caricare i componenti dell’installatore (ad es. il
CD-ROM o la scheda di rete). Poiché non tutti i driver possono essere disponibili durante questa prima esecuzione,è necessario ripetere il rilevamento dell’hardware più avanti, nel processo.
Durante la rilevazione dell’hardware il installatore Debian verifica se i driver per i dispositivi hardware
presenti nel sistema richiedono il caricamento di un firmware. Se è richiesto un firmware ma questo non è disponibile
viene mostrato un messaggio che permette di caricare il firmware mancante da un supporto removibile. Si veda
Sezione 6.4 per maggiori dettagli.
6.3.1.1

Controllo della memoria disponibile e modalità «low memory»

Una delle prime cosa che fa il installatore Debian è controllare la quantità di memoria disponibile. Se la memoria è limitata questo componente effettua delle modifiche al processo d’installazione sperando che siano sufficienti
per consentire l’installazione di Debian GNU/Linux sul proprio sistema.
La prima misura che l’installatore prende per ridurre l’uso della memoria è disabilitare le traduzioni, questo vuol
dire che l’installazione può essere effettuata solo in lingua inglese. Ovviamente è possibile localizzare il sistema dopo
aver completato l’installazione.
Se questo non è sufficiente, l’installatore riduce ulteriormente l’uso della memoria caricando solo i componenti
essenziali per completare un’installazione basilare. Questo riduce le funzionalità del sistema d’installazione, rimane comunque disponibile la funzione per caricare manualmente i componenti aggiuntivi, ma è necessario prestare
attenzione al fatto che a ogni componente selezionato corrisponde un aumento dell’occupazione della memoria che
potrebbe comportare il fallimento dell’installazione.
Quando l’installatore funziona in modalità «low memory» si raccomanda la creazione di una partizione di swap
relativamente grande (64–128 MB). La partizione di swap viene usata come memoria virtuale e quindi aumenta laquantità di memoria disponibile sul sistema. L’installatore attiva la partizione di swap nelle primissime fasi del processod’installazione. Notare che un uso pesante dello swap può ridurre le prestazioni del sistema e comporta un’elevata
attività da parte del disco.
Nonostante queste misure problemi come blocchi del sistema, errori inaspettati o processi terminati dal kernel
perché il sistema esaurisce la memoria (segnalato con messaggi «Out of memory» sul VT4 e nel syslog), rimangono
comunque possibili.
Per esempio, è noto che la creazione di un file system ext3 molto grande fallisce nella modalità «low memory» sel’area di swap non è sufficientemente grande. Se anche un’area di swap più grande non risolve, creare un file system

32

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3. USO DEI SINGOLI COMPONENTI

ext2 (questo è uno dei componenti essenziali dell’installatore) e, dopo aver completato l’installazione, modificare lapartizione da ext2 in ext3.
È possibile forzare l’installatore a utilizzare un livello di soglia più alto di quello calcolato in base alla memoria
disponibile tramite il parametro d’avvio «lowmem» come descritto in Sezione 5.3.2.
6.3.1.2

Selezione delle opzioni di localizzazione

Nella maggior parte dei casi le prime domande a cui si risponde riguardano le opzioni relative alla localizzazione dausare per l’installazione e sul sistema installato. Le opzioni di localizzazione sono la lingua, la posizione geografica e
i locale.
La lingua scelta viene usata per resto del processo d’installazione che prosegue fornendo, se disponibili, i dialoghi
tradotti. Se per la lingua scelta non esiste una traduzione, il programma d’installazione prosegue usando la lingua
predefinita, cioè l’inglese.
La posizione geografica scelta (nella maggior parte dei casi una nazione) verrà usata nel seguito del processod’installazione per selezionare il fuso orario predefinito e un mirror Debian adatto a quella nazione. Lingua e nazione
sono usate anche per impostare il locale predefinito e per guidare la scelta della tastiera.
Come prima cosa viene chiesto di scegliere la lingua preferita. I nomi delle lingue sono elencati in inglese (sulla
sinistra) e nella lingua stessa (sulla destra); i nomi sulla destra sono mostrati usando i caratteri corretti. L’elenco è
ordinato in base ai nomi in inglese. La prima voce dell’elenco consente di usare il locale «C» anziché una lingua. La
scelta del locale «C» comporta che l’installazione proseguirà in inglese e che il sistema installato non avrà supporto
per la localizzazione dato che non verrà installato il pacchetto locales.
Poi viene chiesto di scegliere la propria posizione geografica. Se è stata scelta una lingua che è riconosciuta comelingua ufficiale in più di una nazione¹ verrà mostrato un elenco di quelle nazioni. Per selezionare una nazione chenon è presente nell’elenco, scegliere altro (l’ultima voce dell’elenco); verrà quindi mostrato un elenco dei continenti e,selezionando un continente, apparirà l’elenco delle nazioni in quel continente.
Se alla lingua scelta è associata a una sola nazione, verrà mostrato un elenco con le nazioni del continente o dellaregione a cui appartiene quella nazione, in tale elenco la nazione sarà già selezionata. Con Indietro sarà possibile
scegliere nazioni appartenenti ad altri continenti.

NOTAÈ importante scegliere la nazione in cui si vive o in cui ci si trova poiché determina
il fuso orario con cui verrà configurato il sistema finale.
Se per la combinazione di lingua e nazione scelta non è definito un locale ma esistono altri locale per quella lingua,l’installatore permetterà di scegliere quale tra i locale definiti si vuole impostare come locale predefinito sul sistema
installato². Negli altri casi il locale predefinito sarà impostato in base alla lingua e alla nazione scelte.
Qualsiasi sia il locale scelto come descritto nel paragrafo precedente, verrà usata la codifica dei caratteri UTF-8.
Se l’installazione avviene con priorità bassa, è possibile scegliere ulteriori locale, compresi i cosiddetti locale«legacy»³, da generare sul sistema installato; in questo caso verrà anche chiesto quale tra i locale scelti dovrà essere
quello predefinito sul sistema installato.
6.3.1.3

Selezione della tastiera

Spesso le tastiere sono adattate ai caratteri usati dalla lingua. Selezionare una disposizione della tastiera che corrisponda alla tastiera in uso oppure selezionarne uno simile nel caso che la disposizione della propria tastiera non sia
presente. Una volta completata l’installazione del sistema è possibile scegliere la disposizione della tastiera fra un
numero maggiore di possibilità (eseguire dpkg-reconfigure keyboard-configuration da root una volta completatal’installazione).
Selezionare la tastiera che si desidera e poi premere Invio. Usare i tasti cursore per spostare l’evidenziazione, si
trovano nella stessa posizione su tutte le tastiere, anche quelle con layout adattato alla lingua.
¹In termini tecnici: per quella lingua esistono più locale che si differenziano in base al codice della nazione.
²Con le priorità media e bassa è sempre possibile scegliere il locale preferito tra quelli disponibili per la lingua selezionata (se ne esistono più
di uno).
³I locale legacy sono quei locale che non usano UTF-8 per la codifica dei caratteri, bensì uno degli standard più vecchi come ISO 8859-1(usato per le lingue dell’Europa occidentale) o EUC-JP (usato per il giapponese).

33

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3.1.4

6.3. USO DEI SINGOLI COMPONENTI

Ricerca dell’immagine ISO del Debian Installer

Quando si effettua un’installazione con il metodo hd-media c’è una fase in cui è necessario cercare e montare un’immagine ISO del Debian Installer per poter recuperare i file necessari all’installazione mancanti. Questo è esattamente
il compito svolto dal componente iso-scan.
Al primo tentativo iso-scan monta automaticamente tutti i dispositivi a blocchi (per esempio le partizioni e ivolumi logici) su cui è presente un filesystem conosciuto e poi ricerca i file con estensione .iso (o .ISO). Da notare
che la prima scansione avviene solo sui file presenti nella directory root e nel primo livello di sottodirectory (cioè riesce
a trovare /qualcosa.iso e /data/qualcosa.iso ma non /data/tmp/qualcosa.iso). Una volta trovata
un’immagine ISO, iso-scan ne verifica il contenuto per determinare se l’immagine è un’immagine Debian valida, nelcaso non lo sia viene cercata un’altra immagine.
Se il precedente tentativo di ricerca di un’immagine ISO dell’installatore fallisce, iso-scan chiede se si vuole
effettuare un’altra ricerca più approfondita. In questo passo la ricerca avviene anche nelle sottodirectory anziché nel
solo livello più alto del filesystem.
Se iso-scan non trova un’immagine iso dell’installatore si deve riavviare il vecchio sistema operativo e verificare se il nome dell’immagine è corretto (cioè se finisce con .iso), se l’immagine è su un filesystem visibile dainstallatore Debian e se l’immagine è compromessa (verificandone la checksum). Gli utenti più esperti
possono fare tutti questi controlli, senza riavviare la macchina, usando la seconda console.
Notare che la partizione (o il disco) che ospita l’immagine ISO non può essere riutilizzata durante il processod’installazione poiché è in uso da parte dell’Installatore. Per aggirare questo problema, a patto di avere memoria a
sufficienza sul sistema, l’Installatore può copiare l’immagine ISO nella RAM prima di montarla. È possibile controllare
questo meccanismo tramite la domanda di debconf a priorità bassa iso-scan/copy_iso_to_ram (la domanda
è posta solo se è soddisfatto il requisito di memoria).
6.3.1.5

Configurazione della rete

Appena si accede a questo passo il sistema rileva se sono presenti più schede di rete e viene chiesto di scegliere qualedevice dovrà essere l’interfaccia di rete primaria, cioè quale si vuole usare per l’installazione. A questo punto le altre
interfacce non vengono configurate, sarà possibile farlo una volta completata l’installazione; si veda la pagina maninterfaces(5).
6.3.1.5.1

Configurazione automatica della rete

Il installatore Debian cerca di configurare l’interfaccia di rete automaticamente se possibile. Un eventuale
fallimento della configurazione automatica può essere causato da diversi fattori che vanno dal cavo di rete scollegato
all’assenza nella propria rete dell’infrastruttura per la configurazione automatica. I messaggi d’errore nella quarta
console possono essere utili per scoprire il motivo del fallimento. Comunque viene chiesto se si vuole riprovare
oppure se si vuole procedere con la configurazione manuale. Capita che i server usati per la configurazione automatica
siano lenti nel rispondere, quindi se si è sicuri che il sistema funziona fare un nuovo tentativo. Se la configurazione
automatica fallisce ripetutamente, è possibile scegliere la configurazione manuale.
6.3.1.5.2

Configurazione automatica della rete

La configurazione manuale della rete fa parecchie domande sulla propria rete, le più importanti sono indirizzo
IP, maschera di rete, gateway, indirizzi dei name server e nome host. Inoltre, se l’interfaccia di rete è wireless, sono richiesti ESSID della rete wireless (il nome della rete wireless) e lachiave WEP oppure la passphrase WPA/WPA2. Rispondere alle domande usando le informazioni in Sezione 3.3.

NOTA
Alcuni dettagli tecnici che potrebbero essere utili: il programma assume che l’indirizzo IP della rete sia il risultato dell’operazione AND fra i bit dell’indirizzo IP delsistema e la maschera di rete, che l’indirizzo di broadcast predefinito sia il risultato
dell’operazione OR fra l’indirizzo IP del sistema e la negazione della maschera direte e cerca anche di indovinare qual è il gateway. Se non si dispone di queste
informazioni, si può provare a usare i valori presentati come predefiniti, comunque,se necessario, è possibile cambiarli modificando /etc/network/interfaces
una volta completata l’installazione.

34

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3.1.5.3

6.3. USO DEI SINGOLI COMPONENTI

IPv4 e IPv6

Da Debian GNU/Linux 7.0 («Wheezy») in poi, installatore Debian supporta IPv6 oltre al «classico» IPv4.
Sono supportate tutte le combinazioni di IPv4 e IPv6 (solo-IPv4, solo-IPv6 e configurazioni dual-stack).
La configurazione automatica per IPv4 è fatta via DHCP (Dynamic Host Configuration Protocol). La configurazione automatica per IPv6 supporta la configurazione automatica stateless tramite NDP (Neighbor Discovery Protocol, compresa RDNSS, l’assegnazione ricorsiva del server DNS), la configurazione automatica stateful via DHCPv6 econfigurazione automatica mista stateless/stateful (configurazione dell’indirizzo via NDP e parametri addizionali via
DHCPv6).

6.3.2

Impostazione di utenti e password

Dopo aver installato il sistema di base, l’installatore permette di configurare l’account «root» e/o un account per ilprimo utente. Si possono creare altri account utente una volta completata l’installazione.
6.3.2.1

Impostazione della password di root

L’account di root viene anche chiamato superutente; è un utente che aggira tutte le protezioni di sicurezza del sistema,
deve quindi essere usato solo per le operazioni di amministrazione del sistema, e per il minor tempo possibile.
Qualsiasi password creata dovrebbe contenere almeno 6 caratteri, con lettere maiuscole e minuscole, cifre e segni
di interpunzione. Durante l’impostazione della password di root si deve fare ancora più attenzione, dato che è l’accountcon i maggiori poteri. Evitare le parole che si trovano nei dizionari e non usare informazioni personali che possano
essere indovinate.
Se qualcuno dice che gli serve la password di root, si dev’essere estremamente cauti. Non la si dovrebbe mai
fornire a nessuno, a meno che non si stia amministrando una macchina con più di un amministratore di sistema.
Se la password per «root» non viene specificata, tale account viene disabilitato e in seguito verrà installato pacchetto
sudo che permetterà di effettuare operazioni amministrative sul nuovo sistema. Al primo utente creato sul sistemasarà consentito l’uso del comando sudo per impersonare root.
6.3.2.2

Creazione di un utente normale

Il sistema a questo punto chiederà se si vuole creare un account per un utente normale, da usare per le attività quotidiane
personali, per le quali non si deve assolutamente usare l’account di root.
Perché no? Una ragione per evitare di usare i privilegi di root è che è molto facile fare dei danni irreparabili.
Un’altra è che si può essere portati con l’inganno ad attivare un cavallo di troia (o «trojan»), cioè un programma che
sfrutta i poteri di superutente per compromettere la sicurezza del sistema. Un buon libro sull’amministrazione dei
sistemi Unix coprirà questo argomento in maggior dettaglio, vale la pena leggerne uno se non si conosce la questione.
Per prima cosa viene chiesto il nome completo dell’utente, poi viene chiesto un nome per l’account, solitamente èsufficiente il proprio nome o qualcosa di simile. Infine viene chiesta una password per l’account.
Se in qualsiasi momento dopo l’installazione si vuole creare un altro utente, usare il comando adduser.

6.3.3

Configurazione dell’orologio e del fuso orario

Come prima cosa l’installatore cerca di connettersi a un time server su Internet (tramite il protocollo NTP) per impostare correttamente l’ora sul sistema. Se non riesce, l’installatore assume come valide la data e l’ora ottenute dall’orologio
di sistema. Non è possibile impostare manualmente l’ora del sistema durante il processo d’installazione.
In base alla nazione scelta all’inizio dell’installazione potrebbe essere mostrato l’elenco dei soli fusi orari pertinentia quella nazione; se nella nazione è presente un solo fuso orario ed è in corso un’installazione predefinita, non verràchiesto nulla e il sistema userà quel fuso orario.
Nella modalità esperto o quando l’installazione avviene a priorità media, è possibile scegliere come fuso orario«Tempo coordinato universale» (UTC).
Se per qualsiasi motivo si vuole impostare un fuso orario che non è legato alla nazione scelta, si hanno due
possibilità.
1. Il modo più semplice è scegliere un fuso orario diverso una volta finita l’installazione e avviato il nuovo sistema.
Il comando da usare è:# dpkg-reconfigure tzdata

35

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3. USO DEI SINGOLI COMPONENTI

2. In alternativa il fuso orario può essere impostato all’inizio dell’installazione passando il parametro time/zone=valore
all’avvio del sistema d’installazione. Ovviamente il valore deve essere un fuso orario valido, per esempio
Europe/Rome o UTC.
Nel caso di installazioni automatiche è possibile impostare qualsiasi valore per il fuso orario tramite la preconfigurazione.

6.3.4

Partizionamento e selezione del punto di mountA questo punto, dopo che il rilevamento dell’hardware è stato eseguito per l’ultima volta, installatore Debian
dovrebbe trovarsi alla sua massima potenza, personalizzato per le esigenze dell’utente e pronto a fare un po’ di lavoro
vero. Come suggerisce il titolo di questa sezione, il compito principale dei prossimi pochi componenti ricade nelpartizionamento dei dischi, nella creazione dei file system, nell’assegnazione dei punti di mount e nella configurazione,
se necessaria, delle opzioni a essi strettamente correlate come i dispositivi RAID, LVM o cifrati.
Se non si ha confidenza con il partizionamento, o si desidera conoscere più particolari, si veda Appendice C.
In primo luogo è data l’opportunità di partizionare automaticamente un intero disco oppure il solo spazio libero
disponibile. Ciò è chiamato partizionamento «guidato». Se non si desidera usare l’autopartizionamento, scegliere
Manuale dal menu.
6.3.4.1

Opzioni di partizionamento supportate

Il programma di partizionamento usato nel installatore Debian è abbastanza versatile, permette di creare
diversi schemi di partizionamento, di usare varie tabelle di partizione, file system e device a blocchi.
Le opzioni disponibili dipendono principalmente dall’architettura ma anche da altri fattori. Per esempio, su sistemi
con poca memoria interna alcune opzioni potrebbero non essere disponibili. Anche il comportamento predefinito
potrebbe cambiare. Per esempio il tipo predefinito delle tabelle delle partizioni può essere diverso su un disco digrossa capacità rispetto a dischi più piccoli. Alcune opzioni possono essere modificate solo quando l’installazione
avviene con debconf a priorità media o bassa, con le priorità più alte saranno usati i valori predefiniti.
L’Installatore supporta varie forme avanzate di partizionamento e di uso di dispositivi di memorizzazione, che inmolti casi possono essere usati in combinazione.
• LVM (Logical Volume Management)• RAID Software
È supportato il RAID di livello 0, 1, 4, 5, 6 e 10.
• Cifratura• Multipath (sperimentale)
Vedere il nostro Wiki per maggiori informazioni. Attualmente il supporto per multipath è disponibile solo se
attivato all’avvio dell’Installatore.
Sono supportati i seguenti file system.
• ext2r0, ext2, ext3, ext4
Nella maggior parte dei casi il file system predefinito è ext4; per le partizioni /boot viene scelto ext2 quandoè usato il partizionamento guidato.
• jfs (non disponibile su tutte le architetture)• xfs (non disponibile su tutte le architetture)• reiserfs (opzionale; non disponibile su tutte le architetture)
Il supporto per il file system Reiser non è più disponibile in modo predefinito. È possibile attivarlo usandol’Installatore a priorità media o bassa e selezionando il componente partman-reiserfs. È supportata solola versione 3 del file system.
• jffs2
Usato su alcuni sistemi per leggere le memorie flash. Non è possibile creare nuove partizioni jffs2.
• FAT16, FAT32

36

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3.4.2

6.3. USO DEI SINGOLI COMPONENTI

Partizionamento guidato

Con il partizionamento guidato si hanno tre possibilità: creare le partizioni direttamente sull’hard disk (il metodoclassico) oppure tramite il Logical Volume Management (LVM) oppure tramite LVM cifrato⁴.

NOTA
La possibilità di usare LVM (cifrato o no) potrebbe non essere disponibile su tutte
le architetture.
Quando si usa LVM o LVM cifrato, l’installatore crea gran parte delle partizioni all’interno di una partizione
più grande; il vantaggio di questa operazione è che in seguito le partizioni interne possono essere ridimensionate
abbastanza facilmente. Per LVM cifrato la partizione più grande non è leggibile senza conoscere la passphrase, questo
fornisce un livello di sicurezza maggiore per i propri dati personali.
Quando si usano volumi LVM cifrati, l’installatore cancella automaticamente il contenuto del disco scrivendovi
dati casuali. Questo incrementa la sicurezza (rendendo impossibile riconoscere le parti del disco usate e assicurando
la cancellazione di tutte le tracce delle precedenti installazioni) ma può richiedere molto tempo, a seconda delladimensione del disco.

NOTA
Se si sceglie il partizionamento guidato con LVM o LVM cifrato è necessario effettuare alcune modifiche alla tabella delle partizioni del disco scelto durante la configurazione del LVM. Queste modiche cancellano i dati presenti sul disco e non è possibile annullare l’operazione, però viene richiesta la conferma di qualsiasi modifica
prima di eseguire la scrittura sul disco.
Se si sceglie il partizionamento guidato (classico, LVM o LVM cifrato) dell’intero disco viene prima chiesto discegliere il disco che si vuole usare, verificare che nell’elenco appaiano tutti i dischi e assicurarsi di scegliere quellocorretto. L’ordine con cui appaiono i dischi può essere diverso da quello a cui si è abituati; la dimensione del discopuò essere utile per identificare i diversi dischi.
Tutti i dati sul disco scelto possono andare persi, però viene richiesta la conferma di qualsiasi modifica prima dieseguire la scrittura sul disco. Con il metodo di partizionamento classico è possibile annullare qualsiasi modifica finoalla fine; quando si usa i metodi LVM (cifrato o no) questo non è possibile.
Poi è possibile scegliere uno degli schemi elencati nella tabella seguente. Tutti gli schemi hanno pro e contro,
alcuni dei quali sono discussi in Appendice C. Si consiglia l’uso del primo schema se si hanno dei dubbi su qualescegliere. Inoltre si deve tener presente che il partizionamento guidato ha bisogno di quantità minima di spazio libero
per funzionare, se sul disco non è presente circa 1 GB di spazio (dipende dallo schema scelto), il partizionamento
guidato non funziona.
Schema di partizionamento
Tutti i file in una partizione
Partizione /home separata
Partizioni /home, /var e /tmp
separate

Spazio minimo
600MB
500MB

Partizioni create/, swap/, /home, swap

1GB/, /home, /var, /tmp, swap

Se si sceglie il partizionamento guidato con LVM (cifrato o no), l’installatore crea una partizione /boot separata.
Le altre partizioni, compresa la partizione di swap, sono create all’interno della partizione LVM.
Dopo la selezione dello schema, la schermata successiva mostrerà la nuova tabella delle partizioni, comprese leinformazioni sulla formattazione delle partizioni e dove saranno montate.
L’elenco delle partizioni dovrebbe assomigliare a questo:
IDE1 master (sda) - 6.4 GB WDC AC36400L#1 primary
16.4 MB B f ext2
#2 primary 551.0 MB
swap#3 primary
5.8 GB
ntfs

/boot
swap

⁴Il sistema di installazione cifra il gruppo di volumi LVM con una chiave AES a 256 bit tramite il supporto «dm-crypt» del kernel.

37

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

pri/log

8.2 MB

6.3. USO DEI SINGOLI COMPONENTIFREE SPACE

IDE1 slave (sdb) - 80.0 GB ST380021A#1 primary
15.9 MBext3#2 primary 996.0 MB
fat16#3 primary
3.9 GBxfs#5 logical
6.0 GBf ext3#6 logical
1.0 GBf ext3#7 logical 498.8 MB
ext3#8 logical 551.5 MBswap#9 logical65.8 GB
ext2

/home
/
/var
swap

Questo esempio mostra due dischi divisi in parecchie partizioni; il primo disco dispone anche di un po’ di spazio
libero. In ogni riga che corrisponde a una partizione è riportato numero, tipo, dimensione, flag opzionali, file system emount point (se assegnato) della partizione. Nota: questa particolare impostazione non può essere realizzata usando
il partizionamento guidato poiché mostra delle variazioni che possono essere realizzate solo con il partizionamento
manuale.
Con questo si conclude la parte guidata del partizionamento. Se si è soddisfatti della tabella delle partizioni appena
creata si può selezionare Terminare il partizionamento e scrivere i cambiamenti sul disco dal menu per scrivere lanuova tabella delle partizioni (come descritto alla fine di questa sezione). Invece se il risultato non è soddisfacente si
può scegliere Annullare i cambiamenti alle partizioni ed eseguire un nuovo partizionamento guidato o modificare i
cambiamenti proposti usando la stessa procedura (descritta in seguito) per il partizionamento manuale.
6.3.4.3

Partizionamento manuale

Se si sceglie di partizionare manualmente viene mostrata una schermata simile alla precedente ma con la tabella dellepartizioni esistente e senza i mount point. Come configurare manualmente la tabella delle partizioni e l’uso dellepartizioni nel nuovo sistema Debian sono argomenti trattati nel seguito di questa sezione.
Se si sceglie un disco nuovo, su cui non è presente nessuna partizione o su cui non c’è spazio libero, viene chiesto
se si vuole creare una nuova tabella delle partizioni (questa operazione è necessaria per poter creare delle nuove
partizioni). Come conseguenza a questa operazione, sotto il disco selezionato, appare una nuova riga intitolata «FREE
SPACE» (spazio libero).
Quando si seleziona dello spazio libero viene data la possibilità di creare una nuova partizione; è necessario rispondere a poche domande sulla sua dimensione, il tipo (primaria o logica) e la posizione (all’inizio o alla fine dellospazio libero). Poi è visualizzato un dettagliato resoconto della nuova partizione. L’opzione più importante è Usato
come:, infatti determina se la partizione deve avere un file system oppure se deve essere usata come swap, in RAID
software, con LVM, con un file system cifrato oppure se non deve essere utilizzata. Inoltre è possibile specificare altre
opzioni come il punto di mount, le opzioni di mount e il flag avviabile; queste opzioni sono visualizzate in base all’uso
che si intende fare della partizione. Se i valori predefiniti non sono di proprio gradimento si possono cambiare, per
esempio selezionando l’opzione Usato come: si può cambiare il file system per la partizione compresa la possibilità diusare la partizione come swap, in RAID software, con LVM o non utilizzarla affatto. Conclusa la configurazione dellapartizione si può selezionare Preparazione di questa partizione completata per ritornare alla schermata principale dipartman.
Per cambiare qualcosa sulle partizioni si deve selezionare la partizione, in questo modo appare il menu di configurazione della partizione; è la stessa schermata usata per la creazione di una nuova partizione dalla quale è possibile
modificare le stesse impostazioni. Una delle funzioni possibili, ma non ovvia, è la possibilità di ridimensionare la partizione selezionando la voce in cui è mostrata la dimensione della partizione. Il ridimensionamento funziona almeno
sui file system fat16, fat32, ext2, ext3 e swap. Questo menu consente anche di cancellare una partizione.
Devono essere creare almeno due partizioni: una per il file system di root (che verrà montato come /) e una perl’area di swap. Se non si dichiara un file system di root partman impedisce l’avanzamento dell’installazione.
Le capacità di partman possono essere estese con altri moduli per l’installatore che però dipendono dall’architettura del sistema. Perciò se non tutte le funzionalità promesse sono disponibili si deve verificare che tutti i moduli
necessari siano stati caricati (per esempio partman-ext3, partman-xfs o partman-lvm).
Quando si è soddisfatti della tabella delle partizioni, selezionare Terminare il partizionamento e scrivere i cambiamenti sul disco dal menu. Verrà presentato un breve riepilogo delle modifiche fatte sui dischi e verrà chiesto diconfermare la creazione dei file system.

38

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3.4.4

6.3. USO DEI SINGOLI COMPONENTI

Configurazione di device multidisco (RAID software)

Se nel proprio sistema ci sono più dischi fissi⁵ si può usare partman-md per configurare i dischi in modo da incrementare le prestazioni e/o migliorare l’affidabilità dei dati. Il risultato è un Multidisk Device (o almeno la sua variantepiù famosa, il RAID software).
Un MD è un insieme di partizioni localizzate su dischi differenti e combinate insieme per formare un dispositivo
logico. Questo device può quindi essere usato come una normale partizione (cioè lo si può partizionare con partman,si può assegnargli un mount point, ecc.).
I benefici che è possibile ricavare dipendono dal tipo di dispositivo MD che si intende creare. Attualmente quelli
supportati sono:
RAID0 Lo scopo di RAID0 sono le prestazioni. RAID0 divide tutti i dati entranti in strisce e le distribuisce in modo
uniforme su tutti i dischi. Questo può incrementare la velocità delle operazioni di lettura/scrittura, ma in caso
di rottura di uno dei dischi si perdono tutti i dati (infatti parte delle informazioni sono sui dischi integri e l’altra
parte era sul disco rotto).
Un uso tipico di RAID0 è una partizione per l’editing video.
RAID1 Adatto nelle situazioni in cui l’affidabilità è la necessità primaria. Consiste di più partizioni (di solito due)della stessa dimensione e ogni partizione contiene esattamente gli stessi dati. Questo comporta tre cose: se uno
dei dischi si rompe i dati rimangono disponibili sugli altri dischi, è possibile usare solo una parte della capacità
dei dischi (in particolare la dimensione della partizione più piccola in RAID), incremento delle prestazioni dato
che la lettura dei dati è bilanciata sui dischi, per esempio su un file server il numero delle letture è superiore aquello delle scritture.
Nell’array è possibile inserire anche un disco di scorta che in caso di rottura di uno degli altri dischi lo rimpiazza.
RAID5 È un buon compromesso fra velocità, affidabilità e ridondanza dei dati. RAID5 divide tutti i dati entranti
in strisce e le distribuisce in modo uniforme su tutti i dischi (come con RAID0) tranne uno. Diversamenteda RAID0, con RAID5 sono calcolate le informazioni sulla parità che poi sono scritte sul disco rimanente. Il
disco di parità non è fisso (questo è vero per RAID4) ma viene cambiato periodicamente in modo che anche
le informazioni di parità sono distribuite uniformemente su tutti i dischi. Quando un disco si rompe la partemancante dei dati può essere calcolata usando le altre parti dei dati e le informazioni di parità. RAID5 deveessere composto da almeno tre partizioni attive, inoltre nell’array si può avere anche un disco di scorta che nel
caso di rottura di un disco rimpiazza il disco rotto.
Come si può notare il RAID5 ha un grado di affidabilità simile al RAID1 con minor richiesta di ridondanza.
D’altra parte le operazioni di scrittura possono essere un po’ più lente rispetto al RAID0 a causa del calcolodelle informazioni di parità.
RAID6 Simile a RAID5 con l’eccezione che utilizza due dispositivi per la parità anziché uno.
Un array RAID6 può resistere alla rottura di due dischi.
RAID10 RAID10 combina lo striping (come in RAID0) e il mirroring (come in RAID1). Vengono create n copie
dei dati in arrivo che sono distribuite fra le partizioni in modo che nessuna copia dei dati sia scritta sullo stesso
dispositivo. Il valore predefinito per n è 2, ma può essere cambiato in modalità esperto. Il numero di partizioni
usato deve essere almeno n. RAID10 può distribuire le copie usando diversi layout. Il layout predefinito prevede
copie vicine. Con le copie vicine, tutte le copie hanno lo stesso offset sui dischi. Invece le copie lontane hanno
offset diversi. Le copie offset copiano l’intera striscia, non la singola copia.
RAID10 può essere usato per avere affidabilità e ridondanza senza lo svantaggio di dover calcolare la parità.
Riassumendo:
Tipo

Numero minimo
di deviceDevice di scorta

Resiste a rotturedel disco?

RAID0

2

no

no

Spaziodisponibile
La dimensionedella partizione più
piccola moltiplicata
per il numero di
device in RAID.

⁵In verità si può creare un device MD anche usando delle partizioni che risiedono sullo stesso disco, ma in questo modo non si ottiene alcun
beneficio.

39

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3. USO DEI SINGOLI COMPONENTI

Tipo

Numero minimo
di deviceDevice di scorta

Resiste a rotturedel disco?

RAID1

2

Opzionale

sì

RAID5

3

Opzionale

sì

RAID6

4

Opzionalesì

RAID102

OpzionalesìSpaziodisponibile
La dimensionedella partizione più
piccola in RAID
La dimensionedella partizione più
piccola moltiplicata
per il numero di
device in RAID
meno 1.
La dimensionedella partizione più
piccola moltiplicata
per il numero di
device in RAID
meno 2.
La somma di tutte
le partizioni diviso
per il numero dipezzi per copia (ilnumero predefinito
è 2)

Se si desidera conoscere tutto ciò che c’è da sapere sul RAID software si consulti il Software RAID HOWTO.
Per creare un device MD si devono marcare le partizioni da usare in RAID (questo si può fare con partman, nelmenu Impostazioni della partizione scegliere Usato come: → volume fisico per il RAID).

NOTA
Assicurarsi che il sistema si possa avviare con lo schema di partizionamento che
si intende applicare. In generale per utilizzare il file system di root (/) in RAID è necessario creare un file system separato per /boot. La maggior parte dei boot loader supportano il RAID1 in mirror (non in strisce), quindi una soluzione può essereusare RAID5 per / e RAID1 per /boot.
Poi nel menu principale di partman si deve selezionare Configurare il RAID software (questo menu appare solo
dopo aver marcato almeno una partizione come volume fisico per il RAID). Nella prima schermata di partman-md
selezionare Creare un device multidisk (MD), viene presentato un elenco dei tipi di device MD supportati dal qualescegliere. Quello che segue dipende dal tipo di device MD scelto.
• RAID0 è semplice, viene mostrato l’elenco delle partizioni RAID disponibili e l’unica cosa da fare è scegliere
le partizioni con le quali si vuole comporre il device MD.
• RAID1 è leggermente più complesso. Prima viene chiesto il numero di partizioni attive e il numero di partizioni
di scorta per il nuovo device MD. Poi è necessario scegliere dall’elenco delle partizioni RAID disponibili qualisaranno quelle attive e quali saranno quelle di scorta. Il numero totale di partizioni deve coincidere con quellospecificato in precedenza. Se durante la selezione si compie un errore e si sceglie un numero sbagliato dipartizioni installatore Debian non permette di proseguire con l’installazione fino a quando non si
corregge questo errore.
• La procedura di configurazione di RAID5 è simile a quella per RAID1 con una eccezione, è necessario usare
almeno tre partizioni attive.
• Anche RAID6 ha una procedura di configurazione simile a quella per RAID1 con un’eccezione: sono necessariealmeno quattro partizioni.
• Infine anche RAID10 ha una procedura di configurazione simile a quella per RAID1 tranne quando viene
eseguita in modalità esperto. Infatti, in tale modalità, installatore Debian chiede il layout che può

40

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3. USO DEI SINGOLI COMPONENTI

essere n (per le copie vicine), f (per le copie lontane) oppure o (per copie in offset). La seconda parte è il
numero di copie dei dati da fare. Deve essere almeno uguale al numero di dispositivi attivi in modo che tutte lecopie siano scritte su dischi diversi.
È possibile avere diversi tipi di MD contemporaneamente. Per esempio, se si dedicano al MD 3 hard disk da
200 GB, ciascuno con due partizioni da 100 GB, si possono combinare le prime partizioni di tutti e tre i dischi in un
RAID0 (come partizione veloce da 300 GB per l’editing video) e usare le altre tre partizioni (2 attive e 1 di scorta) in
RAID1 (come partizione da 100 GB più affidabile per la /home).
Dopo aver preparato i device MD a proprio piacimento si può Terminare partman-md e tornare a partman per
creare i filesystem sui nuovi device MD e per assegnare i normali attributi, per esempio il mount point.
6.3.4.5

Configurazione del Logical Volume Manager (LVM)

Se si lavora con i computer come amministratore di sistema o come utente «esperto» sicuramente si conoscerà lasituazione in cui qualche partizione del disco (di solito quella più importante) è quasi completamente occupata, mentre
altre partizioni sono abbondantemente sottoutilizzate che si gestisce spostando i dati, facendo dei link simbolici, ecc.
Per evitare la situazione descritta sopra si può usare un Logical Volume Manager (LVM). In poche parole con
LVM si possono combinare le partizioni (i volumi fisici nel gergo di LVM) in un disco virtuale (chiamato gruppo divolumi) che poi può essere diviso in partizioni virtuali (i volumi logici). La cosa importante è che i volumi logici (eovviamente i gruppi di volumi sottostanti) possono estendersi su più dischi fisici.
Quando ci si accorge che per la propria partizione /home si ha bisogno di più degli attuali 160 GB si può semplicemente aggiungere un disco da 300 GB al computer, unirlo al gruppo di volumi esistente e infine ridimensionare
il volume logico che contiene il filesystem /home; adesso gli utenti avranno a disposizione una nuova partizione da
460 GB. Questo esempio è stato semplificato al massimo. Se ancora non si è letto LVM HOWTO si consiglia di farlo.
La configurazione di LVM con il installatore Debian è abbastanza semplice e completamente supportatada partman. Come prima cosa si devono marcare le partizioni da usare come volumi fisici per LVM, questo si può
fare dal menu Impostazioni della partizione scegliendo Usato come: → volume fisico per LVM.

AVVERTIMENTO
Attenzione: la nuova configurazione LVM distruggerà tutti i dati su tutte le partizioni
marcate con codice tipo LVM. Quindi, se è già presente un LVM sui dischi e sivuole installare Debian sulla stessa macchina, il vecchio LVM (quello già esistente)verrà cancellato! Lo stesso vale per le partizioni che sono (per qualsiasi ragione)erroneamente marcate con tipo LVM ma che contengono qualcosa di diverso (comeun volume criptato). È necessario rimuovere questi dischi dal sistema prime dieffettuare una nuova configurazione LVM!
Poi, tornando al menu principale di partman, sarà visibile una nuova voce Configurare il Logical Volume Manager. Quando viene selezionata è richiesto di confermare (se presenti) le modifiche alla tabella delle partizioni ancora
in sospeso e poi è mostrato il menu di configurazione del LVM. Prima del menu è mostrato un riepilogo della configurazione del LVM. Il contenuto del menu dipende dal contesto quindi mostra solo le azioni valide. Le azioni possibili
sono:• Mostra dettagli di configurazione: mostra struttura, nomi e dimensioni del volume logico e altre informazioni• Creare i gruppi di volumi• Creare un volume logico• Cancellare i gruppi di volumi• Cancellare il volume logico• Estendere il gruppo di volumi• Ridurre il gruppo di volumi• Terminare: ritorna al menu principale di partman
Usare le voci nel menu per creare un gruppo di volumi e poi per creare dei volumi logici al suo interno.
Al rientro nel menu principale di partman tutti i volumi logici sono elencati come se fossero delle normali
partizioni (e devono essere trattati come tali).
41

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3.4.6

6.3. USO DEI SINGOLI COMPONENTI

Configurazione di volumi cifrati

installatore Debian consente di preparare delle partizioni cifrate; ogni file scritto su partizioni di questo tipo
viene immediatamente salvato sul device usando un formato cifrato. L’accesso ai dati cifrati è permesso solo dopo
aver inserito la passphrase scelta alla creazione della partizione cifrata. Questa funzionalità è utile per proteggere i dati
sensibili nel caso di furto del proprio portatile o del proprio disco fisso, il ladro potrebbe avere accesso fisico al disco
fisso ma senza conoscere la passphrase corretta, i dati sul disco risultano essere una sequenza casuale di caratteri.
Le partizioni più importanti da cifrare sono: la partizione home, in cui risiedono i dati privati, e la partizione diswap, in cui durante la normale attività potrebbero essere temporaneamente memorizzati dei dati sensibili. Ovviamente nulla vieta di cifrare qualsiasi altra partizione. Per esempio in /var i database server, i mail server o i print
server salvano i propri dati, oppure /tmp è usata da vari programmi per memorizzare dei file temporanei potenzialmente importanti. Si potrebbe anche voler cifrare l’intero sistema; solitamente l’unica partizione che deve rimanere
non cifrata è la /boot perché storicamente non era possibile caricare il kernel da una partizione cifrata. Oggigiorno GRUB è in grado di farlo ma in installatore Debian manca il supporto nativo per la partizione /bootcifrata quindi questa configurazione è spiegata in un documento separato.

NOTA
Le prestazioni di una partizione cifrata sono inferiori rispetto a quelle di una partizione tradizionale perché i dati devono essere decifrati o cifrati a ogni lettura oscrittura. L’impatto sulle prestazioni dipende dalla velocità della CPU, dal cifrario
scelto e dalla lunghezza della chiave.
Per usare la cifratura è necessario creare una nuova partizione dopo aver selezionato dello spazio libero dal menu
principale di partizionamento. Un’altra possibilità è selezionare una partizione esistente (per esempio una normale
partizione, un volume logico di LVM o un volume RAID). Dal menu Impostazioni della partizione si deve scegliere
volume fisico per la cifratura come valore del campo Usato come:. Il menu cambia in modo da visualizzare le opzioni
relative a come cifrare la partizione.
Il metodo di cifratura supporto da installatore Debian è dm-crypt (incluso nei nuovi kernel Linux e ingrado di ospitare volumi fisici per LVM).
Vediamo quali sono le opzioni disponibili quando si sceglie di cifrare con Device-mapper (dm-crypt).
Come al solito: quando si hanno dei dubbi si accettino i valori predefiniti, poiché sono stati attentamente scelti infunzione della sicurezza del sistema finale.
Cifratura: aes Questa opzione permette di scegliere l’algoritmo di cifratura (cifrario) da usare per cifrare i dati
nella partizione. Attualmente installatore Debian supporta i seguenti cifrari a blocchi: aes, blowfish,
serpent e twofish. Non rientra fra gli obiettivi di questo documento discutere le qualità dei vari algoritmi,
comunque può essere utile sapere che nel 2000 l’American National Institute of Standards and Technology hascelto AES come l’algoritmo standard per la protezione delle informazioni sensibili nel 21-esimo secolo.
Dimensione della chiave: 256 Si può specificare la lunghezza della chiave di cifratura. Generalmente una chiave
più lunga aumenta la forza della cifratura, d’altra parte all’aumento della lunghezza della chiave corrisponde un
impatto negativo sulle prestazioni. Le lunghezze disponibili per la chiave dipendono dal cifrario.
Algoritmo di IV: xts-plain64 In crittografia il Vettore di Inizializzazione o IV è usato per garantire che applicando l’algoritmo di cifratura sullo stesso testo in chiaro e con la stessa chiave si ottenga sempre un unico testo
cifrato. Lo scopo è di impedire a un aggressore di dedurre informazioni cercando sequenze che si ripetono nei
dati cifrati.
Fra le alternative proposte quella predefinita (xts-plain64) è attualmente la meno vulnerabile ai tipi diattacco conosciuti. Si può usare una delle alternative solo dovendo garantire la compatibilità con altri sistemi
già installati che non sono in grado di usare degli algoritmi più recenti.
Chiave di cifratura: Passphrase Adesso si deve scegliere il tipo di chiave di cifratura per la partizione.
Passphrase La chiave di cifratura viene calcolata⁶ sulla base di una passphrase che di dovrà inserire successivamente durante il processo d’installazione.
Chiave casuale Una nuova chiave di cifratura viene generata partendo da dati casuali ogni volta che si prova
ad attivare la partizione cifrata. In altre parole: ad ogni riavvio del sistema il contenuto della partizione è
⁶Usare una passphrase come chiave vuol dire che la partizione viene configurata usando LUKS.

42

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3. USO DEI SINGOLI COMPONENTI

perso perché la chiave è cancellata dalla memoria. (Ovviamente si più provare a indovinare la chiave con
un attacco di forza bruta ma, a meno dell’esistenza di una falla sconosciuta nel cifrario, è un risultato che
non si ottiene nella durata della nostra esistenza).
Le chiavi casuali sono particolarmente utili per le partizioni di swap, infatti non è necessario dover ricordare la passphrase o eliminare i dati sensibili dalla partizione di swap prima di spegnere la macchina.
Purtroppo ciò significa che non si può usare la funzionalità «suspend-to-disk» offerta dai kernel Linux più
recenti dato che è impossibile (durante l’avvio di ripristino) recuperare i dati memorizzati nella partizione
di swap.
Cancellare i dati: sì Determina se il contenuto di questa partizione debba essere sovrascritto con dei dati casuali
prima di impostare la cifratura. Si raccomanda questa operazione perché altrimenti un aggressore potrebbe
essere in grado di riconoscere quali parti della partizione sono in uso e quali no. Inoltre questo rende piùcomplesso il ripristino di qualsiasi dato rimasto dalle precedenti installazioni⁷.
Dopo aver scelto i parametri per le partizioni cifrate, tornare al menu principale di partizionamento. Adessoè presente una nuova voce di menu con nome Configurare volumi cifrati. Dopo averla selezionata viene chiesto
di confermare la cancellazione dei dati nelle partizioni marcate per essere ripulite e di confermare altre cose comela scrittura della nuova tabella delle partizioni. Se la partizione è di grandi dimensioni questa operazione potrebbe
richiedere un po’ di tempo.
Poi viene chiesto di inserire la passphrase per ognuna delle partizioni configurate. Una buona passphrase dovrebbe
essere di almeno 8 caratteri, dovrebbe essere composta da lettere, numeri e altri caratteri e non dovrebbe contenere
parole che si possono trovare in un dizionario né informazioni personali (come la data di nascita, hobby, nomi dianimali domestici, nomi di familiari o parenti, ecc.).

AVVERTIMENTO
Prima di inserire qualsiasi passphrase si deve essere sicuri che la tastiera sia configurata correttamente e che i caratteri generati siano quelli che ci si aspetta. Se
non si è sicuri si può passare sulla seconda console virtuale e fare delle prove. Ciògarantisce di non avere sorprese in seguito, per esempio inserendo la passphrase
con una tastiera qwerty configurata con una disposizione azerty. Questa situazione può avere più cause. Forse durante l’installazione si è cambiato la disposizionedella tastiera, oppure la disposizione della tastiera non era stata ancora configurata
quando si è inserito la passphrase per il file system di root.
Se per creare le chiavi di cifratura si fossero scelti metodi diversi dalla passphrase, le chiavi verrebbero create
adesso. Dato che duranti i primi passi dell’installazione il kernel potrebbe non aver accumulato entropia sufficiente ilprocesso potrebbe richiedere parecchio tempo. Il processo può essere velocizzato generando entropia: cioè premendo
dei tasti a caso, passando alla shell nella seconda console virtuale per causare traffico di rete o con i dischi (scaricando
dei file, inviando dei file di grosse dimensioni in /dev/null, ecc.). Questa operazione deve essere ripetuta per ogni
partizione da cifrare.
Dopo essere ritornati al menu di partizionamento principale si vedranno tutti i volumi cifrati come altre partizioni epossono essere configurati come se fossero delle partizioni tradizionali. L’esempio seguente mostra un volume cifrato
via dm-crypt.
Volume cifrato (sda2_crypt) - 115.1 GB Linux device-mapper#1 115.1 GB F ext3

Adesso è il momento di assegnare i punti di mount ai volumi ed eventualmente modificare il tipo di file system sequello predefinito non è adatto ai propri scopi.
Fare attenzione agli identificatori fra parentesi (in questo esempio (sda2_crypt) e dei punti di mount che si
assegnano ai volumi. Queste informazioni sono necessarie in seguito, durante l’avvio del nuovo sistema. Le differenze
fra il processo d’avvio tradizionale e quello con la crittazione verranno spiegate successivamente in Sezione 7.2.
Quando si è soddisfatti dello schema di partizionamento si può proseguire con l’installazione.
⁷È comune ritenere che i tipi delle agenzie governative di tre lettere siano in grado di ripristinare i dati anche dopo parecchie scritture delsupporto magneto-ottico.

43

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3.5

6.3. USO DEI SINGOLI COMPONENTI

Installazione del sistema baseNonostante questa fase sia la meno problematica, richiede una parte significativa del tempo di installazione perché
scarica, verifica e scompatta l’intero sistema base. Se si possiede un computer lento o una connessione di rete lenta,
ciò potrebbe richiedere un certo tempo.
Durante l’installazione del sistema di base i messaggi relativi all’estrazione e alla configurazione dei pacchetti sono
rediretti su tty4. È possibile accedere a questo terminale premendo Alt-F4; per tornare al terminale con il processod’installazione principale premere Alt-F1.
I messaggi relativi all’estrazione e alla configurazione dei pacchetti generati durante questa fase sono salvati anche
in /var/log/syslog. Quando l’installazione avviene tramite una console seriale questo è l’unico posto in cui è
possibile vederli.
Come parte dell’installazione viene installato un kernel Linux. Usando la priorità predefinita il programma d’installazione sceglie il kernel che meglio si adatta al proprio hardware. Nelle modalità con priorità più bassa è possibile
scegliere uno dei kernel fra quelli disponibili.
Quando i pacchetti sono installati tramite il sistema di gestione dei pacchetti e con la configurazione predefinita,
vengono installati anche i pacchetti raccomandati dai pacchetti da installare. I pacchetti raccomandati non sono strettamente necessari per le funzionalità principali del programma scelto, ma lo migliorano e, secondo i manutentori delpacchetto, normalmente si dovrebbero installare al programma.

NOTA
Per motivi tecnici i pacchetti installati durante l’installazione del sistema di basesono installati senza i relativi «Raccomandati». La regola descritta in precedenza
ha effetto solo dopo questo punto del processo d’installazione.

6.3.6

Installazione di altri programmi

A questo punto è disponibile un sistema usabile ma molto limitato. La maggior parte degli utenti vuole installare altri
programmi per adattare il sistema alle proprie necessità, e il programma d’installazione consente di farlo. Se si possiede
un computer lento o una connessione di rete lenta, ciò potrebbe richiedere molto più tempo rispetto all’installazionedel sistema di base.
6.3.6.1

Configurazione di APT

Uno degli strumenti usati per installare i pacchetti su un sistema Debian GNU/Linux è il programma apt, contenuto
nel pacchetto apt⁸. Si possono usare anche altre interfacce per la gestione dei pacchetti come aptitude e synaptic.
Queste interfacce sono quelle consigliate ai nuovi utenti poiché integrano alcune caratteristiche (ricerca dei pacchettie verifica dello stato) in un’interfaccia utente gradevole.
apt deve essere configurato indicando la posizione da cui può recuperare i pacchetti. Il risultato di questa configurazione è scritto nel file /etc/apt/sources.list che è possibile esaminare e modificare a proprio piacimento
una volta conclusa l’installazione.
Se l’installazione avviene alla priorità predefinita, l’installatore si occupa automaticamente della maggior partedella configurazione basandosi sul metodo d’installazione in uso e sulle scelte fatte nelle fasi iniziali dell’installazione.
Nella maggior parte dei casi l’installatore aggiunge automaticamente un mirror per la sicurezza e, quando si installa ladistribuzione stabile, un mirror per accedere al servizio d’aggiornamento «stable-updates».
Se l’installazione avviene a una priorità più bassa (cioè in modalità esperto), è possibile scegliere da soli cosa fare:
se installare i servizi d’aggiornamento di sicurezza o stable-updates o se aggiungere i pacchetti dalle sezioni «contrib»,«non-free» e «non-free-firmware» dell’archivio.
6.3.6.1.1

Installazione da più di una immagine di CD o DVD

Si si installa da una immagine di CD o un DVD che fa parte di un set, l’installatore richiede se si vuole eseguire l’analisi
di altri supporti per l’installazione. Se si dispone di altri supporti, è consigliabile effettuare l’analisi per permettere
all’installatore di usare anche i pacchetti su questi supporti.
⁸Notare che il programma che installa effettivamente i pacchetti si chiama dpkg. Comunque questo programma è qualcosa di più di uno
strumento di basso livello. apt è uno strumento di livello più elevato che richiamerà dpkg nel modo più appropriato. È capace di recuperare ipacchetti dal supporto per l’installazione, dalla rete o da qualsiasi altra sorgente; inoltre è in grado di installare altri pacchetti che potrebbero esserenecessari al corretto funzionamento del pacchetto che si sta tentando di installare.

44

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3. USO DEI SINGOLI COMPONENTI

Se non si dispone di altri supporti, non è un problema: non sono necessari. Se non si usa nemmeno un mirror
in rete (come spiegato nella prossima sezione), può accadere che sia impossibile installare tutti i pacchetti che fannoparte dei task selezionabili nel prossimo passo dell’installazione.

NOTA
I pacchetti sono inseriti nelle immagini dei CD e DVD in base alla loro popolarità. Questo vuol dire che la maggior parte degli utenti usano solo la prima immagine di un set e che solo pochissime persone usano i pacchetti presenti nell’ultima
immagine del set.
Questo vuol anche dire che comprare o scaricare e masterizzare un set di CD completo è solo uno spreco di soldi dato che la maggior parte di questi non verrà mai
usata. Nella maggior parte dei casi è consigliabile recuperare solo i primi 3 degli 8
CD e installare qualsiasi ulteriore pacchetto da Internet tramite un mirror. La stessa
cosa vale per il set di DVD: il primo DVD, o forse i primi 2 DVD, dovrebbero coprirela maggior parte delle necessità.
Se si analizzano più supporti per l’installazione, l’installatore chiederà di cambiare supporto quando avrà bisogno
dei pacchetti presenti in uno diverso da quello attualmente presente nel lettore. Notare che si possono analizzare solo
dischi appartenenti allo stesso set; l’ordine con cui sono analizzati non ha importanza, comunque se si procede in
ordine crescente si riducono le possibilità di fare degli errori.
6.3.6.1.2

Uso di un mirror di rete

Una delle domande poste durante l’installazione riguarda se utilizzare oppure no un mirror di rete come sorgente peri pacchetti. Nella maggior parte dei casi la risposta predefinita è corretta, ma ci sono alcune eccezioni.
Se per l’installazione non si utilizza l’immagine di un CD/DVD completa, si raccomanda di usare un mirror di rete
altrimenti si conclude l’installazione con un sistema minimale. Tuttavia, se si dispone di una connessione a Internet
limitata, è consigliabile non scegliere il task desktop nella prossima fase dell’installazione.
Se per l’installazione si utilizza l’immagine di un singolo CD, non è necessario usare un mirror ma è caldamente
raccomandato farlo poiché l’immagine di un singolo CD contiene un numero abbastanza limitato di pacchetti. Peròse si dispone di una connessione a Internet limitata è consigliabile scegliere di non usare un mirror, di completarel’installazione usando solo ciò che è disponibile sul CD e di installare altri pacchetti in seguito (cioè dopo aver riavviato
il nuovo sistema).
Se per l’installazione si utilizza un DVD, tutti i pacchetti necessari durante l’installazione dovrebbero essere
presenti nell’immagine del primo DVD. In questo caso l’uso di un mirror è opzionale.
Un vantaggio dell’aggiunta di un mirror è che gli aggiornamenti, rilasciati dopo la creazione del set di immagini
dei CD/DVD e inclusi in uno dei rilasci minori, diventano disponibili per l’installazione, quindi si allunga la vita delproprio set di CD/DVD senza compromettere la sicurezza o la stabilità del sistema installato.
In breve: la scelta di un mirror di rete è generalmente una buona idea, tranne quando non si dispone di una buonaconnessione a Internet. Se la versione attuale di un pacchetto è disponibile sul supporto per l’installazione, l’installatore
usa sempre questo supporto. L’ammontare dei dati da scaricare quando si seleziona un mirror dipende da
1. quali task saranno scelti nel prossimo passo dell’installazione,
2. quali pacchetti fanno parte di quei task,
3. quali di questi pacchetti sono presenti sui supporti per l’installazione analizzati e
4. se da un mirror (sia un normale mirror per i pacchetti che un mirror con gli aggiornamenti per la sicurezza ostable-updates) sono disponibili versioni dei pacchetti aggiornate rispetto a quelle sui supporti per l’installazione.
Notare l’ultimo punto significa che anche quando si sceglie di non usare un mirror di rete, alcuni pacchetti potrebbero essere comunque scaricati da Internet se sono disponibili aggiornamenti di sicurezza o da stable-updates e
se questi servizi sono stati configurati.
6.3.6.1.3

Scelta di un mirror

A meno di aver scelto di non usare un mirror, viene presentato un elenco dei mirror in base alla precedente sceltadella nazione nel processo di installazione. La voce preselezionata è solitamente corretta.
45

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3. USO DEI SINGOLI COMPONENTI

Il valore predefinito è deb.debian.org, non si tratta di un mirror bensì reindirizzerà verso un mirror che dovrebbere
essere aggiornato e veloce. Questi mirror supportano TLS (protocollo https) e IPv6. Questo servizio è gestito dal
gruppo Debian System Administration (DSA).
È possibile anche specificare manualmente un mirror scegliendo «inserire le informazioni manualmente». Saràrichiesto di specificare il nome host del mirror e opzionalmente il numero della porta. In realtà questo deve essere un
URL di base quindi è possibile specificare un indirizzo IPv6, quello che deve essere racchiuso tra parentesi quadre,per esempio «[2001:db8::1]».
Se il proprio computer è su una rete solo-IPv6 (questo non sarà vero per la maggior parte degli utenti), l’uso delmirror predefinito per la nazione potrebbe non funzionare. Tutti i mirror nell’elenco sono raggiungibili via IPv4 masolo alcuni possono essere usati via IPv6. Poiché la connettività di ciascun mirror può cambiare nel tempo, questa
informazione non è disponibile nell’installatore. Se la connettività IPv6 non è disponibile per il mirror predefinitodella nazione, è possibile provare uno degli altri mirror nell’elenco oppure scegliere di «inserire manualmente l’informazione»; poi specificare «ftp.ipv6.debian.org» come nome del mirror, che è un alias per un mirror disponibile via
IPv6 anche se probabilmente non sarà quello più veloce.
6.3.6.2

Selezione e installazione dei pacchetti

Durante il processo d’installazione viene data l’opportunità di scegliere e installare altri programmi. Anziché scegliere
i singoli pacchetti fra gli oltre 93245 disponibili, in questa fase del processo d’installazione si possono installare solodelle raccolte predefinite di programmi che permettono di preparare rapidamente il proprio computer per diverse
attività.
Questi task rappresentano con semplicità molti diversi lavori o cose che si intendano fare con il computer, come«l’ambiente desktop», «il server web», o «il server SSH»⁹. Sezione D.2 mostra lo spazio necessario per ogni task
disponibile.
Alcuni task possono essere preselezionati dal sistema d’installazione in base alle caratteristiche del computer su
cui si sta facendo l’installazione, se i task preselezionati non fossero di proprio gradimento è possibile deselezionarli.
A questo punto dell’installazione è possibile anche non installare alcun task.

SUGGERIMENTO
Con la normale interfaccia utente del programma d’installazione si può usare labarra spaziatrice per selezionare e deselezionare un task.

NOTA
Il task «Ambiente Desktop» installa un ambiente desktop grafico.
L’ambiente desktop predefinito è . Durante l’installazione interattiva è possibile scegliere un ambiente desktop diverso; è anche possibile installare più di un ambiente
desktop però alcune combinazioni di desktop potrebbero non essere co-installabili.
Notare che questo sistema funziona solo se i pacchetti necessari all’ambiente desktop scelto sono disponibili; se l’installazione avviene con l’immagine completa di
un solo CD, potrebbe essere necessario scaricare da un mirror in rete una parte dei
pacchetti necessari dato che potrebbero non essere inclusi nell’immagine del CD
a causa del limitato spazio a disposizione. Se per l’installazione si usa l’immagine
di un DVD oppure un altro metodo, l’installazione di qualsiasi ambiente desktop traquelli disponibili dovrebbe avvenire correttamente.
Con i diversi task di tipo server sono installati i seguenti programmi. Server web: apache2; Server SSH:
openssh.
⁹Si deve sapere che nel visualizzare quest’elenco, l’installatore sta soltanto richiamando il programma tasksel; questo programma può essere
eseguito in qualunque momento dopo l’installazione per aggiungere (o rimuovere) più pacchetti. Per la selezione manuale dei pacchetti si può
usare il programma aptitude. Se si cerca un singolo pacchetto specifico, dopo che l’installazione è stata compiuta, semplicemente si deve avviare
aptitude install pacchetto, dove pacchetto è il nome del pacchetto che si sta cercando.

46

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3. USO DEI SINGOLI COMPONENTI

Il task «Sistema standard» installa tutti i pacchetti con priorità «standard». Questi includono molte delle utilità
che comunemente sono disponibili su tutti i sistemi Linux o Unix. Questo task dovrebbe rimanere selezionato a meno
che non si sappia esattamente cosa si sta facendo e si voglia un sistema realmente minimale.
Se durante la selezione della lingua è stato scelto anche un locale diverso da «C», tasksel verifica se per quel locale
esistono dei task di localizzazione e automaticamente cerca di installare i pacchetti ad essi collegati, per esempio ipacchetti che contengono gli elenchi di parole oppure i tipi di carattere speciali per la propria lingua. Qualora sia stato
selezionato anche un ambiente desktop, vengono installati anche i pacchetti relativi alla localizzazione dell’ambiente
desktop (se disponibili).
Dopo aver scelto i task da installare, premere Continua; apt si occuperà dell’installazione dei pacchetti che fannoparte dei task prescelti. Se un programma ha bisogno di ulteriori informazioni dall’utente, queste informazioni sonorichieste durante l’installazione.
Attenzione, il task Desktop può essere molto grosso. In particolare se l’installazione avviene da un normale
CD-ROM e in combinazione con un mirror per i pacchetti che non sono sul CD-ROM, l’installatore potrebbe volerrecuperare parecchi pacchetti dalla rete. Se si dispone di una connessione a Internet lenta, questa operazione potrebbe
richiedere molto tempo. Non c’è modo di arrestare l’installazione dei pacchetti una volta che è stata avviata.
Anche quando i pacchetti sono presenti sul CD-ROM, l’installatore potrebbe comunque recuperare i pacchetti daun mirror se la versione del pacchetto disponibile sul mirror è più recente di quella del pacchetto sul CD-ROM. Se si
installa la distribuzione stable, questo può accadere dopo un rilascio intermedio (un aggiornamento del rilascio stable
originale); se si installa la distribuzione testing, questo accade se si usa un’immagine datata.

6.3.7

Rendere avviabile il sistema

Se si sta installando un terminale di lavoro senza disco, ovviamente, l’avvio dal disco locale non è un’opzione valida equesto passo sarà saltato.
6.3.7.1

Rilevamento di altri sistemi operativi

Prima di installare un boot loader, l’installatore cerca di rilevare se sulla macchina sono installati altri sistemi operativi.
Se riconosce uno dei sistemi operativi supportati, viene mostrato un avviso durante il passo d’installazione del bootloader e il computer viene configurato in modo da avviare anche l’altro sistema operativo oltre a Debian.
Si noti che l’avvio di più sistemi operativi su una singola macchina è ancora materia oscura. Il supporto automatico
per riconoscimento e configurazione del boot loader per altri sistemi operativi varia con l’architettura e addirittura conla sottoarchitettura. Nel caso non funzioni si deve consultare la documentazione del boot manager per avere ulteriori
informazioni.
6.3.7.2

Impostazione dell’avvio del sistema con flash-kernel

Poiché non esiste un’interfaccia firmware comune per tutte le architetture ARM, i passi necessari per rendere il sistema
avviabile su dispositivi ARM sono fortemente dipendenti dal dispositivo. Debian utilizza uno strumento chiamato
flash-kernel per questa operazione. Flash-kernel dispone di un database che contiene le specifiche operazioni daeffettuare per rendere avviabile su diversi sistemi. Flash-kernel rivela se il dispositivo è supportato e, se lo è, esegue
le operazioni necessarie.
Su i dispositivi che si avviano dalla memoria flash interna (NOR-flash oppure NAND-flash), flash-kernel scrive ilkernel e il ramdisk iniziale nella memoria interna. Questo metodo è molto comune su i dispositivi armel più vecchi.
Notare che questi dispositivi non permettono di avere più kernel né più ramdisk nella memoria interna, quindi flashkernel può solo sovrascrive il contenuto della memoria flash!
Su i sistemi ARM con U-Boot come firmware di sistema è possibile avviare il kernel e il ramdisk iniziale dasupporti esterni (come schedine MMC o SD, dispositivi di memorizzazione di massa USB oppure dischi IDE/SATA),
flash-kernel crea gli script di avvio che permettono di avere l’avvio automatico senza interazione dell’utente.
6.3.7.3

Continua senza un boot loader

Questa opzione può essere usata per completare l’installazione senza che sia necessariamente installato un boot loader,perché non ne esiste uno per l’architettura/sottoarchitettura in uso oppure perché non lo si vuole installare (per esempio
si vuole usare il boot loader già esistente).
Se si pensa di configurare manualmente il proprio boot loader si deve verificare in /target/boot il nome delkernel, sempre nella stessa directory si deve vedere se c’è un initrd; se è presente probabilmente si dovrà configurare
il boot loader in modo che lo usi. Altre informazioni di cui si ha bisogno sono il disco e la partizione scelta per il filesystem / e, se /boot è stata installata su una partizione diversa, delle stesse informazioni anche per il file system di/boot.
47

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3.8

6.3. USO DEI SINGOLI COMPONENTI

Completamento dell’installazione

Questo è l’ultimo passo del processo d’installazione di Debian durante il quale l’installatore compie le ultime operazioni
che consistono principalmente nel mettere in ordine dopo il installatore Debian.
6.3.8.1

Impostazione dell’orologio di sistema

Il programma d’installazione potrebbe chiedere se l’orologio del proprio computer è impostato su UTC. Se possibile
questa domanda non viene posta, infatti il programma d’installazione determina se il sistema è impostato su UTC
analizzando quali altri sistemi operativi sono installati.
Nella modalità esperto è possibile scegliere se l’orologio del proprio computer è impostato con UTC o no.
A questo punto installatore Debian cerca di salvare l’ora corrente nell’orologio hardware del sistema. In
base alla scelta appena fatta l’ora può essere UTC o locale.
6.3.8.2

Riavvio del sistema

Viene richiesto di rimuovere il supporto (CD, chiavetta USB, ecc.) usato per avviare il programma d’installazione.
Poi il sistema viene riavviato con il nuovo sistema Debian.

6.3.9

Risoluzione dei problemi

I componenti elencati in questa sezione non sono normalmente coinvolti nel processo d’installazione ma restano inattesa in background per aiutare l’utente nel caso che qualcosa vada storto.
6.3.9.1

Salvataggio dei log d’installazione

Se l’installazione ha successo i file di log creati durante il processo d’installazione sono automaticamente salvati in/var/log/installer/ sul nuovo sistema Debian.
Scegliendo Salvare i log per il debug nel menu principale è possibile salvare i file di log su una chiavetta USB, in
rete, su un disco fisso o su altri supporti. Questo può essere utile se si verificano dei problemi durante l’installazione
e si desidera studiare i log su un altro sistema oppure allegarli a un resoconto d’installazione.
6.3.9.2

Uso della shell e consultazione dei log

Esistono molti modi per poter usare una shell durante l’installazione. Su molti sistemi, se l’installazione non avviene
tramite una console seriale, il modo più semplice per passare alla seconda console virtuale è premere Alt-F2¹⁰ (oppure
su una tastiera Mac Option-F2). Per ritornare al sistema d’installazione premere Alt-F1.
Se il cambio di console non funziona si può provare ad avviare una shell usando la voce Avviare una shell del menu
principale. Dalla maggior parte delle finestre di dialogo si può tornare al menu principale usando una o più volte ilpulsante Indietro. Per chiudere la shell e tornare al sistema d’installazione si deve usare il comando exit.
A questo punto l’avvio è stato fatto da un RAM disk ed è disponibile un insieme limitato delle utility Unix. Si
può sapere quali programmi sono disponibili usando il comando ls /bin /sbin /usr/bin /usr/sbin oppure digitando
help. La shell è un clone della Bourne shell chiamato ash che dispone di alcune funzioni molto comode come ilcompletamento automatico e lo storico dei comandi.
Per visualizzare o modificare dei file, utilizzare l’editor di testi nano. I file con il log scritto dal sistema d’installazione si trovano all’interno della directory /var/log.

NOTA
Nonostante che dalla shell sia possibile effettuare qualsiasi operazione fattibile con
i comandi disponibili, l’uso della shell deve essere il più possibile limitato solo nel
caso qualcosa non funzioni e per il debug.
Le operazioni effettuate manualmente dalla shell potrebbero interferire con il processo d’installazione e potrebbero comportare degli errori o un’installazione incompleta. In particolare si deve usare sempre il menu, non la shell, per attivare lapartizione di swap.

¹⁰Il tasto Alt a sinistra della barra spaziatrice e il tasto funzione F2 devono essere premuti contemporaneamente.

48

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.3.106.3. USO DEI SINGOLI COMPONENTI

Installazione tramite network-console

Uno dei componenti più interessanti è la network-console. Permette di effettuare la gran parte dell’installazione tramite la rete via SSH, il fatto che sia usata la rete implica che è necessario eseguire i primi passi dell’installazione
dalla console, almeno fino al punto in cui viene configurata la rete (è comunque possibile preconfigurare questa parteseguendo Sezione 4.4).
Normalmente questo componente non è caricato nel menu d’installazione principale e quindi deve essere esplicitamente richiesto. Se l’installazione avviene da un supporto ottico è necessario avviare l’installatore con priorità mediao più bassa altrimenti si può scegliere Caricare i componenti dell’installatore dal supporto per l’installazione dal menu
d’installazione principale e nell’elenco dei componenti addizionali scegliere network-console: Proseguire l’installazione in remoto usando SSH. Se il caricamento ha successo nel menu principale appare una nuova voce Proseguirel’installazione in remoto usando SSH.
Dopo la selezione della nuova voce, viene richiesta la password per connettersi al sistema d’installazione; è tutto.
Dovrebbe essere visibile una schermata con le indicazioni per effettuare il login da remoto con l’utente installer e con
la stessa password appena inserita. Un altro importante dettaglio presente nella schermata è il fingerprint del sistema.
È necessario che il fingerprint sia trasmesso in modo sicuro alla persona che continuerà l’installazione da remoto.
Se si desidera continuare con l’installazione locale si può premere Invio, in questo modo si ritorna al menu
principale dal quale poi è possibile selezionare un altro componente.
Passando sull’altro sistema. È necessario configurare il proprio terminale in modo che usi la codifica UTF-8, datoche è quella usata dal sistema d’installazione. Senza questa configurazione l’installazione da remoto rimane comunquepossibile ma si possono verificare dei problemi di visualizzazione dei bordi dei dialoghi e dei caratteri non-ascii. La
connessione al sistema d’installazione avviene semplicemente eseguendo il seguente comando:$ ssh -l installer install_host

Dove install_host è il nome o l’indirizzo IP del computer che si sta installando. Prima di effettuare il login viene
mostrato il fingerprint del sistema remoto e viene chiesto di confermare la sua correttezza.

NOTA
Il server ssh nell’installatore usa una configurazione predefinita che non prevedel’invio di pacchetti keep-alive. In linea di principio una connessione verso un sistema in fase di installazione dovrebbe essere tenuta aperta indefinitamente. Purtroppo, in alcune situazioni che dipendono dalla configurazione della propria rete locale,la connessione potrebbe essere interrotta dopo un certo periodo di inattività. Unodei casi più comuni in cui si può verificare questo problema è quando fra il client
e il sistema che si sta installando è presente una qualche forma di NAT (Network
Address Translation). La possibilità di riprendere l’installazione dopo che la connessione è stata interrotta dipende dal punto a cui era l’installazione al momentodell’interruzione.
È possibile evitare che la connessione sia interrotta aggiungendo l’opzione-o ServerAliveInterval=valore all’apertura della connessione ssh oppure aggiungendo la stessa opzione nel file di configurazione di ssh. Si noti che inalcuni casi l’aggiunta di questa opzione potrebbe addirittura causare l’interruzione della connessione (per esempio se i pacchetti keep-alive sono spediti durante
una breve indisponibilità della rete, dalla quale ssh poteva recuperare) quindi deveessere usata solo quando necessario.

49

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.4. CARICARE I FIRMWARE MANCANTINOTA
Se si esegue l’installazione su più computer, uno di seguito all’altro, può capitareche abbiano lo stesso indirizzo IP o lo stesso nomehost e che ssh si rifiuti di fareconnessione. Il motivo è che hanno dei fingerprint diversi, e questo è solitamente ilsegnale di un attacco spoofing. Se si è sicuri di non essere vittime di un attacco allora si deve cancellare dal file ~/.ssh/known_hosts la riga relativa al computera
e poi provare nuovamente la connessione.
aIl seguente comando rimuove<nomehost|indirizzo IP>.

la

riga

esistente

per

un

host:

ssh-keygen-R

Dopo il login viene presentata una schermata iniziale dalla quale si ha la possibilità di Avviare il menu o di Aprire
una shell. Scegliendo il menu viene attivano il menu principale dal quale si può continuare l’installazione, con la shellsi può esaminare e forse anche correggere il sistema remoto. Probabilmente servirà solo una connessione con il menu
d’installazione, comunque è possibile avviare altre sessioni per la shell.

AVVERTIMENTO
Dopo aver avviato l’installazione da remoto tramite SSH non si deve ritornare alla
sessione d’installazione che è attiva nella console locale. Questa operazione potrebbe corrompere il database che contiene la configurazione del nuovo sistema
e quindi provocare il blocco dell’installazione oppure dei problemi nel sistema una
volta conclusa l’installazione.

6.4

Caricare i firmware mancantiCome descritto in Sezione 2.2, alcuni dispositivi possono richiedere il caricamento di un firmware. Nella maggior
parte dei casi questi dispositivi non funzionano senza; qualche volta sono attive solo alcune funzioni di base e il
firmware è necessario per attivare le funzionalità aggiuntive.
A partire da Debian GNU/Linux 12.0, a seguito della 2022 General Resolution about non-free firmware, le immagini di installazione ufficiali (come netinst) possono includere pacchetti di firmware non liberi. Anche con questi
pacchetti firmware disponibili, alcuni file firmware potrebbero essere ancora mancanti. Oppure si potrebbero usare i
file netboot, che non includono pacchetti firmware.
Quando un dispositivo richiede un firmware non disponibile, installatore Debian mostra una finestra
di dialogo dando la possibilità di caricare il firmware mancante. Se si utilizza questa opzione, installatore
Debian cerca all’interno dei dispositivi disponibili i singoli file col firmware oppure i pacchetti contenenti il firmware.
Se la ricerca ha successo, il firmware verrà copiato nella directory corretta (/lib/firmware) e il modulo con il
driver verrà ricaricato.

NOTA
In quali dispositivi viene effettuata la ricerca e quali sono i filesystem supportati dipendono dall’architettura, dal metodo d’installazione e dalla fase dell’installazione.
In particolare è molto probabile che durante le prime fasi dell’installazione funzioni
il caricamento dei firmware da chiavette USB con un filesystem FAT.
Notare che è possibile saltare il caricamento del firmware se il dispositivo può funzionare senza oppure se il
dispositivo non è necessario durante l’installazione.

6.4.1

Preparazione del supporto

Il metodo più comune per caricare il firmware non-free è da un supporto removibile come una chiavetta USB. Per
preparare una chiavetta USB (o un qualsiasi altro supporto come una partizione del disco fisso) occorre copiare i file50

CAPITOLO 6. USO DELL’INSTALLATORE DEBIAN

6.5. PERSONALIZZAZIONEo i pacchetti con il firmware nella directory principale o in una directory con nome /firmware del filesystem sul
supporto. Si raccomanda l’uso di un filesystem FAT dato che è quello supportato sino dalle prime fasi dell’installazione.
Dei tarball e dei file zip contenenti i pacchetti con i firmware più comuni, insieme ai loro metadati che negarantiscono un corretto rilevamento da parte dell’installatore (nella directory dep11), sono disponibili da:• https://cdimage.debian.org/cdimage/firmware/bookworm/
È sufficiente scaricare il tarball o il file zip adatto al proprio rilascio e scompattarlo nel filesystem del supporto.
È anche possibile copiare i singoli file con il firmware nel supporto. I singoli firmware possono essere recuperati,
per esempio, da altri sistemi già installati oppure dal produttore dell’hardware.

6.4.2

Firmware sul sistema installato

Tutti i firmware caricati durante l’installazione verranno copiati sul sistema installato; nella maggior parte dei casiquesto assicura che il dispositivo che ha bisogno del firmware funzioni correttamente anche dopo aver riavviato ilsistema. Tuttavia, se il sistema installato utilizza una versione del kernel diversa da quella usata per l’installazione, c’è
la possibilità che il firmware non possa essere caricato a causa della differenza fra le versioni.
Se il firmware è stato caricato da un pacchetto, installatore Debian installa il pacchetto sul sistema finale
e aggiunge automaticamente la sezione non-free-firmware dell’archivio nel sources.list di APT. Questo ha ilvantaggio che quando è disponibile una nuova versione del firmware questo verrà aggiornato automaticamente.
Se il caricamento del firmware è stato saltato durante l’installazione, i dispositivi che hanno bisogno del firmware
non funzioneranno fino a quando il firmware (o il pacchetto) non verrà installato manualmente.

NOTA
Se i firmware sono stati caricati da file singoli, i firmware verranno copiati nel sistema installato ma non saranno aggiornati automaticamente a meno che, una volta
completata l’installazione, non venga installato (se disponibile) il relativo pacchetto.

6.4.3

Conclusione sul sistema installato

A seconda di come è condotta l’installazione, potrebbe accadere che dei firmware necessari per il funzionamento
non siano stati rivelati durante l’installazione, che il firmware pertinente non fosse disponibile oppure che si sia scelto
di non installare il firmware. In alcuni casi, nonostante l’installazione si concluda con successo, può capitare che lo
schermo resti nero o con dei disturbi dopo il riavvio del sistema installato. In tal caso è possibile applicare i seguenti
espedienti:• Passare l’opzione nomodeset sulla riga di comando del kernel in modo da avviare nella «modalità grafica diservizio».
• Usare la combinazione di tasti Ctrl-Alt-F2 per passare al VT2, che dovrebbe offrire un prompt di login
funzionante.

6.5

Personalizzazione

Usando la shell (consultare Sezione 6.3.9.2), il processo d’installazione può essere personalizzato con precisione peradattarlo ai casi eccezionali:

6.5.1

Installazione di un sistema init alternativo

Il sistema di init predefinito in Debian è systemd. In qualsiasi modo, sono disponibili altri sistemi di init (quali aesempio sysvinit e OpenRC) e il momento in cui è più semplice passare a un sistema di init alternativo è durante ilprocesso d’installazione; le istruzioni dettagliate per cambiarlo sono disponibili nella pagina su Init del wiki Debian.

51

Capitolo 7

Avvio del nuovo sistema Debian
7.1

Il momento della verità

Il primo avvio del sistema a piena potenza è ciò che gli ingegneri elettronici chiamano la «prova del fumo».
Non ci si deve preoccupare se il sistema non si avvia correttamente. Infatti, se l’installazione si è conclusa con
successo, ci sono ottime probabilità che ciò che blocca l’avvio del sistema con Debian sia solo un piccolo problema.
In molti casi questi problemi possono essere risolti senza ripetere l’installazione; un modo per trovare una soluzione
ai problemi di avvio è usare la modalità di ripristino compresa nel sistema d’installazione (si veda Sezione 8.6).
Gli utenti che non conoscono Debian e Linux potrebbero aver bisogno di aiuto da parte degli utenti più esperti.
Per le architetture meno comuni, come ARM 32 bit , si consiglia di contattare la mailing list debian-arm. Inoltre si
può inviare un resoconto dell’installazione seguendo le indicazioni in Sezione 5.4.5, si raccomanda di descrivere il
problema in modo chiaro e di riportare qualsiasi messaggio visualizzato poiché potrebbe essere utile per la diagnosidel problema.

7.2

Montare volumi cifrati

Se durante l’installazione si creano dei volumi cifrati e si assegnano a dei punti di mount allora, durante l’avvio, viene
richiesto l’inserimento della passphrase per ognuno di questi volumi.
Le partizioni cifrate con dm-crypt sono mostrate durante l’avvio con un prompt simile a questo:
Starting early crypto disks... part_crypt(starting)Enter LUKS passphrase:

Nella prima riga la part è il nome della partizione sottostante, per esempio sda2 o md0. Probabilmente adesso sivorrebbe conosce per quale volume si sta inserendo la passphrase. Si tratta di /home? Oppure di /var? Certamente
se nel sistema esiste un solo volume cifrato la risposta è semplice, si deve inserire la stessa passphrase usata durante
la configurazione. Invece, se durante l’installazione sono stati preparati più volumi cifrati, gli appunti presi durante
l’ultimo passo descritto in Sezione 6.3.4.6 risultano molto utili. Se non si hanno appunti su come sono mappati idiversi part_crypt sui vari punti di mount allora si possono trovare nei file /etc/crypttab e /etc/fstab
del nuovo sistema.
Il prompt potrebbe essere leggermente diverso quando viene montato il file system di root. Dipende da quale
strumento è stato usato per la creazione dell’initramfs per l’avvio del sistema. Il prossimo esempio si riferisce a uninitrd creato con initramfs-tools:
Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Enter LUKS passphrase:

Durante l’inserimento della passphrase non sono mostrati dei caratteri, nemmeno degli asterischi. Se la passphrase inserita è sbagliata si hanno a disposizione altri due tentativi, dopo il terzo tentativo il processo di avvio salta ilmontaggio del volume e prosegue con il filesystem successivo. Si veda Sezione 7.2.1 per maggiori informazioni.
L’avvio prosegue normalmente dopo l’inserimento di tutte le passphrase.

52

CAPITOLO 7. AVVIO DEL NUOVO SISTEMA DEBIAN

7.2.1

7.3. ACCESSO

Risoluzione dei problemi

Se alcuni dei volumi cifrati non sono stati montati perché è stata inserita una passphrase sbagliata, è comunque possibile
montarli manualmente al termine dell’avvio. Si possono verificare diversi casi:• Il primo caso riguarda la partizione root. Quando non è correttamente montata il processo di avvio si arresta
ed è necessario riavviare la macchina per fare un nuovo tentativo.
• Il caso più semplice riguarda i volumi che contengono dati, come /home o /srv. Si possono montaremanualmente al termine dell’avvio.
Purtroppo con dm-crypt è leggermente più complesso. Prima si devono registrare i volumi con device mapper
eseguendo:# /etc/init.d/cryptdisks start

Questo esegue la scansione di tutti i volumi elencati in /etc/crypttab e dopo aver richiesto la passphrase
crea i rispettivi file di device nella directory /dev. I volumi già registrati sono saltati, quindi è possibile ripeterepiù volte questo comando senza preoccupazioni. Se la registrazione avviene con successo è possibile montare ivolumi nel modo consueto:# mount /mount_point• Se alcuni dei volumi che contengono file non critici per il sistema non possono essere montati (/usr o /var)
l’avvio dovrebbe continuare e dovrebbe essere possibile montare i volumi manualmente con la stessa procedura
descritta al punto precedente. Inoltre è necessario anche (ri)avviare tutti i servizi che sono normalmente in
esecuzione nel runlevel predefinito dato che, molto probabilmente, non sono partiti. Il modo più semplice perfare questa operazione è riavviare il computer.

7.3

Accesso

Dopo il riavvio del sistema verrà mostrato il prompt di login. Accedere usando il nome utente e la password che è
stata scelti durante il processo d’installazione. Il sistema è ora pronto per essere adoperato.
Se si fosse un nuovo utente si potrebbe voler esaminare la documentazione che è già stata installata nel proprio
sistema al momento in cui si inizia ad adoperarlo. Attualmente ci sono diversi sistemi di documentazione, il lavoro
consiste nell’integrazione dei diversi tipi di documentazione. Ecco qualche punto di partenza.
La documentazione allegata ai programmi che sono stati installati può essere trova in /usr/share/doc/,
all’interno di una sottodirectory chiamata come il programma (oppure, più precisamente, come il pacchetto Debianche contiene il programma). In alcuni casi, della documentazione molto più dettagliata è contenuta in pacchetti separati
e specializzati per la documentazione che non vengono normalmente installati. Ad esempio, la documentazione sullo
strumento di gestione dei pacchetti apt può essere trova nei pacchetti apt-doc e apt-howto.
Inoltre ci sono alcune cartelle speciali nella gerarchia di /usr/share/doc/. Gli HOWTO di Linux sono
installati nel formato .gz (compresso), in /usr/share/doc/HOWTO/en-txt/. Dopo avere installato dhelp
si troverà un indice adatto alla navigazione della documentazione in /usr/share/doc/HTML/index.html.
Un modo semplice per consultare questi documenti tramite un browser testuale è quello di eseguire i seguenti
comandi:$ cd /usr/share/doc/$ w3m .

Il punto dopo il comando w3m indica di mostrare il contenuto della directory corrente.
Se è installato un ambiente desktop grafico allora è anche possibile usare il browser web di tale ambiente. Avviare
il browser web dal menu applicazioni e poi inserire /usr/share/doc/ nella barra degli indirizzi.
Si può anche usare info comando o man comando per consultare la documentazione della maggior partedei comandi disponibili dalla riga di comando. Digitando help mostrerà un aiuto sui comandi della shell, scrivendo
un comando seguito da --help farà comparire un breve riassunto sull’uso del comando. Se il risultato di un comando
risultasse di essere passato oltre l’inizio dello schermo, digitare | more dopo il comando affinché i risultati si fermino
prima di scorrere oltre la parte alta dello schermo. Per vedere un elenco di tutti i comandi disponibili che cominciano
con una data lettera, scrivere la lettera seguita da due tabulatori.

53

Capitolo 8

Passi successivi e cosa fare adesso
8.1

Arresto del sistema

Per arrestare un sistema Debian GNU/Linux non si deve riavviare la macchina con il pulsante reset sul computerné spengere il computer. Debian GNU/Linux dovrebbe essere spento in modo controllato altrimenti si potrebbero
perdere dei file e/o si rischia di danneggiare il disco. In un ambiente desktop solitamente è disponibile nel menu delleapplicazioni l’opzione per il «log out» che permette anche di spengere (o riavviare) il sistema.
In alternativa è possibile premere la combinazione di tasti Ctrl-Alt-Canc. Se le combinazioni di tasti non funzionano, è possibile fare il login come root ed eseguire uno dei seguenti comandi: reboot per riavviare il sistema, halt
per arrrestare il sistema senza spegnerlo¹. Per spegnere la macchina usare poweroff oppure shutdown -h now. Il
sistema init systemd fornisce anche altri comandi per la effettuare la stessa operazione; per esempio systemctl reboot
oppure systemctl poweroff.

8.2

Orientarsi in Debian

Debian è leggermente diversa dalle altre distribuzioni. Anche se si ha familiarità con altre distribuzioni Linux, ci sono
degli aspetti di Debian che è necessario conoscere per mantenere il proprio sistema in ordine. Questo capitolo contiene
informazioni per orientarsi, non vuole essere un manuale su come usare Debian ma solo una breve panoramica delsistema per i frettolosi.

8.2.1

Sistema di gestione dei pacchetti Debian

Il concetto più importante da apprendere è il sistema di pacchetti Debian. Essenzialmente le principali parti delproprio sistema si devono considerare sotto il controllo del sistema di pacchetti. Queste includono:• /usr (a esclusione di /usr/local)• /var (si può creare /var/local ed essere al sicuro)• /bin• /sbin• /libPer esempio, se si sostituisce /usr/bin/perl con un altro funzionante, e poi si aggiorna il pacchetto perl, il
file che si è cambiato viene sovrascritto. Gli esperti aggirano questo problema bloccando («hold») i pacchetti tramite
aptitude.
Uno dei migliori metodi di installazione è apt. Si può usare la versione a riga di comando di apt oppure strumenticome aptitude o synaptic (che sono delle interfacce grafiche per apt). Notare che apt permette anche di unire main,
contrib, non-free e non-free-firmware in modo da avere sia i pacchetti con restrizioni (che per rigore non appartengonoa Debian) che i pacchetti di Debian GNU/Linux allo stesso tempo.
¹Con il sistema init SysV i comandi halt e poweroff avevano lo stesso effetto, invece con il sistema init systemd (predefinito da jessie in poi)danno un risultato diverso.

54

CAPITOLO 8. PASSI SUCCESSIVI E COSA FARE …

8.2.2

8.3. ULTERIORI LETTURE E INFORMAZIONI

Gestione delle versioni alternative di una applicazione

Le versioni alternative delle applicazioni sono gestite da update-alternatives. Se si gestiscono più versioni delleapplicazioni si consulti la pagina man di update-alternatives.

8.2.3

Altri programmi disponibili per Debian

Ci sono dei repository ufficiali e non-ufficiali che non sono attivati nella normale installazione di Debian. Tali repository contengono programmi che molti utenti ritengono importanti e che si aspettano di avere. Le informazioni su
questi repository addizionali possono essere trovate nella pagina del Wiki Debian intitolata The Software Available
for Debian’s Stable Release.

8.2.4

Gestione dei job di cronQualsiasi job sotto la supervisione dell’amministrazione di sistema dovrebbe essere all’interno di /etc dato che sono
dei file di configurazione. Se si ha un job di cron da eseguire quotidianamente, settimanalmente o mensilmente lo
si deve inserire in /etc/cron.{daily,weekly,monthly}, poi gli script in queste directory sono richiamati
da /etc/crontab ed eseguiti in ordine alfabetico in modo da serializzarli.
Invece se si ha un job di cron che (a) deve essere eseguito da un utente speciale oppure (b) deve essere eseguito a orari o con una frequenza particolari si può usare /etc/crontab oppure (consigliato) /etc/cron.d/whatever. Questi particolari file hanno anche una un campo aggiuntivo che permette di stabilire l’account utente
con cui viene eseguito il job di cron.
In entrambi i casi si deve semplicemente modificare i file e cron si accorgerà automaticamente dei cambiamenti,
non c’è bisogno di eseguire un comando speciale. Per maggiori informazioni si consulti cron(8), crontab(5) e /usr/
share/doc/cron/README.Debian.

8.3

Ulteriori letture e informazioni

Il sito web Debian contiene una gran quantità di documentazione su Debian. In particolare si consultino le FAQ di
Debian GNU/Linux e la Debian Reference. Un elenco della documentazione disponibile per Debian è disponibile
nella pagina del progetto di documentazione Debian. È la comunità Debian a supportare se stessa, per iscriversi a unao più delle mailing list Debian si consulti la pagina d’iscrizione alle mailing list. Infine gli archivi delle mailing list
Debian contengono una quantità enorme di informazioni su Debian.
Se sono necessarie delle informazioni su un particolare programma si dovrebbe prima provare con man programma
oppure con info programma.
Molta documentazione è disponibile in /usr/share/doc. In particolare /usr/share/doc/HOWTO e/usr/share/doc/FAQ contengono molte informazioni interessanti. Per segnalare dei bug si consulti /usr/
share/doc/debian/bug*. Per conoscere le peculiarità di un programma specifiche per Debian si consulti/usr/share/doc/(nome pacchetto)/README.Debian.
Una fonte di informazioni su GNU/Linux è il Linux Documentation Project. Vi si possono trovare gli HOWTO
e i riferimenti ad altre informazioni molto preziose sulle parti di un sistema GNU/Linux.
Linux è una realizzazione di Unix. Il Linux Documentation Project (LDP) raccoglie parecchi HOWTO e libri
online tutti riguardanti Linux.
Se non si ha familiarità con Unix probabilmente si dovrà uscire per comprare e leggere qualche libro. Questo
elenco di FAQ su Unix contiene parecchi documenti UseNet di valore storico.

8.4

Configurazione del sistema per la posta elettronica

Oggi l’email è una parte molto importante nella vita di molte persone. Ci sono molte opzioni da impostare; è molto
importante che la posta sia configurata correttamente per alcuni programmi di utilità Debian; in questa sezione sono
spiegati i concetti di base.
Un sistema di posta elettronica è composto da tre funzioni principali. La prima è il Mail User Agent (MUA), cioè
il programma usato dagli utenti per scrivere e leggere la posta. Poi c’è un Mail Transfer Agent (MTA) che si occupadel trasferimento dei messaggi da un computer a un altro. Infine c’è un Mail Delivery Agent (MDA) che si occupadella consegna della posta in arrivo nelle caselle degli utenti.
Queste tre funzioni possono essere svolte da programmi diversi ma possono essere anche concentrate in uno o due
programmi. È anche possibile che ognuna di queste funzioni sia svolta da programmi diversi a seconda della tipologia
di posta.
55

CAPITOLO 8. PASSI SUCCESSIVI E COSA FARE …

8.4. CONFIGURAZIONE DEL SISTEMA PER LA …

Storicamente sui sistemi Linux e Unix un MUA molto popolare è mutt che, come la maggioranza dei programmiLinux tradizionali, è testuale. Spesso viene usato in combinazione con exim o sendmail come MTA e con procmailcome MDA.
Con la crescente popolarità dei sistemi desktop grafici, l’uso di programmi di posta elettronica grafici come evolution per GNOME, kmail per KDE o thunderbird di Mozilla sta diventando molto comune. Questi programmi combinano le funzioni di MUA, MTA e MDA, ma possono essere, e spesso sono, usati in combinazione con i tradizionali
strumenti Linux.

8.4.1

Configurazione predefinita della posta elettronica

Anche se si vuole usare un programma di posta grafico è utile che sul proprio sistema Debian GNU/Linux sia installato
e configurato correttamente anche un MTA/MDA tradizionale. Il motivo è che molte utilità in esecuzione sul sistema²
usano la posta elettronica per inviare degli avvisi all’amministratore di sistema su (potenziali) problemi o modifiche.
Per questa ragione è possibile installare exim4 e mutt con apt install exim4 mutt. exim4 combina MTA e
MDA, inoltre è relativamente piccolo e molto flessibile. Con la configurazione predefinita gestisce soltanto la posta
locale al sistema e le email indirizzate all’amministratore (l’account root) sono consegnate all’utente normale creato
durante l’installazione³.
Alla consegna, le email di sistema vengono aggiunte a un file in /var/mail/nome_account e possono essere
lette con mutt.

8.4.2

Invio di email all’esterno del sistema

Come detto in precedenza, dopo l’installazione, il sistema Debian è configurato solo per gestire la posta locale, non
per l’invio e la ricezione della posta verso e da altri sistemi.
Se si vuole che exim4 gestisca la posta esterna, si consulti la prossima sezione nella quale sono illustrate leopzioni di configurazione disponibili. Si consiglia di fare delle prove per essere sicuri che la posta sia inviata e ricevuta
correttamente.
Se si vuole usare un programma di posta grafico e un server di posta fornito dal proprio ISP (Internet Service
Provider) o dalla propria azienda, non è necessario configurare exim4 per la gestione della posta esterna. È sufficiente
configurare il proprio programma grafico di posta preferito in modo che usi i server corretti per inviare e ricevere leemail (questa configurazione non rientra nello scopo di questa guida).
Purtroppo, in questo caso, potrebbe essere necessario configurare i singoli programmi di utilità per l’invio delleemail. Una di queste utilità è reportbug, un programma che semplifica l’invio di una segnalazione di bug nei pacchetti
Debian, infatti la sua configurazione predefinita si aspetta di poter usare exim4 per la spedizione della segnalazione.
Per configurare reportbug in modo che usi un server di posta esterno usare il comando reportbug --configure erispondere «no» alla domanda se è disponibile un MTA. Così facendo viene chiesto di specificare il server SMTP dausare per inviare le segnalazioni di bug.

8.4.3

Configurazione del MTA (Mail Transport Agent) Exim4

Se si vuole che il proprio sistema gestisca anche posta elettronica esterna, è necessario configurare il pacchetto exim4⁴:# dpkg-reconfigure exim4-config

Con questo comando (da root), viene chiesto se si vuole spezzare la configurazione in più file. In caso di dubbi
usare la risposta predefinita.
Poi vengono mostrati diversi scenari di posta molto comuni. Selezionare il tipo di configurazione che meglio
rispecchia le proprie esigenze.
sito internet Il sistema è connesso a una rete e la posta viene spedita e ricevuta direttamente con SMTP. Nelle
schermate successive verranno poste altre domande per la configurazione, quali il nome di posta della macchina
o un elenco di domini per i quali possa essere accettata o inoltrata la posta.
posta inviata tramite uno smarthost In questo scenario la posta in uscita viene inoltrata ad un’altra macchina chiamata «smarthost», che si occupa della reale consegna del messaggio ai destinatari. Uno smarthost di solito²Per esempio: cron, quota, logcheck, aide, …
³L’inoltro della posta indirizzata a root verso un utente normale si configura in /etc/aliases. Se non è stato creato un utente normale, laposta viene consegnata direttamente all’account root.
⁴Ovviamente si può anche rimuovere exim4 e installare al suo posto altri MTA/MDA.

56

CAPITOLO 8. PASSI SUCCESSIVI E COSA FARE …

8.5. COMPILAZIONE DI UN NUOVO KERNEL

conserva la posta in arrivo indirizzata al computer destinatario, pertanto questo non dovrà essere permanentemente connesso alla rete. Ciò significa che bisognerà scaricare la posta dallo smarthost tramite programmi
come fetchmail.
In parecchi casi lo smarthost è il server di posta del proprio ISP, questa opzione è particolarmente adatta agli
utenti dial-up. Lo smarthost può anche essere il server di posta aziendale oppure un altro sistema connesso alla
propria rete.
posta inviata tramite uno smarthost; niente posta locale Questo scenario è simile al precedente ma con una eccezione: il sistema non è configurato per gestire posta per il dominio locale. La posta di sistema (cioè quella
per l’amministratore) viene comunque gestita.
solo consegna locale Questa è la configurazione predefinita del proprio sistema.
nessuna configurazione per il momento Questa opzione può essere selezionata soltanto se si è assolutamente sicuri
di ciò che si sta facendo. Fino a quando non viene configurato, il sistema di posta non funziona e non può
spedire né ricevere messaggi inoltre potrebbero andare perse delle importanti segnalazioni da parte delle utilitàdi sistema.
Se nessuno di questi scenari rispecchiasse le proprie necessità, oppure se servisse una configurazione più accurata,
è necessario modificare, al termine dell’installazione, i file di configurazione posti nella directory /etc/exim4.
Ulteriori informazioni su exim4 sono reperibili in /usr/share/doc/exim4; nel file README.Debian.gz
sono contenuti dei dettagli riguardo la configurazione di exim4 e indica dove trovare altra documentazione.
Si noti che se non si dispone di un dominio ufficiale e si invia la propria posta direttamente su Internet, può
accadere che la propria posta sia rifiutata dal server destinatario come misura anti-spam; si deve preferire l’uso delserver di posta del proprio ISP. Invece, se si invia direttamente la posta, potrebbe interessare come usare un indirizzo
email diverso da quello generato automaticamente. Se si usa exim4 come MTA, è possibile aggiungere una voce in/etc/email-addresses.

8.5

Compilazione di un nuovo kernel

Perché qualcuno dovrebbe compilarsi un nuovo kernel? Spesso non è necessario dato che il kernel inserito in Debiangestisce la maggior parte delle configurazioni.
Ovviamente chi vuole compilare il proprio kernel può comunque farlo, si raccomanda l’uso di «make deb-pkg».
Per ulteriori informazioni consultare il Debian Linux Kernel Handbook.

8.6

Recupero di un sistema danneggiato

Purtroppo può capitare che qualcosa vada storto e il sistema che è stato accuratamente installato non sia più avviabile.
È possibile che si sia danneggiata la configurazione del boot loader durante un aggiornamento oppure che un nuovo
kernel non si avvii oppure che dei raggi cosmici abbiano colpito il disco fisso e alcuni bit in /sbin/init siano
impazziti. A prescindere dalla causa è necessario avere un sistema funzionante per riparare il sistema originale, inquesto caso può essere utile la modalità di ripristino.
Per attivare la modalità di ripristino scegliere rescue dal menu oppure inserire rescue al prompt boot: oppure avviare usando il parametro rescue/enable=true. Verranno mostrate le prime schermate dell’installatore
con una nota in un angolo che indica si sta usando la modalità di ripristino e non quella d’installazione. Il sistema
non verrà sovrascritto! La modalità di ripristino si avvale delle funzionalità per il riconoscimento dell’hardware presenti nell’installatore in modo da permettere l’uso dei dischi, dei dispositivi di rete, ecc. mentre si cerca di riparare ilsistema.
Al posto del programma di partizionamento viene mostrato un elenco delle partizioni sul sistema e viene chiesto
di sceglierne una. Normalmente si sceglie la partizione che contiene il filesystem di root che si vuole riparare. Si
possono scegliere le partizioni su device RAID e LVM ma anche quelle create direttamente sui dischi.
Se possibile l’installatore fornisce una shell sul filesystem che si è scelto, questa shell può essere usata per effettuarequalsiasi operazione necessaria al ripristino.
Se l’installatore non è in grado di fornire una shell usabile nel file system che si è scelto come root forse il filesystem è corrotto e dopo aver dato un avviso viene invece fornita una shell nell’ambiente dell’installatore. In questo
ambiente non sono disponibili molti strumenti ma dovrebbero essere comunque sufficienti per ripristinare il sistema.
Il file system che era stato scelto come quello di root viene invece montato sulla directory /target.
In entrambi i casi una volta chiusa la shell il sistema si riavvia automaticamente.

57

CAPITOLO 8. PASSI SUCCESSIVI E COSA FARE …

8.6. RECUPERO DI UN SISTEMA DANNEGGIATO

Si noti che riparare dei sistemi danneggiati può essere molto complicato e questo manuale non analizza tutti i
particolari che si possono danneggiare e come ripristinarli. Se non si sa cosa fare si consulti un esperto.

58Appendice A

Installation Howto
Questo documento descrive come installare Debian GNU/Linux bookworm su ARM 32 bit («armel») con il nuovo
installatore Debian. È una guida rapida al processo d’installazione che dovrebbe contenere tutte le informazioni necessarie per la maggioranza delle installazioni. Quando possono essere utili maggiori informazioni, èdisponibile un collegamento alla spiegazione più dettagliata nelle altri parti di questo documento.

A.1 Preliminari
Se durante l’installazione si scopre qualche bug, per favore si veda Sezione 5.4.5 per le istruzioni su come segnalarlo.
Se si hanno domande che non trovano risposta in questo documento, chiedere sulla mailing-list debian-boot (debianboot@lists.debian.org) o su IRC (#debian-boot sulla rete OFTC).

A.2 Avvio del programma d’installazione
Il team debian-cd si occupa della creazione delle immagini per l’installazione con installatore Debian e ledistribuisce sulla pagina Debian CD/DVD. Per ulteriori informazioni su dove procurarsi le immagini per l’installazione
consultare Sezione 4.1.
Alcuni metodi d’installazione richiedono altre immagini oltre a quelle dei supporti ottici. In Sezione 4.2.1 èspiegato come trovare le immagini sui mirror Debian.
Nei prossimi paragrafi ci sono informazioni dettagliate su quali immagini usare per ogni supporto d’installazione
possibile.

A.2.1

Disco ottico

L’immagine di CD per l’installazione da rete (netinst) può essere usata per installare bookworm con il installatore
Debian. Questo metodo d’installazione è stato creato per fare l’avvio dall’immagine per poi installare i pacchetti
aggiuntivi dalla rete, da qui il nome «installazione da rete». L’immagine contiene le componenti software necessarie
per eseguire l’installatore e i pacchetti di base per creare un sistema bookworm minimale. Se si preferisce è possibile
procurarsi l’immagine di un CD/DVD completo che non necessita della rete per effettuare l’installazione, serve solola prima immagine del set.
Scaricare l’immagine che si preferisce e masterizzarla su un disco ottico.

A.2.2

Avvio da reteÈ anche possibile avviare installatore Debian usando solamente la rete. I metodi per l’avvio da rete dipendono dall’architettura e dalla configurazione. I file in netboot/ possono essere usati per l’avvio dalla rete delinstallatore Debian.

A.2.3

Avvio da disco fissoÈ possibile far partire l’installatore senza usare un supporto rimovibile, ma solo un disco fisso esistente che puòanche ospitare un SO diverso. Scaricare hd-media/initrd.gz, hd-media/vmlinuz e una immagine dei
CD/DVD Debian nella directory principale del disco fisso, assicurarsi che il nome del file con l’immagine abbia
estensione .iso. Adesso si deve solamente avviare Linux con initrd.
59

APPENDICE A. INSTALLATION HOWTO

A.3. INSTALLAZIONE

A.3 Installazione
Una volta avviato l’installatore viene mostrata una schermata iniziale. Premere Invio per proseguire con l’installazione
oppure leggere le istruzioni sugli altri metodi e i parametri di avvio (si consulti Sezione 5.3).
Dopo un po’ viene richiesto di scegliere la lingua, usare i tasti cursore per selezionare una lingua e poi premere
Invio per proseguire. Poi viene richiesto di scegliere la nazione, potendo scegliere fra le nazioni in cui è parlata lalingua scelta in precedenza. Se l’elenco non comprende la propria nazione, è disponibile anche un elenco con tutti i
paesi del mondo.
Potrebbe essere richiesta la conferma della disposizione della tastiera, se non si sa cosa scegliere accettare il valorepredefinito.
Adesso si deve aspettare che il debian-installer rilevi l’hardware e che carichi i componenti e se stesso dall’immagine per l’installazione.
L’installatore cerca di rilevare automaticamente l’hardware per l’accesso alla rete e di configurarlo con DHCP. Se
non si è connessi a una rete o non si ha DHCP, è possibile configurare la rete manualmente.
La configurazione della rete è seguita dalla creazione degli account per gli utenti; di solito è necessario inserire la
password dell’account «root» (l’utente d’amministrazione) e le informazioni per creare l’account di un utente normale.
Se la password per «root» non viene specificata, tale account viene disabilitato e in seguito verrà installato pacchetto
sudo che permetterà di effettuare operazioni amministrative sul nuovo sistema. Al primo utente creato sul sistemasarà consentito l’uso del comando sudo per impersonare root.
Il passo successivo consiste nella configurazione dell’orologio e del fuso orario. L’installatore prova a contattare untime server su Internet per assicurarsi che l’orologio sia impostato con l’ora esatta. Il fuso orario è impostato in basealla nazione scelta in precedenza, l’installatore chiede di sceglierne uno solo se nella nazione ci sono più fusi orari.
Ora è il momento di partizionare i dischi. Per prima cosa viene proposto di partizionare in automatico l’intero
disco oppure il solo spazio libero disponibile (si veda Sezione 6.3.4.2). Questa procedura è quella più adatta per
gli utenti meno esperti e per coloro che hanno fretta, se non si desidera usare il partizionamento automatico si deve
scegliere manuale dal menu.
Nella schermata successiva è mostrata la tabella delle partizioni, come verranno formattare e dove verranno montate, selezionare una partizione per modificarla o rimuoverla. Se è stato fatto un partizionamento automatico allora
nel menu è possibile scegliere Terminare il partizionamento e scrivere i cambiamenti sul disco per confermare laconfigurazione proposta. Ricordarsi di assegnare almeno una partizione come spazio per lo swap e di montare una
partizione su /. Per avere informazioni più dettagliate su come utilizzare il programma per creare le partizioni, si
veda Sezione 6.3.4; l’appendice Appendice C contiene altre informazioni relative al partizionamento.
Adesso il installatore Debian formatta le partizioni e inizia l’installazione del sistema di base, questa
operazione richiede un po’ di tempo. Al termine viene installato il kernel.
Il sistema di base, installato in precedenza, è un sistema funzionante ma minimale. Per rendere il sistema più
funzionale il prossimo passo consiste nell’installazione di altri pacchetti tramite la scelta di task. Prima di poter
installare i pacchetti è però necessario configurare apt specificando da dove devono essere recuperati i pacchetti. Il
task «Sistema standard» è già selezionato e solitamente deve essere installato; il task «Ambiente desktop» mette adisposizione un desktop grafico al termine dell’installazione. Si veda Sezione 6.3.6.2 per altri dettagli su questa fase.
L’ultimo passo è installare un boot loader. Se l’installatore rileva la presenza di altri sistemi operativi sul computerè in grado di aggiungerli nel menu di avvio.
Infine installatore Debian comunica il termine dell’installazione, rimuovere il CDROM o qualsiasi altro
supporto sia stato usato per l’avvio e premere Invio per riavviare la macchina. Dovrebbe ripartire il sistema appena
installato con la richiesta di login, questa fase è descritta in Capitolo 7.
Se sono necessarie altre informazioni sul processo d’installazione si consulti Capitolo 6.

A.4 Invio di un resoconto d’installazione
Se è stato possibile eseguire con successo un’installazione con il installatore Debian, si spenda un minutodel proprio tempo per inviarci un resoconto. Il modo più semplice per inviare un rapporto d’installazione è installare ilpacchetto reportbug (apt install reportbug), configurarlo come spiegato in Sezione 8.4.2 ed eseguire il comando
reportbug installation-reports.
Se non si riesce a completare l’installazione probabilmente si è trovato un bug nel debian-installer. Per migliorarel’installatore è necessario farci conoscere questo problema e quindi si spenda un po’ del proprio tempo per inviarci
una segnalazione. Si può usare il modello per il resoconto dell’installazione anche per la segnalazione di bug; sel’installazione è completamente fallita si consulti Sezione 5.4.4.

60

APPENDICE A. INSTALLATION HOWTO

A.5. E PER FINIRE…

A.5 E per finire…
Ci auguriamo che l’installazione sia piacevole e che Debian sia utile. Si consiglia la lettura di Capitolo 8.

61Appendice B

Installazione automatica tramite
preconfigurazione
Questa appendice spiega come preconfigurare le risposte alle domande poste dal installatore Debian per
automatizzare la propria installazione.
I vari frammenti utilizzati in questa appendice sono disponibili anche nel file di preconfigurazione di esempio
https://www.debian.org/releases/bookworm/example-preseed.txt.

B.1

Introduzione

La preconfigurazione offre un modo per impostare le risposte alle domande poste durante l’installazione senza doverle
inserire manualmente. Questo permette di automatizzare completamente la maggior parte dei tipi d’installazione e
offre persino alcune funzionalità che non sono disponibili durante l’installazione tradizionale.
La preconfigurazione non è obbligatoria. Con un file di preconfigurazione vuoto, il programma d’installazione sicomporta allo stesso modo di una normale installazione manuale. Ogni domanda preconfigurata (se la preconfigurazione è corretta) modifica l’installazione rispetto a quella di base.

B.1.1

Metodi di preconfigurazione

Per la preconfigurazione si possono usare tre metodi: initrd, file e network. La preconfigurazione initrd funziona con
tutti i metodi d’installazione e consente la preconfigurazione di parecchie domande ma richiede la preparazione più
lunga. Le preconfigurazioni file e network si possono usare con metodi d’installazione diversi.
La tabella seguente mostra quali metodi di preconfigurazione possono essere usati con i vari metodi d’installazione.
Metodo d’installazione
CD/DVD/USB
netboot
hd-media

initrd
sì
sì
sì

file
sì
no
sì

networksì¹
sìsì¹

Una differenza importante fra i vari metodi di preconfigurazione è il momento in cui viene caricato e processato
il file di preconfigurazione. Nel caso della preconfigurazione con initrd avviene all’avvio dell’installazione, prima che
sia posta la prima domanda. L’effetto della preconfigurazione da riga di comando del kernel è immediato, quindi
è possibile sovrascrive le impostazioni di configurazione fatte nell’initrd modificando la riga di comando del kernel(nella configurazione del bootloader oppure manualmente al momento dell’avvio se il bootloader lo permette). Con
la preconfigurazione tramite file avviene dopo che è stata caricata l’immagine per l’installazione. Infine la preconfigurazione da rete ha effetti solo dopo la configurazione della rete.
¹Solo se si dispone di un collegamento in rete e se preseed/url è correttamente impostato.

62

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.2. USO DELLA PRECONFIGURAZIONEIMPORTANTE
Ovviamente qualsiasi domanda elaborata prima che venga caricato il file di preconfigurazione non può essere preconfigurata (tra cui quelle mostrate solo quando
la priorità è media o bassa, per esempio il primo riconoscimento dell’hardware).
Un modo non molto conveniente per evitare che queste domande siano poste è
preconfigurarle tramite i parametri di avvio, come descritto in Sezione B.2.2.
Per evitare facilmente le domande che sarebbero normalmente poste prima che
avvenga la preconfigurazione, è possibile avviare l’installatore in modalità «auto».
Infatti, in questa modalità le domande che sarebbero poste troppo presto per lapreconfigurazione (cioè la scelta di lingua, nazione e tastiera) sono rimandate finoa quando la rete è funzionante, in modo da consentirne la preconfigurazione; inoltre la priorità dell’installazione viene forzata ad alta, evitando parecchie domande
trascurabili. Si veda Sezione B.2.3 per i dettagli.

B.1.2

Limitazioni

Nonostante che la maggior parte delle domande poste da installatore Debian possa essere preconfigurata,
esistono delle eccezioni notevoli. Si deve partizionare l’intero disco oppure usare solo lo spazio libero sul disco; nonè possibile usare delle partizioni esistenti.

B.2

Uso della preconfigurazione

Le prime cose da fare sono creare un file di preconfigurazione e metterlo nella posizione da cui lo si vuole usare. La
creazione del file di preconfigurazione è trattata in seguito, invece lo spostamento del file è molto semplice per la preconfigurazione network o quando si vuole leggere il file da una chiavetta USB. Invece per inserire il file in un’immagine
ISO per l’installazione è necessario masterizzare una nuova immagine. Come preparare il file di preconfigurazione
per initrd è fuori dagli scopi di questo documento, si consulti la documentazione del installatore Debian per
gli sviluppatori.
Un file di preconfigurazione di esempio, che può essere usato come base per il proprio file di preconfigurazione
è disponibile in https://www.debian.org/releases/bookworm/example-preseed.txt. Questo
file è creato partendo dai frammenti utilizzati in questa appendice.

B.2.1

Caricamento del file di preconfigurazione

Se si utilizza la preconfigurazione initrd, bisogna assicurarsi solo che il file preseed.cfg si trovi nella directory
principale del initrd. L’installatore automaticamente verifica se questo file è presente e lo carica.
Per gli altri metodi di preconfigurazione è necessario specificare durante l’avvio dell’installatore quale file usare.
Normalmente questo può essere fatto passando al kernel un determinato parametro d’avvio, manualmente durante
l’avvio oppure tramite il file di configurazione del boot loader (p.e. syslinux.cfg) aggiungendo il parametro alla
fine delle righe «append» per il kernel.
Se si specifica un file di preconfigurazione nella configurazione del boot loader, è possibile modificare la configurazione in modo che non sia necessario premere Invio per avviare l’installazione. Con syslinux si può ottenere questo
risultato impostando il timeout a 1 in syslinux.cfg.
Per essere sicuri che l’installatore usi il file di preconfigurazione corretto si può, opzionalmente, specificare
una checksum per il file. Attualmente la checksum deve essere di tipo md5sum e, se viene specificata, il file dipreconfigurazione la deve verificare altrimenti l’installatore non userà quel file.
Parametri di avvio da specificare:- con avvio da rete:preseed/url=http://host/percorso/di/preseed.cfg
preseed/url/checksum=5da499872becccfeda2c4872f9171c3d- oppure
preseed/url=tftp://host/path/to/preseed.cfg
preseed/url/checksum=5da499872becccfeda2c4872f9171c3d- con avvio da un’immagine per l’installazione masterizzata:

63

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.2. USO DELLA PRECONFIGURAZIONE

preseed/file=/cdrom/preseed.cfg
preseed/file/checksum=5da499872becccfeda2c4872f9171c3d- con installazione da un supporto USB (mettere il file di preconfigurazione
nella directory principale della chiavetta USB):
preseed/file=/hd-media/preseed.cfg
preseed/file/checksum=5da499872becccfeda2c4872f9171c3d

Notare che quando preseed/url, preseed/file e preseed/file/checksum sono passati comeparametri di avvio possono essere abbreviati rispettivamente con url, file e preseed-md5.

B.2.2

Uso dei parametri di avvio per la preconfigurazione

Anche se un file di preconfigurazione non può essere usato per preconfigurare alcuni passi, l’installazione può avvenire
ugualmente in modo completamente automatico dato che è possibile passare i valori di preconfigurazione tramite lariga di comando all’avvio dell’installatore.
I parametri di avvio possono essere usati anche per impostare le risposte ad alcune domande senza usare lapreconfigurazione. In questo manuale ci sono esempi in cui questa funzionalità è particolarmente utile.
Per impostare un valore da usare all’interno di installatore Debian è sufficiente passare percorso/alla/variabile=per qualsiasi variabile di preconfigurazione mostrata negli esempi di questa appendice. Se un valore deve essere usato
per configurare dei pacchetti sul sistema installato è necessario inserire come prefisso il proprietario² della variabile inquesto modo proprietario:percorso/alla/variabile=valore. Se non si specifica il proprietario, il valoredella variabile non viene copiato nel database di debconf sul sistema installato e quindi non può essere usato durante
la successiva configurazione del relativo pacchetto.
Normalmente una domanda preconfigurata non viene posta. Per impostare la risposta predefinita a una domanda
e far in modo che la domanda sia comunque posta, usare l’operatore «?=» al posto di «=». Si veda Sezione B.5.2.
Alcune delle variabili che più frequentemente sono impostate dal prompt boot dispongono di un’abbreviazione.
Negli esempi contenuti in questa appendice è usata, quando disponibile, l’abbreviazione al posto della variabile completa. Per esempio alla variabile preseed/url è stato assegnato l’alias url. Un altro esempio è l’alias tasks che
viene tradotto in tasksel:tasksel/first.
L’uso di «---» nelle opzioni d’avvio ha un significato speciale, i parametri del kernel che seguono l’ultimo «---»
potrebbero essere copiati nella configurazione del bootloader nel sistema installato (solo se il boot loader è supportato
dall’installatore). L’installatore filtra qualsiasi opzione (come le opzioni di preconfigurazione) che riesce a riconoscere.

NOTA
Gli attuali kernel linux (2.6.9 e successivi) accettano al massimo 32 opzioni sullariga di comando e 32 opzioni d’ambiente, comprese quelle aggiunte dal sistema
d’installazione. Nel caso si superino questi limiti il kernel si blocca. Le versioni
precedenti del kernel accettano un numero inferiore di opzioni.
Nella maggior parte dei casi alcune delle opzioni predefinite nel file di configurazione del boot loader, come
vga=normal possono essere tranquillamente rimosse per permettere l’aggiunta di ulteriori opzioni di preconfigurazione.

NOTA
Non sempre potrebbe essere possibile specificare valori con spazi come parametrod’avvio, persino se si delimitano con delle virgolette.

²Il proprietario di una variabile debconf (o modello) è normalmente il nome del pacchetto che contiene il corrispondente modello. Le variabili usate all’interno dell’installatore hanno come proprietario «d-i». I modelli e le variabili possono avere più di un proprietario, questo aiuta a
determinare in quali casi possono essere eliminati dal database di debconf quando il pacchetto viene rimosso.

64

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.2.3

B.2. USO DELLA PRECONFIGURAZIONE

Modalità «auto»

Ci sono alcune funzionalità di Debian Installer che combinate insieme permettono di ottenere installazioni automatichee personalizzate (anche molto complesse) semplicemente passando delle righe di comando al prompt boot.
Per attivare queste funzionalità si deve scegliere Automated install dal menu di avvio, su alcune architetture e in alcuni metodi di avvio è chiamato auto. Quindi, in questa sezione, auto non è un parametro ma si
riferisce alla voce nel menu di avvio che poi deve essere seguita dai parametri di avvio.
Per illustrare queste funzionalità sono riportati alcuni esempi su come possono essere usate dal prompt boot:auto url=autoserver

Questa funzionalità assume la presenza di un server DHCP che indichi alla macchina un server DNS per risolvere
autoserver, eventualmente aggiungendo il dominio locale se fornito dal DHCP. Se questa funzione è usata su una
macchina del dominio esempio.com e se il DHCP è configurato correttamente allora il file di preconfigurazione
viene recuperato da http://autoserver.esempio.com/d-i/bookworm/./preseed.cfg.
L’ultima parte dell’URL (d-i/bookworm/./preseed.cfg) è impostata in auto-install/defaultroot,
il cui valore predefinito contiene la directory bookworm per permettere alle versioni successive di specificare il
proprio nome in codice e quindi permettere migrazioni future in modo controllato. Il /./ viene usato per indicare la directory principale relativamente a cui le restanti parti del percorso possono essere ancorate (da usarsi in preseed/include e preseed/run); questo permette di specificare file sia come URL completi, come percorsi
inizianti con / e quindi ancorati oppure come percorsi relativi dalla posizione in cui è stato trovato l’ultimo file
di preconfigurazione. Questo può essere usato per costruire script più portabili, dove l’intera gerarchia di scriptpuò essere spostata in una nuova posizione senza comprometterne il funzionamento, per esempio copiando i file in una chiavetta USB quando in precedenza erano ospitati da server web. In questo esempio, se il file di preconfigurazione imposta preseed/run al valore /scripts/late_command.sh, il file viene prelevato da
http://autoserver.esempio.com/d-i/bookworm/./scripts/late_command.sh.
Se non esiste un’infrastruttura DHCP o DNS locale oppure se non si vuole usare il percorso predefinito per ilfile preseed.cfg, è comunque possibile usare un URL esplicita oppure, quando non si usa l’elemento /./, viene
ancorata al punto di partenza del percorso (cioè al terzo / nella URL). Segue un esempio che richiede un minimo
supporto da parte della rete locale:auto url=http://192.168.1.2/percorso/di/mypreseed.file

Il modo in cui funziona è questo:• quando manca il protocollo nella URL, viene assunto http;• se la sezione per il nome host non contiene dei punti, viene aggiunto il dominio indicato da DHCP;• se dopo il nome host non ci sono /, viene usato il percorso predefinito.
Oltre l’URL è possibile specificare anche altre impostazioni che non influenzano direttamente il comportamentodel installatore Debian ma che possono essere passate a un qualsiasi script specificato con preseed/run
all’interno del file di preconfigurazione. Al momento l’unico esempio di questa caratteristica è auto-install/classes(che dispone dell’alias classes) e può essere usato in questo modo:
auto url=esempio.com classes=classe_A;classe_B

Le classi possono, per esempio, indicare il tipo di sistema da installare oppure la localizzazione da usare.
Ovviamente è possibile estendere questo concetto e, nel caso, è ragionevole usare il namespace auto-install, usando
nei propri script qualcosa di simile a auto-install/style. Se si necessitasse questa possibilità si consiglia di
inviare una segnalazione alla mailing list debian-boot@lists.debian.org in modo da evitare conflitti nel namespace ed
eventualmente aggiungere un alias per i nuovi parametri.
La possibilità di scegliere all’avvio auto non è ancora disponibile su tutte le architetture. È possibile ottenere lo
stesso effetto semplicemente aggiungendo i parametri auto=true priority=critical nella riga di comando
per il kernel. Il parametro del kernel auto è un alias di auto-install/enable e se impostato a true ritarda ledomande su localizzazione e tastiera fino a quando non è data la possibilità di preconfigurarle, mentre l’impostazione
priority è un alias di debconf/priority e impostarla a critical blocca la richiesta di qualsiasi domanda
con priorità inferiore.
Altre opzioni che possono risultare utili quando si cerca di automatizzare un’installazione con DHCP sono:interface=auto netcfg/dhcp_timeout=60 che indica alla macchina di usare il primo dispositivo direte attivo e di essere un po’ più paziente durante l’attesa della risposta all’interrogazione DHCP.

65

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.2. USO DELLA PRECONFIGURAZIONESUGGERIMENTO
Un esempio esaustivo su come utilizzare questa infrastruttura, compresi degli script
e delle classi d’esempio, può essere trovato sul sito web dello sviluppatore. Sono disponibili anche altri esempi che mostrano come, usando in modo creativo lapreconfigurazione, si possono ottenere molti altri interessati effetti.

B.2.4

Alias utilizzati nella preconfigurazione

I seguenti alias possono risultare utili quando si usa la preconfigurazione (in modalità auto). Notare che questi sono
semplicemente degli alias più brevi per i nomi delle domande e che è sempre necessario specificare anche un valore,
per esempio auto=true o interface=eth0.
priorityfb
autoclasses
file
url
theme
languagecountry
localekeymapmodulesfirmwareinterfacedomainhostname
protocolsuite
recommends
tasks
desktoppreseed-md5

B.2.5

debconf/priority
debian-installer/framebuffer
auto-install/enableauto-install/classes
preseed/file
preseed/url
debian-installer/theme
debian-installer/language
debian-installer/country
debian-installer/locale
keyboard-configuration/xkb-keymap
anna/choose_modules
hw-detect/firmware-lookup
netcfg/choose_interface
netcfg/get_domain
netcfg/get_hostname
mirror/protocol
mirror/suitebase-installer/install-recommends
tasksel:tasksel/firsttasksel:tasksel/desktop
preseed/file/checksum

Esempi di preconfigurazione del prompt di avvio

Seguono alcuni esempi su come potrebbe cambiare l’aspetto del prompt di avvio (è necessario adattare gli esempi alle
proprie esigenze).
# Per impostare Francese come lingua e Francia come paese:/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=fr ←country=FR --- quiet# Per impostare Inglese come lingua, Germania come paese e Tedesco come# disposizione della tastiera:/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=en ←country=DE locale=en_US.UTF-8 keymap=de --- quiet# Per installare il desktop MATE:/install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz desktop=mate- ←desktop --- quiet# Per installare il task web-server:/install.amd/vmlinuz initrd=/install.amd/initrd.gz tasksel:tasksel/first=web- ←server ---66

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.2.6

B.3. CREAZIONE DI UN FILE DI …

Uso di un server DHCP per specificare un file di preconfigurazione

È possibile usare anche DHCP per indicare un file di preconfigurazione da scaricare dalla rete, questo è possibile
perché DHCP consente il passaggio del nome di un file fra server e client. Normalmente il file specificato è quello perl’avvio dalla rete, però se al suo posto è inserito un URL allora il programma d’installazione scarica il file dall’URL e
lo usa come un file di preconfigurazione. Segue un esempio di come deve essere impostato il file dhcpd.conf per laversione 3 del server DHCP di ISC (il pacchetto Debian isc-dhcp-server).
if substring (option vendor-class-identifier, 0, 3) = ”d-i” {filename ”http://host/preseed.cfg”;}

Notare che l’esempio precedente limita la specifica del nome del file ai soli client DHCP che si identificano come«d-i», quindi ha effetto solo sul programma d’installazione e non influenza i normali client DHCP. Si può anche mettere
il testo in una sezione del file di configurazione in modo che sia usata da un solo host per impedire la preconfigurazione
di tutte le macchine che si installano sulla propria rete.
Un modo corretto per usare la preconfigurazione tramite DHCP è preconfigurare i soli valori specifici della propria
rete, per esempio quale mirror Debian usare. In questo modo tutte le installazioni fatte sulla propria rete hanno già
attivo un buon mirror, ma il resto della configurazione deve essere fatto interattivamente. L’uso della preconfigurazione
tramite DHCP per fare la completa configurazione delle installazioni Debian deve essere fatto con molta cautela.

B.3

Creazione di un file di preconfigurazione

Il file di preconfigurazione ha lo stesso formato utilizzato dal comando debconf-set-selections. Il formato generico
di una riga del file di preconfigurazione è:<proprietario> <nome domanda> <tipo domanda> <valore>

Il file deve iniziare con #_preseed_V1
Ci sono alcune regole da rispettare quando si scrive un file di preconfigurazione.
• Inserire un singolo spazio o un solo tab fra tipo e valore: ogni ulteriore spazio viene interpretato come appartenente al valore.
• Una riga può essere spezzata su più righe aggiungendo un backslash («\») come carattere di continuazione dellariga. Un buon punto in cui spezzare una riga è dopo il nome della domanda; invece un punto pessimo è fra il
tipo e il valore. Le righe spezzate sono ricomposte in un’unica riga nella quale tutti gli spazi bianchi in testa e
in coda sono condensati in un solo spazio.
• Le variabili debconf (modelli) usate solo nell’installatore stesso devono avere come proprietario «d-i»; perpreconfigurare le variabili usate nel sistema installato, si deve usare il nome del pacchetto che contiene il corrispondente modello debconf. Solo le variabili che hanno un proprietario diverso da «d-i» saranno propagate
al database debconf del sistema installato.
• La maggior parte delle domande deve essere preconfigurata usando i valori validi per la lingua inglese e nonusando i valori tradotti. Comunque, esistono delle domande (per esempio in partman) in cui è necessariousare i valori tradotti.
• Alcune domande accettano come valore un codice anziché il testo in inglese mostrato durante l’installazione.
• Iniziare con #_preseed_V1• Un commento consiste di una riga che inizia con il carattere cancelletto («#») e si estende per tutta la lughezzadella riga.
Il modo più semplice per creare un file di preconfigurazione è usare il file di preconfigurazione d’esempio in
Sezione B.4 come base per il proprio lavoro.
Un metodo alternativo è effettuare un’installazione manuale e poi, dopo il riavvio, usare il comando debconf-getselections, contenuto nel pacchetto debconf-utils, per riversare in un unico file il contenuto del database didebconf e del database di cdebconf:$ echo ”#_preseed_V1” > file$ debconf-get-selections --installer >> file$ debconf-get-selections >> file67

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4. CONTENUTO DEL FILE DI …

Comunque un file generato in questa maniera ha delle voci che potrebbero non essere preconfigurate; il file d’esempio è decisamente un punto di partenza migliore per la maggior parte degli utenti.

NOTA
Questo metodo si basa sul fatto che, al termine dell’installazione, il database
di cdebconf è salvato nel sistema appena installato in /var/log/installer/
cdebconf. Poiché questo database può contenere delle informazioni sensibili ifile sono leggibili solo da root.
La directory /var/log/installer e tutti i file in essa contenuti sono cancellati
dal sistema quando di elimina il pacchetto installation-report.
Per verificare quali sono i valori validi per una domanda si può usare nano per esaminare, quando l’installazione èin corso, i file in /var/lib/cdebconf. In templates.dat ci sono i modelli e in questions.dat ci sono
gli attuali valori e i valori assegnati alle variabili.
Per verificare se il formato del proprio file di preconfigurazione è valido prima di effettuare un’installazione si può
usare il comando debconf-set-selections -c preseed.cfg .

B.4

Contenuto del file di preconfigurazione (per bookworm)

I vari frammenti utilizzati in questa appendice sono disponibili anche nel file di preconfigurazione di esempio https://www.debian.org/releases/bookworm/example-preseed.txt.
Si noti che l’esempio è valido per l’installazione sull’architettura Intel x86. Se si vuole fare l’installazione su
un’architettura diversa alcuni degli esempi (come la scelta della tastiera e l’installazione del boot loader) potrebbero
non essere corretti e devono essere sostituiti con le impostazioni per debconf adatte alla propria architettura.
I dettagli su come effettivamente funzionano i componenti dell’installatore possono essere trovati in Sezione 6.3.

B.4.1

Localizzazione

L’impostazione dei valori legati alla localizzazione funziona solo se si usa la preconfigurazione initrd. Con tutti gli
altri metodi il file di preconfigurazione viene caricato solo dopo che queste domande sono state poste. Le primissime domande poste durante la normale installazione riguardano la localizzazione quindi tali valori possono essere
preconfigurati solo tramite i metodi di preconfigurazione initrd oppure tramite i parametri d’avvio del kernel. La
modalità auto (Sezione B.2.3) implica l’impostazione di auto-install/enable=true (normalmente tramite
l’alias di preconfigurazione auto). Ciò rimanda il momento in cui sono poste le domande sulla localizzazione chequindi possono essere preconfigurate usando qualsiasi metodo.
Con «locale» si possono specificare lingua e nazione, può essere una qualsiasi combinazione fra una delle lingue
supportate da installatore Debian e uno dei paesi riconosciuti. Se la combinazione non forma un locale
valido, l’installatore sceglie automaticamente un altro locale valido per la lingua prescelta. Per specificare «locale» fra
i parametri di avvio utilizzare locale=it_IT .
Questo metodo è molto semplice da usare, però non permette di preconfigurare tutte le possibili combinazioni dilingua, nazione e locale³. In alternativa è possibile preconfigurare individualmente ciascun valore. Lingua e nazione
possono anche essere specificati tra i parametri d’avvio.
# Con la sola preconfigurazione di locale si impostano lingua, nazione# e locale.
d-i debian-installer/locale string it_IT# Per una maggiore flessibilità è possibile preconfigurare singolarmente# ciascun valore.
#d-i debian-installer/language string en#d-i debian-installer/country string NL#d-i debian-installer/locale string en_GB.UTF-8# Opzionalmente è possibile specificare ulteriori locale da generare.
#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8³La preconfigurazione di locale a en_NL comporta che il locale predefinito sul sistema installato sarà en_US.UTF-8. Se, per esempio,
si volesse usare en_GB.UTF-8, sarà necessario preconfigurare individualmente ciascun valore.

68

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4. CONTENUTO DEL FILE DI …

La configurazione della tastiera consiste nella scelta di una mappa di tastiera e (per le mappe non-latine) di un tasto
per passare dalla mappa di tastiera non-latina alla mappa US e vice versa. Durante l’installazione sono disponibili solo
le varianti basiche delle mappe di tastiera; le varianti più avanzate sono disponibili solo nel sistema dopo l’installazione
tramite dpkg-reconfigure keyboard-configuration.
# Selezione della tastiera.
d-i keyboard-configuration/xkb-keymap select it# d-i keyboard-configuration/toggle select No toggling

Per saltare la configurazione della tastiera si deve preconfigurare keymap con skip-config. Questo comporta
che la mappa di tastiera del kernel rimane attiva.

B.4.2

Configurazione della rete

Naturalmente, la preconfigurazione della configurazione delle rete non può funzionare se si sta caricando il file dipreconfigurazione dalla rete! Invece funziona se si sta avviando da disco ottico o da chiavetta USB. È anche possibile
passare i parametri di configurazione della rete sui parametri del kernel, se si stanno caricando file di preconfigurazione
dalla rete.
Se necessario è possibile scegliere una particolare interfaccia prima di caricare il file di preconfigurazione dallarete usando il parametro d’avvio interface=eth1.
Nonostante la preconfigurazione della rete non sia normalmente disponibile quando la preconfigurazione avviene
tramite la rete (usando «preseed/url»), può essere fatta comunque ricorrendo a un trucco; per esempio se si vuole
forzare un indirizzo statico per l’interfaccia di rete. Il trucco consiste nel forzare la ripetizione della configurazionedella rete dopo che il file di preconfigurazione è stato caricato creando uno script da eseguire tramite «preseed/run»contenente i seguenti comandi:kill-all-dhcp; netcfg

Le seguenti variabili debconf sono legate alla configurazione della rete.
# Disattiva completamente la configurazione della rete. Questa opzione# è utile durante le installazioni da cdrom su dispositivi che non sono
# in rete; in questo caso le domande riguardo la rete, gli avvertimenti# e le attese dei timeout sono solo una seccatura.
#d-i netcfg/enable boolean false# netcfg sceglierà, se possibile, un’interfaccia che abbia un collegamento.
# Questo evita la visualizzazione di una lista se è presente più di# un’interfaccia.
d-i netcfg/choose_interface select auto
# Oppure scegliere un’interfaccia ben precisa:#d-i netcfg/choose_interface select eth1
# Per impostare il tempo di attesa della rilevazione del collegamento# (il valore predefinito è 3 secondi). Valore espresso in secondi.
#d-i netcfg/link_wait_timeout string 10# Se si ha un server dhcp lento e l’installatore va in timeout in attesa# di esso, questo potrebbe essere utile.
#d-i netcfg/dhcp_timeout string 60#d-i netcfg/dhcpv6_timeout string 60# Solitamente la configurazione della rete è automatica.
# Se si preferisce configurare manualmente la rete, togliere il commento# alla prossima riga e alle righe con la configurazione statica della rete.
#d-i netcfg/disable_autoconfig boolean true
# Se si desidera che il file di preconfigurazione funzioni su qualsiasi# sistema, a prescindere dalla presenza di un server DHCP in rete, si può# togliere il commento alle righe seguenti e alle righe con la configurazione# statica della rete.
#d-i netcfg/dhcp_failed note
#d-i netcfg/dhcp_options select Configure network manually

69

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4. CONTENUTO DEL FILE DI …

# Configurazione statica della rete.
## Esempio IPv4
#d-i netcfg/get_ipaddress string 192.168.1.42#d-i netcfg/get_netmask string 255.255.255.0#d-i netcfg/get_gateway string 192.168.1.1#d-i netcfg/get_nameservers string 192.168.1.1#d-i netcfg/confirm_static boolean true#
# Esempio IPv6
#d-i netcfg/get_ipaddress string fc00::2#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::#d-i netcfg/get_gateway string fc00::1#d-i netcfg/get_nameservers string fc00::1#d-i netcfg/confirm_static boolean true
# Si noti che gli eventuali nomi di host e dominio assegnati da dhcp hanno# la precedenza sui valori qui impostati. Naturalmente, l’impostazione dei# valori previene ancora che le domande siano visualizzate anche se i
# valori arrivano da dhcp.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain# Per forzare il nome host, senza tener conto di cosa restituisce il# server DHCP o cosa dice il reverse DNS per l’IP, togliere il commento# e modificare la riga seguente.
#d-i netcfg/hostname string somehost# Disabilita la noiosa finestra di dialogo della chiave WEP.
d-i netcfg/wireless_wep string# Lo stupido nome host dhcp che alcuni ISP usano come una sorta# di password.
#d-i netcfg/dhcp_hostname string radish# Per disabilitare completamente la ricerca del firmware (cioè non# utilizzare i file o i pacchetti del firmware che potrebbero essere# disponibili nelle immagini di installazione):#d-i hw-detect/firmware-lookup string never# Se per la scheda di rete o per altro hardware è necessario caricare un# firmware non-libero, è possibile configurare l’installatore in modo
# che lo carichi senza chiedere conferma. Altrimenti cambiare in false# per disabilitare la richiesta.
#d-i hw-detect/load_firmware boolean true

Notare che netcfg determina automaticamente la maschera di rete se netcfg/get_netmask non è preconfigurato; in caso di installazioni automatiche questa variabile deve essere marcata come seen. In modo similare,
netcfg sceglie un indirizzo opportuno quando non è impostato netcfg/get_gateway. È possibile impostare
netcfg/get_gateway a «none» per indicare che non deve essere usato alcun gateway.

B.4.3

Network console# Per effettuare un’installazione da remoto tramite SSH con il componente# network-console, usare le seguenti impostazioni. Questo ha senso se si# intende effettuare il resto dell’installazione manualmente.
#d-i anna/choose_modules string network-console#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key#d-i network-console/password password r00tme#d-i network-console/password-again password r00tme

Maggiori informazioni su network-console possono essere trovate in Sezione 6.3.10.

70

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4.4

B.4. CONTENUTO DEL FILE DI …

Impostazioni del mirror

A seconda del metodo d’installazione usato è possibile che venga usato un mirror per scaricare i componenti aggiuntivi
dell’installatore, per installare il sistema di base e per impostare il file /etc/apt/sources.list sul sistema
installato.
Il parametro mirror/suite determina quale sarà la versione del sistema installato.
Il parametro mirror/udeb/suite determina la versione dei componenti addizionali dell’installatore. L’impostazione di questa variabile è utile solo se i componenti sono scaricati dalla rete dato che la loro versione deveessere uguale a quella usata per creare lo initrd per il metodo d’installazione scelto. Normalmente l’installatore usa
automaticamente il valore corretto, quindi non dovrebbe essere necessario impostare questo parametro.
# Protocollo del mirror:# Quando si seleziona ftp non è necessario impostare mirror/country.
# Valore predefinito per protocollo del mirror: http.
#d-i mirror/protocol string ftp
d-i mirror/country string manuald-i mirror/http/hostname string ftp.it.debian.org
d-i mirror/http/directory string /debiand-i mirror/http/proxy string# Versione da installare.
#d-i mirror/suite string testing# Versione dei componenti dell’installatore da caricare (facoltativo).
#d-i mirror/udeb/suite string testing

B.4.5

Impostazione dell’accountÈ possibile preconfigurare la password per l’account di root e il nome e la password per il primo utente normale. Per
le password possono essere inserite in chiaro o con un hash crypt(3).

AVVERTIMENTO
Attenzione, la preconfigurazione delle password non è sicura dato che chiunquepuò accedere al file di preconfigurazione ha la possibilità di leggerle. La memorizzazione dell’hash di una password è considerata una pratica sicura a meno diusare un algoritmo di hash come DES o MD5 deboli ad attacchi di tipo brute force.
Si raccomanda di usare funzioni di hash tipo SHA-256 e SHA512.

# Saltare la creazione dell’account di root (l’account per l’utente# normale potrà usare sudo).
#d-i passwd/root-login boolean false# In alternativa, è possibile saltare la creazione dell’account per# l’utente normale.
#d-i passwd/make-user boolean false# Password di root, in chiaro entrambe le volte#d-i passwd/root-password password r00tme#d-i passwd/root-password-again password r00tme# oppure criptata in un hash crypt(3).
#d-i passwd/root-password-crypted password [crypt(3) hash]# Per creare l’account per l’utente normale.
#d-i passwd/user-fullname string Debian User#d-i passwd/username string debian# La password dell’utente, in chiaro entrambe le volte#d-i passwd/user-password password insecure#d-i passwd/user-password-again password insecure# oppure criptata in un hash crypt(3).
#d-i passwd/user-password-crypted password [crypt(3) hash]# Per creare il primo utente con un UID specifico al posto di quello# predefinito.

71

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4. CONTENUTO DEL FILE DI …

#d-i passwd/user-uid string 1010
# L’account utente viene automaticamente inserito in alcuni gruppi.
# Per modificare questo comportamento usare la seguente preconfigurazione.
#d-i passwd/user-default-groups string audio cdrom video

Le variabili passwd/root-password-crypted e passwd/user-password-crypted possono anche essere preconfigurate con il valore «!», l’effetto è quello di disabilitare l’account corrispondente. Questo è
comodo per l’account di root, ovviamente a patto di aver configurato un modo alternativo per svolgere le attività
d’amministrazione (per esempio l’uso dell’autenticazione con chiave SSH oppure con sudo).
Per creare l’hash SHA-512 tramite crypt(3) di una password è possibile usare il seguente comando (disponibile
dal pacchetto whois):
mkpasswd -m sha-512

B.4.6

Impostazione dell’orologio e del fuso orario# Controlla se l’orologio hardware deve essere impostato o meno su UTC.
d-i clock-setup/utc boolean true
# Questo può essere impostato con qualsiasi valore valido per $TZ; si# consulti /usr/share/zoneinfo/ per i valori validi.
d-i time/zone string US/Eastern# Determina se usare NTP per impostare l’orologio durante l’installazione
d-i clock-setup/ntp boolean true
# Server NTP da usare. Quasi sempre è possibile usare quello predefito.
#d-i clock-setup/ntp-server string ntp.example.com

B.4.7

Partizionamento

Il supporto della preconfigurazione per il partizionamento è limitato a quanto permette partman-auto. Si può
scegliere di partizionare lo spazio libero esistente sul disco oppure l’intero disco. La struttura delle partizioni sul discopuò essere determinata usando una ricetta predefinita oppure una ricetta personalizzata su file o inclusa nel file dipreconfigurazione.
È supportata anche la preconfigurazione di configurazioni complesse quali RAID, LVM e cifratura, ma non con
la stessa flessibilità di quando il partizionamento avviene durante un’installazione non-preconfigurata.
Gli esempi sottostanti forniscono solo delle informazioni di base sull’uso delle ricette. Per delle informazioni più dettagliate vedere i file partman-auto-recipe.txt e partman-auto-raid-recipe.txt inclusi nel pacchetto debian-installer. Entrambi i file sono disponibili anche nel repository dei sorgenti delinstallatore Debian. Notare che le funzioni supportate potrebbero cambiare da un rilascio all’altro.

AVVERTIMENTO
L’identificazione dei dischi dipende dall’ordine in cui sono caricati i driver, se nel sistema ci sono più dischi si deve essere assolutamente sicuri che venga selezionato
quello corretto prima di usare la preconfigurazione.

B.4.7.1

Esempio di partizionamento# Se il sistema ha spazio libero è possibile scegliere di partizionare# soltanto quello spazio. Questa impostazione viene rispettata solo se# partman-auto/method (vedi sotto) non è valorizzato.
#d-i partman-auto/init_automatically_partition select biggest_free# In alternativa è possibile specificare un disco da partizionare.
# Se il sistema dispone di un solo disco, l’installatore userà quello72

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4. CONTENUTO DEL FILE DI …

# altrimenti è necessario specificare il nome del device usando il# formato tradizionale, non-devfs (quindi, per esempio /dev/sda ma# non /dev/discs/disc0/disc).
#d-i partman-auto/disk string /dev/sda# Inoltre è necessario specificare il metodo da usare. Quelli# disponibili sono:# - regular: usa i tipi di partizione più comuni per la propria#
architettura# - lvm:usa LVM per partizionare il disco# - crypto: usa LVM con all’interno una partizione cifrata
d-i partman-auto/method string lvm# È possibile definire l’ammontare di spazio da utilizzare per il gruppo# di volumi LVM. Può essere una dimensione con la sua unità di misura# (per esempio 20 GB), una percentuale dello spazio libero oppure la parola# speciale ’max’.
d-i partman-auto-lvm/guided_size string max# L’utente riceve un avviso se uno dei dischi che stanno per essere# partizionati automaticamente contiene già una precedente configurazione# LVM. Comunque anche questo può essere preconfigurato...
d-i partman-lvm/device_remove_lvm boolean true
# La stessa cosa avviene se già esiste un array in RAID software:
d-i partman-md/device_remove_md boolean true
# E può essere preconfigurata anche la conferma alla scrittura delle# partizioni lvm.
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
# È possibile scegliere una qualsiasi delle ricette di partizionamento# predefinite:# - atomic: tutti i file in una partizione# - home:
partizione separata per /home# - multi: partizioni separate per /home, /var e /tmp
d-i partman-auto/choose_recipe select atomic# Oppure creare una ricetta personalizzata...
# Se si ha modo di importare un file ricetta dentro l’ambiente# dell’installatore, è possibile semplicemente puntare a questo.
#d-i partman-auto/expert_recipe_file string /hd-media/recipe# Altrimenti, è possibile mettere un’intera ricetta in una riga. Questo# esempio crea una piccola partizione /boot, un’area swap appropriata e# usa il resto dello spazio per la partizione root:#d-i partman-auto/expert_recipe string\#boot-root ::\#40 50 100 ext3\#
$primary{ } $bootable{ }\#method{ format } format{ }\#use_filesystem{ } filesystem{ ext3 }\#mountpoint{ /boot }
\
#
.
\
#
500 10000 1000000000 ext3\#
method{ format } format{ }\#use_filesystem{ } filesystem{ ext3 }\#mountpoint{ / }
\
#
.
\
#
64 512 300% linux-swap\#
method{ swap } format{ }\#.
# Il formato della ricetta è documentato nel file partman-auto-recipe.txt# incluso nel pacchetto ”debian-installer” o disponibile nel repository# dei sorgenti del D-I. Nel file è anche spiegato come impostare le73

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4. CONTENUTO DEL FILE DI …

# etichette dei file system, i nomi dei gruppi di volumi e quali# dispositivi fisici inserire in un gruppo di volumi.
## Partizionamento per EFI# Se il sistema ha bisogno di una partizone EFI, è possibile aggiungere# questo frammento come primo elemento alla ricetta di sopra:#
538 538 1075 free\#$iflabel{ gpt }\#$reusemethod{ }\#method{ efi }\#format{ }\#.
\## Il frammento sopra è adatto per l’architetture amd64; i dettagli# potrebbero essere diversi per altre architetture. Il pacchetto# ”partman-auto” nel repository dei sorgenti del D-I potrebbe contenere# un esempio da usare come modello.
# Questo fa eseguire a partman il partizionamento automatico in base a# quanto indicato con uno dei metodi precedenti, senza chidere conferma.
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
# Forzare l’avvio con UEFI (”BIOS compatibility” verrà tolto). Valore# predefinito: false.
#d-i partman-efi/non_efi_system boolean true
# Assicura che la tabella delle partizioni è GPT - requisito per EFI#d-i partman-partitioning/choose_label select gpt#d-i partman-partitioning/default_label string gpt# Quando è attivata la crittografia del disco, saltare le cancellazione# delle partizioni.
#d-i partman-auto-crypto/erase_disks boolean false

B.4.7.2

Partizionamento con RAID

È possibile usare la preconfigurazione anche per impostare le partizioni su array in RAID software. È supportato il
RAID di livello 0, 1, 5, 6 e 10 la creazione di array degradati e la scelta di dischi di scorta.

AVVERTIMENTOÈ probabile che questo tipo di partizionamento automatico fallisca. Infatti questa funzionalità ha ricevuto relativamente pochi test da parte degli sviluppatori delinstallatore Debian. La responsabilità di recuperare delle ricette corrette(cioè che abbiano senso e che non siano in conflitto) è lasciata all’utente. In casodi problemi si controlli in /var/log/syslog.

# Il metodo deve essere impostato come ”raid”.
#d-i partman-auto/method string raid
# Specificare quali sono i dischi da partizionare. Questi dischi avranno# tutti la stessa configurazione quindi è necessario che abbiano la stessa# dimensione.
#d-i partman-auto/disk string /dev/sda /dev/sdb# Poi si devono specificare le partizioni fisiche da usare.
#d-i partman-auto/expert_recipe string \#multiraid ::\#1000 5000 4000 raid\#$primary{ } method{ raid }\74

APPENDICE B. INSTALLAZIONE AUTOMATICA …

#
#
#
#
#
#
#

B.4. CONTENUTO DEL FILE DI …

.
64 512 300% raid
method{ raid }.
500 10000 1000000000 raid
method{ raid }
.

\
\
\
\
\
\

# Infine si deve specificare come devono essere utilizzate le partizioni# definite in precedenza all’interno del RAID. Attenzione a usare i# numeri di partizione corretti per le partizioni logiche. Sono
# supportati i livelli di RAID 0, 1, 5, 6 e 10; i dispositivi devono# essere separati usando il carattere ”#”.
# I parametri sono:# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \#<devices> <sparedevices>#d-i partman-auto-raid/recipe string \#1 2 0 ext3 /\#/dev/sda1#/dev/sdb1
\
#
.
\
#
1 2 0 swap \#/dev/sda5#/dev/sdb5
\
#
.
\
#
0 2 0 ext3 /home\#/dev/sda6#/dev/sdb6\#.
# Per ulteriori informazioni vedere il file partman-auto-raid-recipe.txt# incluso nel pacchetto ”debian-installer” o disponibile nel repository# dei sorgenti del D-I.
# Questo fa in modo che partman partizioni automaticamente senza conferma.
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

B.4.7.3

Controllo del montaggio delle partizioni

Normalmente i filesystem vengono montati usando come chiave un UUID (identificatore universalmente univoco);questo permette di montarli correttamente anche quando cambia il nome del device. Gli UUID sono lunghi e difficili
da leggere, quindi, se si preferisce, l’installatore può montare i filesystem usando il nome del device o in base aun’etichetta assegnata dall’utente. Qualora si chieda all’installatore di usare le etichette per montare i filesystem,
qualsiasi filesystem senza un’etichetta verrà montato usando l’UUID.
I device con nomi stabili, come i volumi logici LVM, continueranno a usare i loro nomi tradizionali anziché gli
UUID.

AVVERTIMENTO
I tradizionali nomi dei device possono cambiare in base all’ordine con cui il kernel riconosce i device durante l’avvio, questo può comportare che venga montato il
filesystem sbagliato. In modo simile, le etichette possono facilmente collidere quando si inserisce un nuovo disco o un dispositivo USB e, quando questo accade, ilcomportamento del sistema diventa imprevedibile.

# Il comportamento predefinito è eseguire il mount usando l’UUID, è# anche possibile scegliere ”traditional” per utilizzare i tradizionali# nomi dei device oppure ”label” per provare con le etichette del# filesystem prima di usare gli UUID.

75

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4. CONTENUTO DEL FILE DI …

#d-i partman/mount_style select uuid

B.4.8

Installazione del sistema di base

Al momento non c’è molto da preconfigurare per questo passo dell’installazione. Le uniche domande riguardanol’installazione del kernel.
# Configura APT in modo che non installi i pacchetti raccomandati. L’uso# di questa opzione può implicare un sistema incompleto e dovrebbe essere# usata solo dagli utenti molto esperti.
#d-i base-installer/install-recommends boolean false# Il (meta)pacchetto con l’immagine del kernel da installare; per non# installare un kernel inserire ”none”.
#d-i base-installer/kernel/image string linux-image-686

B.4.9

Impostazione di APT

L’impostazione di /etc/apt/sources.list e la configurazione delle opzioni di base è completamente automatizzata in base al metodo d’installazione e alle risposte date in precedenza. È possibile aggiungere altri repository(anche locali).
# Per analizzare altri supporti con pacchetti aggiuntivi# (valore predefinito: false).
d-i apt-setup/cdrom/set-first boolean false# Per consentire l’installazione firmware non-libero.
#d-i apt-setup/non-free-firmware boolean true
# È possibile scegliere di installare software non-free e contrib.
#d-i apt-setup/non-free boolean true#d-i apt-setup/contrib boolean true
# Togliere il commento alla prossima riga se non si vuole in sources.list# del sistema installato una voce attiva per l’immagine del DVD/BD di# installazione (le voci per le immagini netinst o di CD sono sempre# disattivate indipendentemente da questa impostazione).
#d-i apt-setup/disable-cdrom-entries boolean true
# Togliere il commento alla prossima riga se non si vuole usare# un mirror.
#d-i apt-setup/use_mirror boolean false# Scegliere i servizi di aggiornamento da utilizzare; definire quali# mirror devono essere usati. I valori riportati in seguito sono quelli# predefiniti.
#d-i apt-setup/services-select multiselect security, updates#d-i apt-setup/security_host string security.debian.org# Altri repository, sono disponibili local[0-9]#d-i apt-setup/local0/repository string \#http://local.server/debian stable main#d-i apt-setup/local0/comment string local server# Abilita le righe deb-src#d-i apt-setup/local0/source boolean true
# URL alla chiave pubblica del repository locale; è necessario fornire# una chiave altrimenti apt si lamenta che il repository non è# autenticato e quindi lo commenta in sources.list.
#d-i apt-setup/local0/key string http://local.server/key# è anche possibile passare la chiave in-linea codificando in base 64# il contenuto del file con la chiave (con ‘base64 -w0‘) e# specificandola in questo modo:#d-i apt-setup/local0/key string base64:// ←LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCi4uLgo=# Il contenuto del file con la chiave viene controllato per vedere se# è ASCII-armoured.
# In quel caso il file avrà estensione ”.asc” altrimenti avrà

76

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4. CONTENUTO DEL FILE DI …

# estensione ”.pgp”.
# Al momento non è possibile usare il formato ”database keybox” non# è gestito (consultare generators/60local nei sorgenti di apt-setup).
# Normalmente l’installatore richiede che i repository siano autenticati# con una chiave gpg conosciuta. Per disabilitare questa autenticazione si# può usare questa impostazione. Attenzione: insicuro, non raccomandato.
#d-i debian-installer/allow_unauthenticated boolean true
# Togliere il commento per aggiungere la configurazione multiarch# per i386
#d-i apt-setup/multiarch string i386

B.4.10

Selezione dei pacchettiÈ possibile scegliere di installare qualsiasi combinazione di task che siano disponibili. I task attualmente disponibili
includono:• standard (programmi standard)• desktop (desktop grafico)• gnome-desktop (desktop GNOME)• xfce-desktop (desktop XFCE)• kde-desktop (desktop KDE Plasma)• cinnamon-desktop (desktop cinnamon)• mate-desktop (desktop MATE)• lxde-desktop (desktop LXDE)• web-server (server web)• ssh-server (server SSH)
Si può anche scegliere di non installare alcun task e forzare l’installazione di un insieme di pacchetti in qualche
altro modo. Raccomandiamo di includere sempre il task standard.
Per nascondere completamente la finestra di dialogo di tasksel, preconfigurare pkgsel/run_tasksel (inquesto modo alcun pacchetto verrà installato tramite tasksel).
Se oltre ai task si vuole installare anche qualche altro pacchetto allora è possibile usare il parametro pkgsel/include;il valore di questo parametro può essere un elenco di pacchetti separati con virgole o con spazi, in questo modo può
essere comodamente usato anche sulla riga di comando del kernel.
#tasksel tasksel/first multiselect standard, web-server, kde-desktop# Oppure nascondere completamente la finestra di dialogo di tasksel# (in questo modo alcun pacchetto verrà installato):#d-i pkgsel/run_tasksel boolean false# Ulteriori pacchetti da installare#d-i pkgsel/include string openssh-server build-essential# Se aggiornare i pacchetti dopo l’avvio. I valori ammessi# sono: none, safe-upgrade, full-upgrade#d-i pkgsel/upgrade select none
# È possibile scegliere se il proprio sistema deve inviare un resoconto# di quali programmi sono stati installati e quali sono usati. Questo# resoconto, la cui ricezione aiuta il progetto a determinare quali sono
# i programmi più popolari e che dovrebbero essere inseriti nel primo# CD/DVD, normalmente non viene inviato.
#popularity-contest popularity-contest/participate boolean false

77

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.4.11

B.5. OPZIONI AVANZATE

Termine dell’installazione# Durante le installazioni da console seriale o di gestione, normalmente# le console virtuali (da VT1 a VT6) vengono disabilitate in /etc/inittab.
# Togliere il commento dalla prossima riga per evitare che questo accada.
#d-i finish-install/keep-consoles boolean true
# Evita l’ultimo messaggio riguardo il completamento dell’installazione.
d-i finish-install/reboot_in_progress note
# Impedisce che il programma d’installazione espelli il CD prima del riavvio,# in alcuni casi può essere utile.
#d-i cdrom-detect/eject boolean false# Indica come spegnere quando l’installatore ha finito, senza riavviare# il sistema appena installato.
#d-i debian-installer/exit/halt boolean true
# Questo spegne la macchina anziché semplicemente arrestarla.
#d-i debian-installer/exit/poweroff boolean true

B.4.12Preconfigurazione di altri pacchetti# A seconda del software che si sceglie di installare, o se le cose vanno# storte durante il processo di installazione, è possibile che altre domande# possano essere poste. Si possono preconfigurare anche quelle,# naturalmente. Per ottenere una lista di ogni possibile domanda che possa# essere posta durante un’installazione, fare un’installazione, quindi# eseguire questi comandi:#
debconf-get-selections --installer > file#
debconf-get-selections >> file

B.5

Opzioni avanzate

B.5.1

Uso di comandi personalizzati durante l’installazione

Una funzionalità molto potente e flessibile offerta dagli strumenti di preconfigurazione è la possibilità si eseguire deicomandi o degli script in determinati momenti dell’installazione.
Il filesystem su cui verrà installato il sistema, una volta montato, è disponibile in /target. Se l’installazione
avviene da CD, una volta montato, è disponibile in /cdrom.
# La preconfigurazione del d-i è intrinsecamente non sicura. Niente# nell’installatore verifica i tentativi di buffer overflow o di altri# exploit attraverso i valori presenti in un file di preconfigurazione# come questo. Usare solo file di preconfigurazione provenienti da fonti# fidate! Per comprendere il rischio, e poiché è generalmente utile,# ecco un modo per eseguire automaticamente qualsiasi comando della shell# all’interno dell’installatore.
# Questo è primo comando, è eseguito il prima possibile, appena dopo la# lettura della preconfigurazione.
#d-i preseed/early_command string anna-install some-udeb# Questo comando viene eseguito immediatamente prima di avviare il# partizionatore. Può essere utile per applicare una preconfigurazione# dinamica del partizionatore in funzione dello stato dei dischi (che# potrebbe non essere visibile nel momento in cui viene eseguito# preseed/early_command).
#d-i partman/early_command \#string debconf-set partman-auto/disk ”$(list-devices disk | head -n1)”# Questo è l’ultimo comando, è eseguito appena prima che l’installatore# termini, ma quando la directory /target è ancora usabile. È possibile# fare un chroot su /target e usarlo direttamente oppure usare i comandi

78

APPENDICE B. INSTALLAZIONE AUTOMATICA …

B.5. OPZIONI AVANZATE# apt-install e in-target per installare dei pacchetti ed eseguire comandi# nel file system target.
#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh

B.5.2

Uso della preconfigurazione per modificare i valori predefiniti

È possibile usare la preconfigurazione per modificare la risposta predefinita a una domanda ma fare in modo che la
domanda venga comunque posta. Per farlo si deve impostare il flag seen a «false» dopo aver impostato il valore delladomanda.
d-i foo/bar string valore
d-i foo/bar seen false

Si può estendere questo effetto a tutte le domande inserendo il parametro preseed/interactive=true alprompt boot. Questo può essere utile per effettuare delle prove o il debug del proprio file di preconfigurazione.
Notare che «d-i» deve essere usato come proprietario delle sole variabili dell’installatore. Le variabili appartenentiai pacchetti da installare sul sistema finale devono avere come proprietario il nome del pacchetto. Si veda la nota apiè di pagina in Sezione B.2.2.
Quando si usa la preconfigurazione tramite i parametri d’avvio si può richiedere all’installatore di chiedere comunque le domande preconfigurate usando l’operatore «?=» in questo modo foo/bar?=valore (oppure proprietario:foo/bar?=Ovviamente questo ha effetto solo sui parametri che corrispondono alle domande che sono effettivamente visualizzate
durante l’installazione e non sui parametri «interni».
Per avere ulteriori informazioni di debug, usare il parametro di avvio DEBCONF_DEBUG=5; ciò provoca la stampa
da parte di debconf di molti più dettagli sulle attuali impostazioni di ciascuna variabile e sulla loro evoluzione
durante l’esecuzione degli script di installazione del pacchetto.

B.5.3

Caricamento in cascata di più file di preconfigurazione

Da un file di preconfigurazione è anche possibile includere anche altri file di preconfigurazione. Qualsiasi impostazione
fatta in questi file sovrascrive l’eventuale configurazione fatta dai file caricati in precedenza. Questo permette diinserire, per esempio, una configurazione di rete generica in un file e di mettere alcune configurazioni particolari inaltri file.
# Si possono elencare più file separandoli con degli spazi; verranno# caricati tutti. Anche i file inclusi possono avere al loro interno delle# direttive preseed/include. Si noti che se i nomi dei file sono relativi,# sono prelevati dalla stessa directory del file di preconfigurazione che# li include.
#d-i preseed/include string x.cfg# Facoltativamente il programma d’installazione può verificare le checksum# dei file prima di processarli. Attualmente sono supportati solo le checksum# md5sum che vanno elencate nello stesso ordine con cui sono inclusi i file.
#d-i preseed/include/checksum string 5da499872becccfeda2c4872f9171c3d# Ancora più flessibile, questo esegue un comando di shell e se restituisce# i nomi dei file di preconfigurazione allora include questi file.
#d-i preseed/include_command \#string if [ ”‘hostname‘” = bob ]; then echo bob.cfg; fi# Il massimo della flessibilità, questo scarica ed esegue un programma.
# Il programma può usare debconf-set per manipolare il database di# debconf; è possibile elencare più di uno script separandoli con degli# spazi. Si noti che se i nomi dei file sono relativi, sono prelevati# dalla stessa directory del file di preconfigurazione che li esegue.
#d-i preseed/run string foo.shCon la preconfigurazione di tipo initrd e file è possibile anche caricare in cascata una preconfigurazione di tipo
network, impostando preseed/url nei file precedenti. Ciò avvia la preconfigurazione via rete appena questa diviene
disponibile. Nell’effettuare questa operazione si deve porre particolare attenzione, dato che la preconfigurazione viene
eseguita in due occasioni distinte, aprendo la possibilità che il comando preseed/early venga eseguito nuovamente,
con la seconda esecuzione che avviene dopo l’attivazione della rete.
79

Appendice C

Partizionare per Debian
C.1

Decidere il numero e la dimensione delle partizioni per DebianCome minimo, GNU/Linux ha bisogno di una partizione: è possibile avere una sola partizione che contiene il sistema
operativo, le applicazioni e i file personali dell’utente. Molti ritengono necessaria una partizione di swap separata, ma
non è obbligatorio averla. Lo «swap» è uno spazio a disposizione del sistema operativo, da usare come «memoria
virtuale»; usare una partizione separata per lo swap, permette a Linux di usarlo in modo molto più efficiente. Ècomunque possibile forzare Linux a usare un file regolare come swap, ma non è raccomandato.
La maggior parte degli utenti sceglie di avere più partizioni per GNU/Linux: ci sono un paio di motivi validi
per suddividere il file system su più partizioni. Il primo è la sicurezza: se si verifica un guasto che corrompe il filesystem, di solito viene colpita solo una partizione; quindi per ripristinare il funzionamento, basterà sostituire solo
una porzione del proprio sistema (utilizzando la copia di backup conservata con cura). Come minimo è consigliabile
creare quella che si chiama in gergo «partizione root», che contiene le componenti fondamentali del sistema. Se
qualche altra partizione viene corrotta, sarà ancora possibile avviare GNU/Linux per riparare il sistema, evitando di
dover reinstallare il sistema da capo.
Il secondo motivo di solito è più rilevante in un contesto di lavoro, ma in generale dipende dall’uso che si fa delcomputer. Ad esempio, un server di posta intasato da messaggi non sollecitati può ritrovarsi con una partizione piena:
se si è creata una partizione separata per /var/mail, il resto del sistema continuerà a funzionare.
L’unico vero difetto nell’uso di più partizioni consiste nel fatto che spesso è difficile conoscere in anticipo le proprienecessità. Se si crea una partizione troppo piccola, occorrerà reinstallare il sistema, oppure ci si troverà a dovercontinuamente spostare dati per far posto nella partizione troppo piccola. D’altro canto, se si crea una partizione
troppo grande, si sprecherà spazio che potrebbe essere usato in altri modi: oggi lo spazio su disco non costa molto,
ma perché sprecare il proprio denaro?

C.2

L’albero delle directory

Debian GNU/Linux è conforme al Filesystem Hierarchy Standard per la denominazione dei file e delle directory.
Questo standard consente agli utenti e ai programmi di predire la posizione di file e directory sul sistema. La directory«root» (principale) del sistema è rappresentata semplicemente dal carattere «slash»: /. A questo livello, tutti i sistemi
Debian contengono le seguenti directory:
Directory
bin
boot
dev
etc
home
lib
media

Contenuto
File binari dei comandi essenziali
File statici del boot loader
File di device
Configurazioni di sistema specifiche per l’host
Directory home degli utenti
Librerie condivise essenziali e moduli del kernel
Punti di montaggio per dispositivi rimovibili
Punti di montaggio per montare un file systemtemporaneamente
Directory virtuale per le informazioni di sistema
Directory home dell’utente root
Dati variabili dei programmi in esecuzione

mnt
proc
root
run
80

APPENDICE C. PARTIZIONARE PER DEBIAN

C.3. SCHEMA DI PARTIZIONAMENTO …

Directory
sbin
sys
tmp
usr
var
srv
opt

Contenuto
File binari essenziali per il sistema
Directory virtuale per le informazioni di sistema
File temporanei
Gerarchia secondaria
Dati variabili
Dati dei servizi forniti dal sistema
Pacchetti software applicativi opzionali

Quelle che seguono sono alcune considerazioni importanti a proposito delle directory e delle partizioni. Si noti che
i requisiti di spazio su disco variano molto a seconda della configurazione del sistema e del tipo di utilizzo specifico.
Le raccomandazioni che seguono sono delle linee guida generali e costituiscono un punto di partenza per le decisioni
di partizionamento.
• La partizione «root» / deve sempre contenere fisicamente /etc, /bin, /sbin, /lib, /dev e /usr,
altrimenti non sarà possibile avviare il sistema. Ciò vuol dire che occorrono circa 600–750MB di spazio disco
per la partizione root quando contiene /usr oppure 5–6GB per una installazione workstation o server.
• /var: dati variabili, come code di posta e di messaggi news, siti web, database, la cache del sistema di gestione
dei pacchetti, ecc. verranno conservati in questa directory. La dimensione da scegliere dipende fortemente daltipo di uso che si farà del sistema, ma per la maggior parte degli utenti il fattore principale di cui tenere conto
è il funzionamento del sistema di gestione dei pacchetti: se si intende installare in una sola sessione tutto il
software fornito da Debian, dovrebbero bastare 2 o 3 GB di spazio per /var. Se invece si intende installare ilsistema a più riprese (ad esempio, installare le utilità di sistema, poi quelle per la gestione dei documenti, poi
il sistema X, ecc), è sufficiente riservare da 300 a 500 MB. Se si intende risparmiare al massimo lo spazio su
disco e non si hanno in programma massicci aggiornamenti del sistema, è possibile riservare anche solo 30 o
40 MB.
• /tmp: i dati temporanei creati dai programmi vengono scritti prevalentemente in questa directory. Di solito è
sufficiente riservare da 40 a 100 MB. Alcune applicazioni (tra cui gestori di archivi, strumenti per la creazione
di CD e DVD, e software multimediale) utilizzano /tmp per scrivere file di immagine temporanei; se si intendeutilizzare questo tipo di applicazioni, occorrerà scegliere una dimensione adeguata per la directory /tmp.
• /home: ogni utente conserverà i propri dati personali in una sotto-directory di questa directory. La sua dimensione dipende dal numero di utenti che utilizzeranno il sistema e dal tipo di file che saranno conservati
nelle loro directory. A seconda dell’uso che si intende fare del sistema, il valore indicativo di 100 MB per ogni
utente andrà aumentato, soprattutto se le directory home conterranno molti file multimediali (immagini, MP3,
filmati).

C.3

Schema di partizionamento raccomandato

Per i nuovi utenti, i sistemi Debian personali, per l’uso casalingo, o per altre situazioni mono-utente, probabilmente lasoluzione più semplice è costituita da una sola partizione / (più lo swap). Il tipo di partizione raccomandato è ext4.
Per i sistemi multi-utente, o i sistemi con molto spazio su disco, la soluzione migliore consiste nel mettere /var,/tmp e /home ognuna sulla propria partizione separata dalla partizione /.
Potrebbe essere necessario avere una partizione /usr/local separata, se si ha intenzione di installare molti
programmi che non sono compresi nella distribuzione Debian. Se il computer sarà un server di posta, può essere
consigliabile avere una partizione separata per /var/mail. Se il sistema sarà un server con molti account utente, èconsigliabile avere una grande partizione /home separata. In generale, lo schema di partizionamento ottimale varia
da computer a computer, a seconda dell’uso che si farà.
Per sistemi molto complessi, può essere utile consultare il Multi Disk HOWTO, che contiene informazioni
dettagliate, utili soprattutto agli ISP e a chi installa server.
A proposito della dimensione della partizione di swap, esistono molti punti di vista. Una regola veloce che di solito
funziona consiste nell’usare tanto swap quanta è la memoria disponibile sul sistema. Inoltre, nella maggior parte dei
casi non si dovrebbe andare sotto i 512 MB. Ovviamente ci sono eccezioni a queste regole.
Come esempio, si consideri un vecchio computer per uso casalingo, con 512 MB di RAM e un disco SATA da
20 GB su /dev/sda. Una soluzione potrebbe essere avere una partizione da 8 GB per un altro sistema operativo su/dev/sda1, una partizione di swap da 512 MB su /dev/sda3 e circa 11,4 GB su /dev/sda2 come partizione
Linux.

81

APPENDICE C. PARTIZIONARE PER DEBIAN

C.4. NOMI DEI DISPOSITIVI IN LINUXPer avere un’idea dello spazio richiesto da varie applicazioni che si intende utilizzare dopo aver installato il sistema,si consulti la Sezione D.2.

C.4

Nomi dei dispositivi in Linux

Poiché Linux chiama i dischi e le partizioni in modo diverso dagli altri sistemi operativi, per creare o montare partizioni
occorre conoscere i nomi usati da Linux per riferirsi ai dispositivi. Ecco uno schema di base:• Il primo disco rilevato è chiamato /dev/sda.
• Il secondo disco rilevato è chiamato /dev/sdb, e così via.
• Il primo CD-ROM SCSI è chiamato /dev/scd0, o anche /dev/sr0.
Le partizioni su ciascun disco sono identificate aggiungendo un numero decimale al nome del disco: sda1 e
sda2 rappresentano la prima e la seconda partizione del primo disco SCSI sul sistema.
Ecco un esempio realistico. Ipotizzando di avere un sistema con 2 dischi SCSI, uno con indirizzo SCSI 2 el’altro con indirizzo SCSI 4. Il primo disco (con indirizzo 2) si chiamerà sda, il secondo sdb. Se il disco sda ha
3 partizioni, queste si chiameranno sda1, sda2 e sda3. Le stesse regole valgono per il disco sdb e per le sue
partizioni.
Si noti che se si possiedono due «SCSI host bus adapter» (ossia due controller), l’ordine dei dischi può non essere
immediatamente chiaro. In questo caso, la soluzione migliore consiste nell’osservare i messaggi di boot, a patto disaper distinguere i due dischi dal nome del modello e/o dalla capacità.

C.5

Programmi Debian per il partizionamento

Gli sviluppatori Debian hanno adattato vari programmi per il partizionamento in modo che funzionino su vari tipi
di hard disk e su varie architetture di sistema. Quello che segue è un elenco dei programmi disponibili a seconda
dell’architettura.
partman Lo strumento di partizionamento raccomandato da Debian. Questo «coltellino svizzero» dai mille usi, puòanche ridimensionare le partizioni, creare file system e assegnarli ai punti di montaggio.
fdisk Il partizionatore originale di Linux, riservato ai guru.
Occorre fare attenzione se si hanno partizioni FreeBSD sulla propria macchina: i kernel del sistema d’installazione comprendono il supporto per queste partizioni, ma all’interno di fdisk esse potrebbero avere dei nomi didevice diversi. Si veda il Linux+FreeBSD HOWTO.
cfdisk Un partizionatore semplice, con interfaccia a schermo intero, adatto a tutti.
Si noti che cfdisk non riconosce le partizioni FreeBSD, quindi anche in questo caso i nomi dei dispositivi
potrebbero risultare diversi da quanto ci si aspetta.
Uno di questi programmi verrà eseguito in modo predefinito quando si seleziona Partiziona un disco. Si potrebbe anche usare un programma di partizionamento diverso tramite la riga di comando sulla seconda console, questa
operazione non è raccomandata.

82

Appendice D

Miscellanea
D.1

I device linux

In Linux, all’interno della directory /dev, sono presenti diversi file speciali, chiamati file di device, che si comportanoin modo diverso dai file normali. I tipi più comuni di file di device sono per i device a blocchi e per i device a caratteri.
Questo tipo di file sono un’interfaccia per i driver (che fanno parte del kernel Linux) che si occupano del reale accesso
all’hardware. Un altro tipo di device, meno comune, sono i file pipe. I file di device più significativi sono elencati nella
seguente tabella.
sda
sdb
sda1
sdb7

Il primo disco fisso
Il secondo disco fisso
Prima partizione del primo disco fisso
Settima partizione del secondo disco fisso

sr0
sr1

Il primo lettore CD-ROM
Il secondo lettore CD-ROM

ttyS0
ttyS1
psaux

Porta seriale 0, COM1 sotto MS-DOS
Porta seriale 1, COM2 sotto MS-DOS
Device del mouse PS/2
Pseudo device, usato dal demone GPM per
ritrasmettere i dati del mouse

gpmdata

cdrom
mouse

Link simbolico al lettore CD
Link simbolico al file di device del mouse

null
zero

Qualunque cosa scritta su questo device scomparirà
Vi si possono leggere infiniti zero

D.1.1

Configurazione del mouse

Il mouse può essere utilizzato sia in console (con gpm) che in ambiente X Window. Normalmente si tratta solo diinstallare gpm e il server X. Entrambi devono essere configurati per usare come device per il mouse /dev/input/
mice, il protocollo corretto è chiamato exps2 in gpm e ExplorerPS/2 sotto X. I file di configurazione sono
rispettivamente /etc/gpm.conf e /etc/X11/xorg.conf.
Potrebbe essere necessario caricare alcuni moduli del kernel per far funzionare il mouse. Nella maggior parte dei
casi questi moduli vengono caricati automaticamente, ma per i vecchi mouse seriali e per i bus mouse¹ non sempre¹Solitamente i mouse seriali hanno un connettore a forma di una «D» con 9 poli; i bus mouse hanno un connettore rotondo a 8 poli che non
deve essere confuso con il connettore rotondo a 6 poli dei mouse PS/2 o con il connettore rotondo a 4 poli dei mouse ADB.

83

APPENDICE D. MISCELLANEA

D.2. SPAZIO SU DISCO NECESSARIO PER I TASK

avviene. Questi mouse sono abbastanza rari tranne su computer molto vecchi. Segue un riepilogo dei moduli per ilkernel Linux necessari all’uso dei diversi tipi di mouse:
ModuloDescrizione
Mouse PS/2 (dovrebbe essere riconosciuto
automaticamente)
Mouse USB (dovrebbe essere riconosciuto
automaticamente)
La maggior parte dei mouse seriali
Bus mouse connesso a una scheda Logitech
Bus mouse connesso a una scheda ATI o Microsoft
InPortpsmouseusbhidsermouse
logibminportPer caricare un modulo con il driver per un mouse si può usare il comando modconf (contenuto nell’omonimo
pacchetto) e controllare nella categoria kernel/drivers/input/mouse.

D.2

Spazio su disco necessario per i task

L’installazione standard sull’architettura amd64, compresi tutti i pacchetti standard e il kernel predefinito, richiede
1242 MB di spazio su disco. L’installazione di base minimale, senza il task «Sistema standard», richiede 1012 MB.

IMPORTANTEIn entrambi i casi è lo spazio su disco effettivamente usato dopo aver finito l’installazione e aver rimosso qualsiasi file temporaneo. Inoltre non tiene conto delcarico dovuto ai file di sistema, per esempio i file di giornale. Questo vuol dire cheè necessaria una quantità di spazio su disco significativamente superiore durante
l’installazione e il normale uso del sistema.
La tabella seguente elenca le dimensioni dei task proposti in tasksel, secondo quanto riportato da aptitude. Si noti
che alcuni task hanno dei componenti in comune, per cui lo spazio realmente occupato da due task installati assieme
potrebbe essere minore della somma teorica.
L’ambiente desktop predefinito è GNOME, però è possibile utilizzare anche altri ambienti desktop alternativi
usando una delle immagini per l’installazione speciali oppure specificando l’ambiente desktop desiderato all’avvio
dell’installazione (si veda Sezione 6.3.6.2).
Si noti che è necessario aggiungere dello spazio rispetto a quanto indicato nella tabella come spazio minimo
nel momento in cui si definisce la dimensione delle partizioni. La maggior parte delle dimensioni elencate come«Dimensione installazione» va a finire all’interno di /usr e di /lib; le dimensioni elencate come «Dimensione
download» devono essere (temporaneamente) disponibili in /var.
Task
Ambiente desktop• GNOME(predefinito)• KDE Plasma• Xfce• LXDE• MATE• Cinnamon
Server web
Server SSH

Dimensione
installazione (MB)Dimensione download(MB)

Spazio necessario
all’installazione (MB)

3216

859

4075

4584
2509
2539
2851
4676
85
2

1316
683
693
762
1324
19
1

5900
3192
3232
3613
6000
104
3

Se l’installazione avviene in una lingua diversa dall’inglese, tasksel potrebbe installare automaticamente un localization task se disponibile per la lingua in uso. Lo spazio richiesto varia a seconda della lingua; potrebbero esserenecessari altri 350 MB per il download e l’installazione di questo task.

84

APPENDICE D. MISCELLANEA

D.3

D.3. INSTALLAZIONE DI DEBIAN GNU/LINUX DA …

Installazione di Debian GNU/Linux da un sistema Unix/Linux esistente

In questa sezione viene spiegato come installare Debian GNU/Linux a partire da un sistema Unix o Linux esistente,senza utilizzare l’installatore a menu come illustrato nel resto del manuale. Questo HOWTO sul «cross-install» è statorichiesto da utenti di altre distribuzioni, come Red Hat, Mandriva e SUSE, che vogliono provare Debian GNU/Linux.
Viene data per acquisita da parte dell’utente una minima familiarità con i comandi *nix e con la navigazione del filesystem. In questa sezione, $ indica un comando da inserire nel sistema attualmente in uso all’utente, mentre # siriferisce a un comando da inserire nell’ambiente chroot di Debian.
Una volta che il nuovo sistema Debian è stato configurato a proprio piacimento, si può procedere alla migrazione
dei dati esistenti e poi all’uso quotidiano. Si tratta quindi di un’installazione di Debian GNU/Linux che non blocca,
nemmeno momentaneamente, l’uso del sistema, inoltre è un modo ingegnoso per gestire hardware che potrebbe avere
problemi con i normali metodi di avvio o installazione.

NOTA
Questa è per lo più una procedura manuale, si deve tenere in mente che è necessario fare da soli molte configurazioni di base del sistema che richiedono una conoscenza più approfondita di Debian e di Linux in generale rispetto a una normale
installazione. Non ci si deve aspettare che seguendo questa procedura si ottenga
un sistema identico a quello che si otterrebbe con una normale installazione. Si
deve anche tenere in mente che questa procedura contiene solo i passi basilari perla configurazione di un sistema; potrebbero essere necessarie altre operazioni diinstallazione e/o configurazione.

D.3.1

Primi passi

Usando gli strumenti per il partizionamento disponibili, ripartizionare, secondo le proprie necessità, il disco fisso
creando almeno un file system e una partizione di swap. Per un ambiente puramente testuale sono necessari 1012 MB,2539 MB se si intende installare X (ancora di più se si installa un ambiente desktop come GNOME o KDE Plasma).
Poi creare dei file system sulle partizioni appena realizzate. In questo esempio si crea un file system ext3 sulla
partizione /dev/sda6 (in seguito questa partizione è usata come root):# mke2fs -j /dev/sda6

Per creare un file system ext2, basta omettere l’opzione -j.
Inizializzare e attivare lo swap (sostituire il numero della partizione con quello della partizione destinata allo swap
per Debian):# mkswap /dev/sda5# sync# swapon /dev/sda5

Montare una partizione come /mnt/debinst (il punto di installazione, diventerà il file system di root / del nuovo
sistema). Il nome del mount point è arbitrario, quello scelto è utilizzato da qui in avanti.
# mkdir /mnt/debinst# mount /dev/sda6 /mnt/debinst

NOTA
Nel caso si voglia avere delle parti del filesystem (p.e. /usr) montate da delle partizioni separate è necessario creare e montare manualmente queste directory prima
di procedere con la prossima fase.

85

APPENDICE D. MISCELLANEA

D.3.2

D.3. INSTALLAZIONE DI DEBIAN GNU/LINUX DA …

Installazione di debootstrap

Lo strumento usato dall’installatore Debian, e che è considerato il mezzo ufficiale per installare un sistema Debian dibase, è debootstrap. Utilizza wget e ar, ma a parte questi programmi ha bisogno solo di /bin/sh e degli strumenti
Unix/Linux di base². Installare, se non sono già presenti sul sistema in uso, wget e ar poi scaricare e installare
debootstrap.
Un’ulteriore possibilità è installare debootstrap manualmente seguendo questa procedura. Creare una directory
di lavoro in cui estrarre il .deb:# mkdir work
# cd work

Il binario di debootstrap si trova nell’archivio Debian (si faccia attenzione a scegliere il file adatto alla propria architettura). Scaricare il pacchetto .deb di debootstrap dal pool, poi copiarlo nella cartella di lavoro ed estrarre i file.
Servono i privilegi di root per installarli.
# ar -x debootstrap_0.X.X_all.deb# cd /# zcat /full-path-to-work/work/data.tar.gz | tar xv

D.3.3

Esecuzione di debootstrap

Quando viene lanciato, debootstrap è in grado di scaricare i file necessari direttamente dall’archivio. Si può sostituire ftp.it.debian.org/debian, utilizzato nell’esempio sottostante, con un qualsiasi mirror dell’archivio
Debian, meglio se geograficamente vicino. Un elenco dei mirror è disponibile presso: http://www.debian.
org/mirror/list.
Se su /cdrom è stata montata un’immagine per l’installazione Debian GNU/Linux bookworm, è possibile sostituire l’URL http con l’URL file:/cdrom/debian/.
Nel comando debootstrap sostituire ARCH con uno dei seguenti: amd64, arm64, armel, armhf, i386,
mips64el, mipsel, ppc64el, s390x.
# /usr/sbin/debootstrap --arch ARCH bookworm \/mnt/debinst http://ftp.us.debian.org/debianNel caso che l’architrettura del nuovo sistema sia diversa da quella del sistema in uso, occorre aggiungere l’opzione--foreign.

D.3.4

Configurazione del sistema di baseOra sul disco c’è un vero sistema Debian, seppur minimale. Eseguire chroot:# LANG=C.UTF-8 chroot /mnt/debinst /bin/bash

Nel caso che l’architrettura del nuovo sistema sia diversa da quella del sistema in uso, è necessario prima copiareqemu-user-static sul nuovo sistema:# cp /usr/bin/qemu-ARCH-static /mnt/debinst/usr/bin# LANG=C.UTF-8 chroot /mnt/debinst qemu-ARCH-static /bin/bash

Dopo l’operazione di chroot potrebbe essere necessario impostare il terminale con uno compatibile con il sistema
Debian di base, per esempio:# export TERM=xterm-color

In base al valore di TERM, potrebbe essere necessario installare il pacchetto ncurses-term.
Nel caso che l’architrettura del nuovo sistema sia diversa da quella del sistema in uso, è necessario completarel’avvio a più fasi:/debootstrap/debootstrap --second-stage²Questi includono le principali utility GNU e comandi come sed, grep, tar e gzip.

86

APPENDICE D. MISCELLANEA

D.3.4.1

D.3. INSTALLAZIONE DI DEBIAN GNU/LINUX DA …

Creazione dei file di device

A questo punto /dev/ contiene solo i file di device più basilari, però i prossimi passi dell’installazione potrebbero
aver bisogno di altri file di device. Ci sono più modi per proseguire, la scelta dipende dal sistema che sta ospitando
l’installazione, dall’intenzione di usare un kernel modulare oppure no, e dall’intenzione di usare file di device dinamici(per esempio usando udev) o statici.
Alcune delle possibili soluzioni sono:• installare il pacchetto makedev e, dopo aver fatto il chroot, creare il set predefinito di file di device statici usando# apt install makedev# mount none /proc -t proc
# cd /dev# MAKEDEV generic• creare manualmente solo dei file di device specifici usando MAKEDEV• collegare con mount la /dev del sistema che ospita l’installazione sopra la /dev del sistema che si sta installando;
notare che gli script di post-installazione di alcuni pacchetti potrebbero provare a creare file di device quindi
questo metodo deve essere usato con molta cautela.
D.3.4.2

Montare le partizioni

Adesso è necessario creare /etc/fstab.
# editor /etc/fstab

Segue un esempio che si può adattare secondo le proprie necessità:# /etc/fstab: static file system information.
## file system
mount point
type
options/dev/XXX/
ext3
defaults/dev/XXX/boot
ext3
ro,nosuid,nodev

dump pass01
02/dev/XXX
proc

none
/proc

swap
proc

0
0

0
0

/dev/cdrom/media/cdrom

iso9660 noauto,ro,user,exec

00/dev/XXX/dev/XXX/dev/XXX/dev/XXX

/tmp
/var
/usr
/home

ext3
ext3
ext3
ext3

0
0
0
0

2
2
2
2

sw
defaults

rw,nosuid,nodev
rw,nosuid,nodev
rw,nodev
rw,nosuid,nodev

Per montare tutti i file system specificati nel proprio /etc/fstab, si esegua mount -a, mentre per montarli
singolarmente si usi:
# mount /path# per esempio:

mount /usr

Nei sistemi Debian più recenti i punti di mount per i supporti rimovibili sono in /media, per compatibilità si possono
tenere dei link simbolici in /. Creare i link in base alle proprie necessità, per esempio:# cd /media# mkdir cdrom0# ln -s cdrom0 cdrom# cd /# ln -s media/cdrom

È possibile montare il file system proc più volte e in posizioni arbitrarie, ma è consuetudine farlo su /proc. Se nonsi esegue mount -a, prima di continuare assicurarsi di montare proc:# mount -t proc proc /proc

Adesso il comando ls /proc dovrebbe mostrare una directory con dei file. Se non funziona, si dovrebbe essere
in grado di montare proc da fuori della chroot:# mount -t proc proc /mnt/debinst/proc87

APPENDICE D. MISCELLANEA

D.3.4.3

D.3. INSTALLAZIONE DI DEBIAN GNU/LINUX DA …

Configurazione del fuso orario

L’impostazione alla terza riga del file /etc/adjtime a «UTC» o «LOCAL» determina se il sistema deve interpretare l’orologio hardware come impostato su UTC oppure sull’ora locale. Il comando seguente permette di impostarequesta opzione.
# editor /etc/adjtime

Questo è un esempio:
0.0 0 0.0
0UTC

Il comando seguente permette di impostare il proprio fuso orario.
# dpkg-reconfigure tzdata

D.3.4.4

Configurazione della rete

Per configurare la rete, si deve modificare /etc/network/interfaces, /etc/resolv.conf, /etc/
hostname e /etc/hosts.
# editor /etc/network/interfaces

Alcuni esempi banali da /usr/share/doc/ifupdown/examples:####################################################################### /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)# See the interfaces(5) manpage for information on what options are# available.
####################################################################### The loopback interface isn’t really required any longer, but can be used
# if needed.
## auto lo# iface lo inet loopback# To use dhcp:## auto eth0
# iface eth0 inet dhcp
# An example static IP setup: (network, broadcast and gateway are optional)## auto eth0
# iface eth0 inet static#
address 192.168.0.42#
network 192.168.0.0#
netmask 255.255.255.0#
broadcast 192.168.0.255#
gateway 192.168.0.1

Gli indirizzi dei name server e le direttive search vanno inseriti in /etc/resolv.conf:# editor /etc/resolv.conf

Un semplice esempio di /etc/resolv.conf:
search example.com
nameserver 10.1.1.36
nameserver 192.168.9.100

Inserire l’hostname del proprio sistema (da 2 a 63 caratteri):# echo DebianHostName > /etc/hostname

88

APPENDICE D. MISCELLANEA

D.3. INSTALLAZIONE DI DEBIAN GNU/LINUX DA …

E un semplice /etc/hosts con supporto IPv6:
127.0.0.1 localhost
127.0.1.1 DebianHostName# The following lines are desirable for IPv6 capable hosts::1
ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

In presenza di più schede di rete, si dovrebbero disporre i nomi dei driver nel file /etc/modules nell’ordine
desiderato. In tal modo, durante l’avvio ad ogni scheda verrà associato il nome di interfaccia che ci si aspetta (eth0,
eth1, etc.).
D.3.4.5

Configurazione di Apt

Debootstrap crea un file /etc/apt/sources.list molto semplice che permette l’installazione di altri pacchetti.
Comunque si possono anche aggiungere ulteriori sorgenti, per esempio per i pacchetti sorgente e gli aggiornamenti
alla sicurezza:
deb-src http://ftp.us.debian.org/debian bookworm maindeb http://security.debian.org/ bookworm-security maindeb-src http://security.debian.org/ bookworm-security main

Ricordarsi di eseguire apt update dopo aver modificato il file sources.list.
D.3.4.6

Configurazione del pacchetto locales e della tastiera

Per utilizzare una localizzazione diversa da quella inglese, installare e configurare il pacchetto locales. Si raccomanda l’uso di un locale UTF-8.
# apt install locales# dpkg-reconfigure locales

Per configurare la tastiera (se necessario):# apt install console-setup# dpkg-reconfigure keyboard-configuration

Notare che la tastiera non può essere impostata quando si è all’interno della chroot, sarà possibile configurarla alriavvio successivo.

D.3.5

Installazione di un kernel

Nel caso si intenda avviare il nuovo sistema, servono un kernel Linux e un boot loader. I kernel pacchettizzati
disponibili si trovano con:
# apt search linux-image

Si può quindi installare il pacchetto con il kernel prescelto usando il nome del pacchetto.
# apt install linux-image-arch-etc

D.3.6

Configurazione del boot loader

Per avviare il sistema Debian GNU/Linux, è necessario configurare il proprio boot loader in modo da caricare il kernel
installato con la nuova partizione di root. Notare che debootstrap non installa un boot loader, è possibile installare
un boot loader tramite apt dall’interno della chroot Debian.
Notare che si suppone che il device /dev/sda sia già stato creato. Esistono anche altri metodi per installare
grub2, ma questi non rientrano fra gli scopi di questa appendice.
89

APPENDICE D. MISCELLANEA

D.3.7

D.4. INSTALLAZIONE DI DEBIAN GNU/LINUX …

Accesso remoto: installazione di SSH e impostazione dell’accesso

Chi può accedere al sistema dalla console, può saltare questa sezione. Se il sistema deve essere accessibile da remoto,è necessario installare SSH e impostare l’accesso.
# apt install ssh

Con la configurazione predefinita non è possibile accedere come root tramite password, quindi è necessario prima
impostare una password e poi riattivare l’accesso come root tramite password:# passwd# editor /etc/ssh/sshd_config

Questa è l’opzione da attivare:
PermitRootLogin yesÈ possibile anche configurare l’accesso aggiungendo una chiave ssh all’utente root:# mkdir /root/.ssh# cat << EOF > /root/.ssh/authorized_keys
ssh-rsa ....
EOF

Infine, configurare l’accesso per un utente non-root e impostare la password per questo utente:# adduser joe# passwd joe

D.3.8

Ritocchi finali

Come già detto in precedenza, al termine dell’installazione si dispone di un sistema decisamente basilare. Per rendere
il proprio sistema più completo c’è un metodo molto semplice per installare tutti i pacchetti con priorità «standard»:# tasksel install standard

Ovviamente è possibile usare apt per installare individualmente i pacchetti.
Al termine dell’installazione in /var/cache/apt/archives/ sono presenti i pacchetti scaricati. Si possono
cancellare e quindi liberare un po’ di spazio usando:# apt clean

D.4

Installazione di Debian GNU/Linux utilizzando «PPP over Ethernet»(PPPoE)In alcuni paesi è molto comune l’uso del protocollo «PPP over Ethernet» (PPPoE) per le connessioni a banda larga(ADSL o via cavo) a un Internet Service Provider. L’impostazione di una connessione PPPoE non è normalmente
supportata dall’installatore però può essere preparata molto semplicemente. In questa sezione viene spiegato come.
La connessione PPPoE configurata durante l’installazione rimane disponibile anche dopo il riavvio del sistema
installato (si veda Capitolo 7).
È possibile configurare e utilizzare la connessione PPPoE durante l’installazione solo se si utilizza una delle immagini CD-ROM/DVD disponibili. La connessione PPPoE non è supportata con altri metodi d’installazione (peresempio l’avvio da rete).
L’installazione con PPPoE è molto simile a qualsiasi altra installazione. I seguenti passi spiegano le differenze.
• Avviare l’installatore con il parametro d’avvio modules=ppp-udeb. Questo garantisce che il componente
responsabile della configurazione di PPPoE (ppp-udeb) sia caricato ed eseguito automaticamente.
• Continuare con i normali passi iniziali dell’installazione (selezione di lingua, nazione e tastiera e caricamento
dei componenti aggiuntivi dell’installatore³).
³Il componente ppp-udeb viene caricato in questa fase insieme agli altri componenti aggiuntivi. Se l’installazione avviene con priorità
media oppure bassa (cioè in modalità esperto), è possibile attivare manualmente ppp-udeb anziché doverlo specificare al prompt boot tramite ilparametro «modules».

90

APPENDICE D. MISCELLANEA

D.4. INSTALLAZIONE DI DEBIAN GNU/LINUX …

• Il passo successivo consiste nel riconoscimento dell’hardware di rete per identificare tutte le schede Ethernetpresenti sul sistema.
• Dopo aver effettuato questo passo PPPoE è attivo. L’installatore cerca su ogni interfaccia Ethernet la presenza
di un concentratore per PPPoE (cioè un tipo di server che gestisce connessioni PPPoE).
È possibile che il concentratore non sia trovato al primo tentativo, questo può accadere occasionalmente in reti
particolarmente lente o con molto traffico o con server mal funzionanti. In molti casi un secondo tentativo ha
successo; per riprovare, selezionare Configura e attiva una connessione PPPoE dal menu dell’installatore.
• Dopo aver trovato un concentratore viene chiesto all’utente di inserire le informazioni di login (nome utente e
password per PPPoE).
• Infine l’installatore usa le informazioni appena inserite per stabilire la connessione PPPoE. Se le informazioni
sono corrette, la connessione è pronta e l’installatore può connettersi a Internet per recuperare i pacchetti (senecessario). Se le informazioni per l’accesso sono sbagliate oppure se si verificano degli errori, l’installatore
si ferma ed è possibile ripetere nuovamente la configurazione selezionando Configura e attiva una connessione
PPPoE dal menu.

91

Appendice E

Administrivia
E.1 Informazioni su questo documento
Questo manuale è stato creato per l’Installatore Debian di Sarge basandosi sul manuale d’installazione di boot-floppies
per Woody, che a sua volta si basava sui manuali d’installazione delle precedenti versioni di Debian, e sul manualedella distribuzione Progeny che è stato rilasciato sotto GPL nel 2003.
Questo documento è scritto in DocBook XML. I formati di output sono generati da diversi programmi che usano
informazioni contenute nei pacchetti docbook-xml e docbook-xsl.
Per facilitare la manutenzione di questo documento vengono usate un gran numero di caratteristiche dell’XML,quali le entità e gli attributi, che hanno un ruolo simile a quello delle variabili e dei costrutti condizionali nei linguaggi
di programmazione. Il sorgente XML di questo documento contiene informazioni per ciascuna diversa architettura:
vengono usati degli attributi per isolare determinate parti di testo che sono specifiche di una certa architettura.
La traduzione di questo manuale è coordinata da Luca Monducci. Hanno contribuito alla traduzione Ottavio
Campana, Stefano Canepa, Fabio Pani, Cristian Rigamonti, Giuseppe Sacco e Giuliano.

E.2 Come contribuire
Se si hanno problemi o suggerimenti su questo documento, si dovrebbe inviarli come segnalazioni di bug per il pacchetto installation-guide; consultare il pacchetto reportbug o leggere la documentazione in linea delDebian Bug Tracking System. È preferibile consultare prima l’elenco dei bug aperti per installation-guide per controllare se il problema riscontrato sia già stato comunicato. Se è così, si possono fornire delle informazioni aggiuntive
all’email XXXX @bugs.debian.org, dove XXXX è il numero del bug già presente.
Meglio ancora, ci si può procurare una copia del sorgente DocBook di questo documento e creare delle patch; ilsorgente DocBook può essere trovato nel progetto installation-guide su salsa. Non ci si deve preoccupare se non si
conosce DocBook, c’è una semplice introduzione nella directory dei manuali che permette di iniziare. È molto simile
all’HTML, ma è orientato al contenuto anziché alla presentazione. Le patch devono essere inviate alla mailing list
debian-boot (vedi sotto); per le istruzioni su come recuperare i sorgenti via git, leggere il file README che si trova
nelle directory principale dei sorgenti.
Si prega di non contattare direttamente gli autori di questo documento; esiste una lista di discussione per installatore
Debian, dedicata anche a questioni riguardanti questo manuale: debian-boot@lists.debian.org. Si possono trovare
informazioni su come iscriversi sulla pagina Iscrizione alle mailing list e un archivio web della lista negli Archivi delle
mailing list.

E.3 Contributi principali
Questo documento è stato originariamente scritto da Bruce Perens, Sven Rudolph, Igor Grobman, James Treacy e
Adam Di Carlo. Sebastian Ley ha scritto l’Installation Howto.
Miroslav Kuře ha documentato molte delle nuove funzionalità dell’Installatore Debian per Sarge. Frans Pop è stato
il redattore principale e il responsabile del rilascio per Etch, Lenny e Squeeze.
Sono davvero molti gli utenti e sviluppatori di Debian che hanno contribuito a questo documento; in particolare
vanno ricordati Michael Schmitz (supporto per m68k), Frank Neumann (l’autore originale dell’Amiga install manual),
Arto Astala, Eric Delaunay/Ben Collins (informazioni sulle SPARC), Tapio Lehtonen e Stphane Bortzmeyer per le92

APPENDICE E. ADMINISTRIVIA

E.4. MARCHI REGISTRATI

numerose modifiche e il testo fornito. Si deve anche ringraziare Pascal Le Bail per le informazioni sull’avvio damemorie USB.
Testi e informazioni estremamente utili sono stati trovati nell’HOWTO sull’avvio via rete di Jim Mintha (non è
disponibile un URL), in Debian FAQ, Linux/m68k FAQ, Linux for SPARC Processors FAQ, Linux/Alpha FAQ, tral’altro. Un ringraziamento particolare va ai manutentori di queste ricche fonti di informazioni, liberamente disponibili.
Una parte della sezione di questo manuale sull’installazione con chroot (Sezione D.3) è derivata da alcuni documenti sotto il copyright di Karsten M. Self.

E.4 Marchi registrati
Tutti i marchi registrati sono di proprietà dei rispettivi proprietari.

93

Appendice F

Licenza Pubblica Generica GNU

NOTAThis is an unofficial translation of the GNU General Public License into Italian. It
was not published by the Free Software Foundation, and does not legally state the
distribution terms for software that uses the GNU GPL — only the original English
text of the GNU GPL does that. However, we hope that this translation will help
Italian speakers to better understand the GNU GPL.
Questa è una traduzione italiana non ufficiale della Licenza Pubblica Generica
GNU. Non è pubblicata dalla Free Software Foundation e non ha valore legale nell’esprimere i termini di distribuzione del software che usa la licenza GPL. Solo laversione originale in inglese della licenza ha valore legale. Ad ogni modo, speriamo
che questa traduzione aiuti le persone di lingua italiana a capire meglio il significatodella licenza GPL. Traduzione curata da gruppo Pluto, da ILS e dal gruppo italiano
di traduzione GNU. Ultimo aggiornamento 19 aprile 2000.
Versione 2, Giugno 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
Chiunque può copiare e distribuire copie letterali di questo documento
di licenza, ma non ne è permessa la modifica.

F.1

Preambolo

Le licenze della maggior parte dei programmi hanno lo scopo di togliere all’utente la libertà di condividere e modificare
il programma stesso. Viceversa, la Licenza Pubblica Generica GNU è intesa a garantire la libertà di condividere emodificare il software libero, al fine di assicurare che i programmi siano liberi per tutti i loro utenti. Questa Licenzasi applica alla maggioranza dei programmi della Free Software Foundation e ad ogni altro programma i cui autori
hanno deciso di usare questa Licenza. Alcuni altri programmi della Free Software Foundation sono invece coperti
dalla Licenza Pubblica Generica Minore. Chiunque può usare questa Licenza per i propri programmi.
Quando si parla di software libero (free software), ci si riferisce alla libertà, non al prezzo. Le nostre Licenze (laGPL e la LGPL) sono progettate per assicurarsi che ciascuno abbia la libertà di distribuire copie del software libero(e farsi pagare per questo, se vuole), che ciascuno riceva il codice sorgente o che lo possa ottenere se lo desidera, checiascuno possa modificare il programma o usarne delle parti in nuovi programmi liberi e che ciascuno sappia di potere
fare queste cose.
Per proteggere i diritti dell’utente, abbiamo bisogno di creare delle restrizioni che vietino a chiunque di negare
questi diritti o di chiedere di rinunciarvi. Queste restrizioni si traducono in certe responsabilità per chi distribuisce
copie del software e per chi lo modifica.

94

APPENDICE F. LICENZA PUBBLICA GENERICA GNU

F.2. LICENZA PUBBLICA GENERICA GNU

Per esempio, chi distribuisce copie di un programma coperto da GPL, sia gratis sia in cambio di un compenso,
deve concedere ai destinatari tutti i diritti che ha ricevuto. Deve anche assicurarsi che i destinatari ricevano o possano
ottenere il codice sorgente. E deve mostrar loro queste condizioni di licenza, in modo che essi conoscano i propri
diritti.
Proteggiamo i diritti dell’utente in due modi: (1) proteggendo il software con un copyright, e (2) offrendo una
licenza che dia il permesso legale di copiare, distribuire e modificare il Programma.
Inoltre, per proteggere ogni autore e noi stessi, vogliamo assicurarci che ognuno capisca che non ci sono garanzie
per i programmi coperti da GPL. Se il programma viene modificato da qualcun altro e ridistribuito, vogliamo che gli
acquirenti sappiano che ciò che hanno non è l’originale, in modo che ogni problema introdotto da altri non si rifletta
sulla reputazione degli autori originari.
Infine, ogni programma libero è costantemente minacciato dai brevetti sui programmi. Vogliamo evitare il pericolo
che chi ridistribuisce un programma libero ottenga la proprietà di brevetti, rendendo in pratica il programma cosa di
sua proprietà. Per prevenire questa evenienza, abbiamo chiarito che ogni brevetto debba essere concesso in licenza
d’uso a chiunque, o non avere alcuna restrizione di licenza d’uso.
Seguono i termini e le condizioni precisi per la copia, la distribuzione e la modifica.

F.2

LICENZA PUBBLICA GENERICA GNU

TERMINI E CONDIZIONI PER LA COPIA, LA DISTRIBUZIONE E LA MODIFICA
0. Questa Licenza si applica a ogni programma o altra opera che contenga una nota da parte del detentore delcopyright che dica che tale opera può essere distribuita sotto i termini di questa Licenza Pubblica Generica. Il termine«Programma» nel seguito si riferisce ad ogni programma o opera così definita, e l’espressione «opera basata sul
Programma» indica sia il Programma sia ogni opera considerata «derivata» in base alla legge sul copyright; in altre
parole, un’opera contenente il Programma o una porzione di esso, sia letteralmente sia modificato o tradotto in un’altra
lingua. Da qui in avanti, la traduzione è in ogni caso considerata una «modifica». Vengono ora elencati i diritti dei
beneficiari della licenza.
Attività diverse dalla copiatura, distribuzione e modifica non sono coperte da questa Licenza e sono al di fuoridella sua influenza. L’atto di eseguire il Programma non viene limitato, e l’output del programma è coperto da questa
Licenza solo se il suo contenuto costituisce un’opera basata sul Programma (indipendentemente dal fatto che sia stato
creato eseguendo il Programma). In base alla natura del Programma il suo output può essere o meno coperto da questa
Licenza.
1. È lecito copiare e distribuire copie letterali del codice sorgente del Programma così come viene ricevuto, conqualsiasi mezzo, a condizione che venga riprodotta chiaramente su ogni copia una appropriata nota di copyright e diassenza di garanzia; che si mantengano intatti tutti i riferimenti a questa Licenza e all’assenza di ogni garanzia; che si
dia a ogni altro destinatario del Programma una copia di questa Licenza insieme al Programma.
È possibile richiedere un pagamento per il trasferimento fisico di una copia del Programma, è anche possibile a
propria discrezione richiedere un pagamento in cambio di una copertura assicurativa.
2. È lecito modificare la propria copia o copie del Programma, o parte di esso, creando perciò un’opera basata sul
Programma, e copiare o distribuire tali modifiche o tale opera secondo i termini del precedente comma 1, a patto che
siano soddisfatte tutte le condizioni che seguono:
a. Bisogna indicare chiaramente nei file che si tratta di copie modificate e la data di ogni modifica.
b. Bisogna fare in modo che ogni opera distribuita o pubblicata, che in parte o nella sua totalità derivi dal Programma o da parti di esso, sia concessa nella sua interezza in licenza gratuita ad ogni terza parte, secondo i
termini di questa Licenza.
c. Se normalmente il programma modificato legge comandi interattivamente quando viene eseguito, bisogna farein modo che all’inizio dell’esecuzione interattiva usuale, esso stampi un messaggio contenente una appropriata
nota di copyright e di assenza di garanzia (oppure che specifichi il tipo di garanzia che si offre). Il messaggio
deve inoltre specificare che chiunque può ridistribuire il programma alle condizioni qui descritte e deve indicare
come reperire questa Licenza. Se però il programma di partenza è interattivo ma normalmente non stampa talemessaggio, non occorre che un’opera basata sul Programma lo stampi.
Questi requisiti si applicano all’opera modificata nel suo complesso. Se sussistono parti identificabili dell’opera
modificata che non siano derivate dal Programma e che possono essere ragionevolmente considerate lavori indipendenti, allora questa Licenza e i suoi termini non si applicano a queste parti quando queste vengono distribuite
separatamente. Se però queste parti vengono distribuite all’interno di un prodotto che è un’opera basata sul Programma, la distribuzione di quest’opera nella sua interezza deve avvenire nei termini di questa Licenza, le cui norme nei
confronti di altri utenti si estendono all’opera nella sua interezza, e quindi ad ogni sua parte, chiunque ne sia l’autore.
95

APPENDICE F. LICENZA PUBBLICA GENERICA GNU

F.2. LICENZA PUBBLICA GENERICA GNU

Quindi, non è nelle intenzioni di questa sezione accampare diritti, né contestare diritti su opere scritte interamenteda altri; l’intento è piuttosto quello di esercitare il diritto di controllare la distribuzione di opere derivati dal Programmao che lo contengano.
Inoltre, la semplice aggregazione di un’opera non derivata dal Programma col Programma o con un’opera daesso derivata su di un mezzo di memorizzazione o di distribuzione, non è sufficiente a includere l’opera non derivata
nell’ambito di questa Licenza.
3. È lecito copiare e distribuire il Programma (o un’opera basata su di esso, come espresso al comma 2) sotto
forma di codice oggetto o eseguibile secondo i termini dei precedenti commi 1 e 2, a patto che si applichi una delle
seguenti condizioni:
a. Il Programma sia corredato del codice sorgente completo, in una forma leggibile da calcolatore, e tale sorgente
sia fornito secondo le regole dei precedenti commi 1 e 2 su di un mezzo comunemente usato per lo scambio diprogrammi.
b. Il Programma sia accompagnato da un’offerta scritta, valida per almeno tre anni, di fornire a chiunque nefaccia richiesta una copia completa del codice sorgente, in una forma leggibile da calcolatore, in cambio di uncompenso non superiore al costo del trasferimento fisico di tale copia, che deve essere fornita secondo le regole
dei precedenti commi 1 e 2 su di un mezzo comunemente usato per lo scambio di programmi.
c. Il Programma sia accompagnato dalle informazioni che sono state ricevute riguardo alla possibilità di ottenere
il codice sorgente. Questa alternativa è permessa solo in caso di distribuzioni non commerciali e solo se il
programma è stato ottenuto sotto forma di codice oggetto o eseguibile in accordo al precedente comma B.
Per «codice sorgente completo» di un’opera si intende la forma preferenziale usata per modificare un’opera. Per
un programma eseguibile, «codice sorgente completo» significa tutto il codice sorgente di tutti i moduli in esso contenuti, più ogni file associato che definisca le interfacce esterne del programma, più gli script usati per controllare
la compilazione e l’installazione dell’eseguibile. In ogni caso non è necessario che il codice sorgente fornito includa
nulla che sia normalmente distribuito (in forma sorgente o in formato binario) con i principali componenti del sistema operativo sotto cui viene eseguito il Programma (compilatore, kernel, e così via), a meno che tali componenti
accompagnino l’eseguibile.
Se la distribuzione dell’eseguibile o del codice oggetto è effettuata indicando un luogo dal quale sia possibile
copiarlo, permettere la copia del codice sorgente dallo stesso luogo è considerata una valida forma di distribuzione delcodice sorgente, anche se copiare il sorgente è facoltativo per l’acquirente.
4. Non è lecito copiare, modificare, sublicenziare, o distribuire il Programma in modi diversi da quelli espressamente previsti da questa Licenza. Ogni tentativo di copiare, modificare, sublicenziare o distribuire il Programma nonè autorizzato, e farà terminare automaticamente i diritti garantiti da questa Licenza. D’altra parte ogni acquirente che
abbia ricevuto copie, o diritti, coperti da questa Licenza da parte di persone che violano la Licenza come qui indicato
non vedranno invalidata la loro Licenza, purché si comportino conformemente ad essa.
5. L’acquirente non è tenuto ad accettare questa Licenza, poiché non l’ha firmata. D’altra parte nessun altro
documento garantisce il permesso di modificare o distribuire il Programma o i lavori derivati da esso. Queste azioni
sono proibite dalla legge per chi non accetta questa Licenza; perciò, modificando o distribuendo il Programma o
un’opera basata sul programma, si indica nel fare ciò l’accettazione di questa Licenza e quindi di tutti i suoi termini ele condizioni poste sulla copia, la distribuzione e la modifica del Programma o di lavori basati su di esso.
6. Ogni volta che il Programma o un’opera basata su di esso vengono distribuiti, l’acquirente riceve automaticamente una licenza d’uso da parte del licenziatario originale. Tale licenza regola la copia, la distribuzione e la modificadel Programma secondo questi termini e queste condizioni. Non è lecito imporre restrizioni ulteriori all’acquirente nel
suo esercizio dei diritti qui garantiti. Chi distribuisce programmi coperti da questa Licenza non è comunque tenuto
a imporre il rispetto di questa Licenza a terzi.
7. Se, come conseguenza del giudizio di un tribunale, o di una imputazione per la violazione di un brevetto o
per ogni altra ragione (non limitatamente a questioni di brevetti), vengono imposte condizioni che contraddicono lecondizioni di questa licenza, che queste condizioni siano dettate dalla corte, da accordi tra le parti o altro, queste
condizioni non esimono nessuno dall’osservazione di questa Licenza. Se non è possibile distribuire un prodotto in unmodo che soddisfi simultaneamente gli obblighi dettati da questa Licenza e altri obblighi pertinenti, il prodotto nonpuò essere affatto distribuito. Per esempio, se un brevetto non permettesse a tutti quelli che lo ricevono di ridistribuire
il Programma senza obbligare al pagamento di diritti, allora l’unico modo per soddisfare contemporaneamente ilbrevetto e questa Licenza e’ di non distribuire affatto il Programma.
Se una qualunque parte di questo comma è ritenuta non valida o non applicabile in una qualunque circostanza,
deve comunque essere applicata l’idea espressa da questo comma; in ogni altra circostanza invece deve essere applicato
questo comma nel suo complesso.
Non è nelle finalità di questo comma indurre gli utenti ad infrangere alcun brevetto né ogni altra rivendicazione
di diritti di proprietà, né di contestare la validità di alcuna di queste rivendicazioni; lo scopo di questo comma è96

APPENDICE F. LICENZA PUBBLICA GENERICA GNU

F.3. COME APPLICARE QUESTI TERMINI A …

unicamente quello di proteggere l’integrità del sistema di distribuzione dei programmi liberi, che viene realizzato
tramite l’uso di licenze pubbliche. Molte persone hanno contribuito generosamente alla vasta gamma di programmi
distribuiti attraverso questo sistema, basandosi sull’applicazione fedele di tale sistema. L’autore/donatore può decideredi sua volontà se preferisce distribuire il software avvalendosi di altri sistemi, e l’acquirente non può imporre la sceltadel sistema di distribuzione.
Questo comma serve a rendere il più chiaro possibile ciò che crediamo sia una conseguenza del resto di questa
Licenza.
8. Se in alcuni paesi la distribuzione o l’uso del Programma sono limitati da brevetto o dall’uso di interfacce coperte
da copyright, il detentore del copyright originale che pone il Programma sotto questa Licenza può aggiungere limiti
geografici espliciti alla distribuzione, per escludere questi paesi dalla distribuzione stessa, in modo che il programma
possa essere distribuito solo nei paesi non esclusi da questa regola. In questo caso i limiti geografici sono inclusi inquesta Licenza e ne fanno parte a tutti gli effetti.
9. All’occorrenza la Free Software Foundation può pubblicare revisioni o nuove versioni di questa Licenza Pubblica Generica. Tali nuove versioni saranno simili a questa nello spirito, ma potranno differire nei dettagli al fine dicoprire nuovi problemi e nuove situazioni. Ad ogni versione viene dato un numero identificativo. Se il Programma
asserisce di essere coperto da una particolare versione di questa Licenza e «da ogni versione successiva», l’acquirentepuò scegliere se seguire le condizioni della versione specificata o di una successiva. Se il Programma non specifica
quale versione di questa Licenza deve applicarsi, l’acquirente può scegliere una qualsiasi versione tra quelle pubblicate
dalla Free Software Foundation.
10. Se si desidera incorporare parti del Programma in altri programmi liberi le cui condizioni di distribuzione
differiscano da queste, è possibile scrivere all’autore del Programma per chiederne l’autorizzazione. Per il software il
cui copyright è detenuto dalla Free Software Foundation, si scriva alla Free Software Foundation; talvolta facciamo
eccezioni alle regole di questa Licenza. La nostra decisione sarà guidata da due finalità: preservare la libertà di tutti i
prodotti derivati dal nostro software libero e promuovere la condivisione e il riutilizzo del software in generale.
NON C’È GARANZIA
11. POICHÉ IL PROGRAMMA È CONCESSO IN USO GRATUITAMENTE, NON C’È GARANZIA PER IL
PROGRAMMA, NEI LIMITI PERMESSI DALLE VIGENTI LEGGI. SE NON INDICATO DIVERSAMENTEPER ISCRITTO, IL DETENTORE DEL COPYRIGHT E LE ALTRE PARTI FORNISCONO IL PROGRAMMA«COSÌ COM’È», SENZA ALCUN TIPO DI GARANZIA, NÉ ESPLICITA NÉ IMPLICITA; CIÒ COMPRENDE,SENZA LIMITARSI A QUESTO, LA GARANZIA IMPLICITA DI COMMERCIABILITÀ E UTILIZZABILITÀPER UN PARTICOLARE SCOPO. L’INTERO RISCHIO CONCERNENTE LA QUALITÀ E LE PRESTAZIONI DEL PROGRAMMA È DELL’ACQUIRENTE. SE IL PROGRAMMA DOVESSE RIVELARSI DIFETTOSO, L’ACQUIRENTE SI ASSUME IL COSTO DI OGNI MANUTENZIONE, RIPARAZIONE O CORREZIONE
NECESSARIA.
12. NÉ IL DETENTORE DEL COPYRIGHT NÉ ALTRE PARTI CHE POSSONO MODIFICARE O RIDISTRIBUIRE IL PROGRAMMA COME PERMESSO IN QUESTA LICENZA SONO RESPONSABILI PERDANNI NEI CONFRONTI DELL’ACQUIRENTE, A MENO CHE QUESTO NON SIA RICHIESTO DALLELEGGI VIGENTI O APPAIA IN UN ACCORDO SCRITTO. SONO INCLUSI DANNI GENERICI, SPECIALIO INCIDENTALI, COME PURE I DANNI CHE CONSEGUONO DALL’USO O DALL’IMPOSSIBILITÀ DI
USARE IL PROGRAMMA; CIÒ COMPRENDE, SENZA LIMITARSI A QUESTO, LA PERDITA DI DATI, LA
CORRUZIONE DEI DATI, LE PERDITE SOSTENUTE DALL’ACQUIRENTE O DA TERZI E L’INCAPACITÀ
DEL PROGRAMMA A INTERAGIRE CON ALTRI PROGRAMMI, ANCHE SE IL DETENTORE O ALTRE
PARTI SONO STATE AVVISATE DELLA POSSIBILITÀ DI QUESTI DANNI.
FINE DEI TERMINI E DELLE CONDIZIONI

F.3

Come applicare questi termini a nuovi programmi

Se si sviluppa un nuovo programma e lo si vuole rendere della maggiore utilità possibile per il pubblico, la cosa migliore
da fare è rendere tale programma libero, cosicché ciascuno possa ridistribuirlo e modificarlo sotto questi termini.
Per fare questo, si inserisca nel programma la seguente nota. La cosa migliore da fare è mettere la nota all’iniziodi ogni file sorgente, per chiarire nel modo più efficiente possibile l’assenza di garanzia; ogni file dovrebbe contenere
almeno la nota di copyright e l’indicazione di dove trovare l’intera nota.
una riga per dire in breve il nome del programma e cosa fa
Copyright (C) anno nome dell’autore
Questo programma è software libero; è lecito ridistribuirlo o
modificarlo secondo i termini della Licenza Pubblica Generica GNU
come è pubblicata dalla Free Software Foundation; o la versione 297

APPENDICE F. LICENZA PUBBLICA GENERICA GNU

F.3. COME APPLICARE QUESTI TERMINI A …

della licenza o (a propria scelta) una versione successiva.
Questo programma è distribuito nella speranza che sia utile, ma
SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di
NEGOZIABILITÀ o di APPLICABILITÀ PER UN PARTICOLARE SCOPO. Si
veda la Licenza Pubblica Generica GNU per avere maggiori dettagli.
Questo programma deve essere distribuito assieme ad una copiadella Licenza Pubblica Generica GNU; in caso contrario, se ne può
ottenere una scrivendo alla Free Software Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Si aggiungano anche informazioni su come si può essere contattati tramite posta elettronica e cartacea.
Se il programma è interattivo, si faccia in modo che stampi una breve nota simile a questa quando viene usato
interattivamente:
Orcaloca versione 69, Copyright (C) anno nome dell’autore
Orcaloca non ha ALCUNA GARANZIA; per dettagli usare il comando show g.
Questo è software libero, e ognuno è libero di ridistribuirlo secondo
certe condizioni; usare il comando show c per i dettagli.

Gli ipotetici comandi «show g» e «show c» mostreranno le parti appropriate della Licenza Pubblica Generica.
Chiaramente, i comandi usati possono essere chiamati diversamente da «show g» e «show c» e possono anche essere
selezionati con il mouse o attraverso un menu, o comunque sia pertinente al programma.
Se necessario, si deve anche far firmare al proprio datore di lavoro (per chi lavora come programmatore) o alla
propria scuola, per chi è studente, una «rinuncia al copyright» per il programma. Ecco un esempio con nomi fittizi:
Yoyodinamica SPA rinuncia con questo documento ad ogni diritto sul
copyright del programma Orcaloca (che svolge dei passi dicompilazione) scritto da Giovanni Smanettone.
firma di Primo Tizio, 1 aprile 1989
Primo Tizio, Presidente

I programmi coperti da questa Licenza Pubblica Generica non possono essere incorporati all’interno di programmi
proprietari. Se il proprio programma è una libreria di funzioni, può essere più utile permettere di collegare applicazioni
proprietarie alla libreria. Se si ha questa intenzione consigliamo di usare la Licenza Pubblica Generica Minore GNU(LGPL) invece di questa Licenza.

98