Manuale di Debian Live

A proposito

1. A proposito di questo manuale

1.1 Per gli impazienti
1.2 Glossario
1.3 Autori
1.4 Contribuire a questo documento
1.4.1 Applicare le modifiche
1.4.2 Traduzione

2. A proposito del progetto Debian Live

2.1 Motivazioni
2.1.1 Cosa c'è di sbagliato con gli attuali sistemi live
2.1.2 Perché creare il proprio sistema live?
2.2 Filosofia
2.2.1 Solamente pacchetti da Debian "main", inalterati.
2.2.2 Nessun pacchetto di configurazione per il sistema live
2.3 Contatti

Utente

3. Installazione

3.1 Requisiti
3.2 Installare live-build
3.2.1 Dal repository Debian
3.2.2 Da sorgenti
3.2.3 Da "istantanee"
3.3 Installare live-boot e live-config
3.3.1 Dal repository Debian
3.3.2 Da sorgenti
3.3.3 Da "istantanee"

4. Nozioni di base

4.1 Che cos'è un sistema live?
4.2 Primi passi: creare un'immagine ISO ibrida
4.3 Utilizzare un'immagine ISO live ibrida
4.3.1 Masterizzare un'immagine ISO su un supporto fisico
4.3.2 Copiare un'immagine ISO ibrida su una penna USB
4.3.3 Avviare il supporto live
4.4 Utilizzare una macchina virtuale per le prove
4.4.1 Provare un'immagine ISO con QEMU
4.4.2 Provare un'immagine ISO con virtualbox-ose
4.5 Creare un'immagine HDD
4.6 Utilizzare un'immagine HDD
4.6.1 Provare un'immagine HDD con Qemu
4.6.2 Usare lo spazio rimanente su una penna USB
4.7 Creare un'immagine netboot
4.7.1 Server DHCP
4.7.2 Server TFTP
4.7.3 Server NFS
4.7.4 Come provare una netboot
4.7.5 Qemu
4.7.6 VMWare Player

5. Panoramica degli strumenti

5.1 Il pacchetto live-build
5.1.1 Il comando lb config
5.1.2 Il comando lb build
5.1.3 Il comando lb clean
5.2 Il pacchetto live-boot
5.3 Il pacchetto live-config

6. Gestire una configurazione

6.1 Utilizzare auto per gestire i cambiamenti di configurazione
6.2 Esempi di script automatici

7. Panoramica sulla personalizzazione

7.1 Configurazione in fase di compilazione e di avvio
7.2 Fasi della creazione
7.3 Integrare la configurazione di lb con dei file
7.4 Personalizzazione dei compiti

8. Personalizzare l'installazione dei pacchetti

8.1 Sorgenti dei pacchetti
8.1.1 Distribuzione, le aree di archivio e le modalità
8.1.2 Mirror delle distribuzioni
8.1.3 Mirror delle distribuzioni usati in fase di compilazione
8.1.4 Mirror delle distribuzioni usate durante l'esecuzione
8.1.5 Repository addizionali
8.2 Scegliere i pacchetti da installare
8.2.1 Elenchi di pacchetti
8.2.2 Elenchi predefiniti di pacchetti
8.2.3 Elenchi locali dei pacchetti
8.2.4 Elenchi locali di pacchetti binari
8.2.5 Estendere un'elenco di pacchetti usando gli include
8.2.6 Usare condizioni all'interno degli elenchi di pacchetti
8.2.7 Task
8.2.8 Task per desktop e lingua
8.3 Installare pacchetti modificati o di terze parti
8.3.1 Utilizzare packages.chroot per installare pacchetti personalizzati
8.3.2 Utilizzare un repository APT per installare pacchetti personalizzati
8.3.3 Pacchetti personalizzati e APT
8.4 Configurare APT in fase di costruzione
8.4.1 Scegliere apt o aptitude
8.4.2 Utilizzare un proxy con APT
8.4.3 Modificare APT per risparmiare spazio
8.4.4 Passare opzioni ad apt o aptitude
8.4.5 APT pinning

9. Personalizzazione dei contenuti

9.1 Include
9.1.1 Live/chroot include locali
9.1.2 Include locali binari
9.1.3 Include binari
9.2 Hook
9.2.1 Live/chroot hook locali
9.2.2 Hook in fase di avvio
9.2.3 Hook binari locali
9.3 Preconfigurare le domande di Debconf

10. Personalizzare i comportamenti durante l'esecuzione

10.1 Personalizzare l'utente live
10.2 Personalizzare la localizzazione e la lingua
10.3 Persistenza
10.3.1 The live-persistence.conf file
10.3.2 Sottotesto persistente

11. Personalizzare l'immagine binaria

11.1 Bootloader
11.2 Metadati ISO

12. Personalizzare l'Installatore Debian

12.1 Tipologie dell'Installatore Debian
12.2 Personalizzare il Debian Installer con la preconfigurazione
12.3 Personalizzare il contenuto dell'Installatore Debian

Progetto

13. Segnalare bug

13.1 Problemi noti
13.2 Ricostruire da zero
13.3 Usare pacchetti aggiornati
13.4 Raccogliere informazioni
13.5 Se possibile isolare il caso non andato a buon fine
13.6 Segnalare il bug del pacchetto giusto
13.6.1 Durante la compilazione mentre esegue il bootstrap
13.6.2 Durante la compilazione mentre installa i pacchetti
13.6.3 In fase di avvio
13.6.4 In fase di esecuzione
13.7 Fare la ricerca
13.8 Dove segnalare i bug

14. Lo stile nello scrivere codice

14.1 Compatibilità
14.2 Rientri
14.3 Ritorno a capo
14.4 Variabili
14.5 Varie

15. Procedure

15.1 Aggiornamenti degli udeb
15.2 Rilasci importanti
15.3 Rilasci minori
15.3.1 Ultimo rilascio minore di un rilascio di Debian.
15.3.2 Modello per l'annuncio di un rilascio minore.

Esempi

16. Esempi

16.1 Usare gli esempi
16.2 Tutorial 1: un'immagine standard
16.3 Tutorial 2: servizio browser web
16.4 Tutorial 3: un'immagine personalizzata
16.4.1 Prima revisione
16.4.2 Seconda revisione
16.5 Un client Kiosk VNC
16.6 Un'immagine base per una chiavetta USB da 128M
16.7 Un desktop KDE localizzato e l'installer

Appendix

17. Style guide

17.1 Guidelines for authors
17.1.1 Linguistic features
17.1.2 Procedures
17.2 Guidelines for translators
17.2.1 Translation hints

Manuale di Debian Live

Utente

6. Gestire una configurazione

Questo capitolo spiega come gestire una configurazione per una live sin dalla creazione iniziale, attraverso le successive revisioni e rilasci sia del software live-build che della stessa immagine.

6.1 Utilizzare auto per gestire i cambiamenti di configurazione

Le configurazioni live raramente sono perfette da riuscire al primo colpo, servono una serie di revisioni prima di essere soddisfatti. Tuttavia, se non si presta attenzione, possono verificarsi delle incoerenze tra una revisione e l'altra se non si presta attenzione. Il problema principale è che una volta assegnato un valore predefinito ad una variabile, tale valore non sarà ricalcolato da altre variabili che possono cambiare in altre revisioni.

Per esempio, durante la prima configurazione della distribuzione, a molte variabili 'dipendenti' vengono dati valori predefiniti che si adattino.Per cui se in seguito si decide di cambiare distribuzione, quelle variabili continueranno a mantenere vecchi valori non più appropriati.

Un secondo problema correlato è l'eseguire lb config e aggiornare alla nuova versione di live-build il quale ha cambiato il nome di una delle variabili, lo si può scoprire solamente con una revisione manuale delle variabili nei file config/*, che sarà necessario utilizzare per impostare nuovamente le opzioni appropriate.

Tutto ciò potrebbe essere un fastidio terribile se non fosse per gli script auto/*, semplici wrapper ai comandi lb config, lb build e lb clean, designati per aiutare nella gestione della propria configurazione. Basta creare uno script auto/config che contenga il comando lb config con le opzioni desiderate e un auto/clean che rimuove i file contenenti valori delle variabili di configurazione, così ogni volta che si usano lb config e lb clean questi file saranno eseguiti. Ciò fà sì che la configurazione sia coerente da una revisione all'altra e tra i rilasci delle varie versioni di live-build (sebbene si dovrà comunque fare attenzione aggiornando live-build, leggendo la documentazione e facendo le modifiche necessarie).

6.2 Esempi di script automatici

Usare esempi di script automatici come il seguente come punto di partenza per una nuova configurazione di live-build. Si noti che quando si invoca il comando lb incluso nello script, si deve specificare il parametro noauto per essere certi che lo script stesso non venga richiamato ricorsivamente. Non dimenticare, inoltre, di accertarsi che gli script siano eseguibili (es. chmod 755 auto/*).

auto/config

#!/bin/sh
lb config noauto \
     --package-lists "standard" \
     "${@}"

auto/clean

#!/bin/sh
lb clean noauto "${@}"
rm -f config/binary config/bootstrap \
     config/chroot config/common config/source
rm -f build.log

auto/build

#!/bin/sh
lb build noauto "${@}" 2>&1 | tee build.log

Facciamo un esempio di script automatico per live-build basato sugli esempi precedenti; si possono copiare come punto di partenza.

$ cp /usr/share/live/build/examples/auto/* auto/

Modificare auto/config aggiungendo o togliendo le opzioni come meglio credi. Nel precedente esempio, --package-lists standard è impostato al valore predefinito; cambiarlo in un valore appropriato per l'immagine (o cancellarlo se si desidera utilizzare un valore predefinito) e aggiungere eventuali opzioni ulteriori in continuazione delle righe che seguono.