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 patch
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 ufficiali 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 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
4.2.1 Provare un'immagine ISO con Qemu
4.2.2 Provare un'immagine ISO con virtualbox-ose
4.2.3 Masterizzare un'immagine ISO su un supporto fisico
4.3 Creare un'immagine USB/HDD
4.3.1 Copiare un'immagine USB/HDD su una penna USB
4.3.2 Provare un'immagine USB/HDD con Qemu
4.3.3 Usare lo spazio rimanente su una penna USB
4.4 Creare un'immagine netboot
4.4.1 Server DHCP
4.4.2 Server TFTP
4.4.3 Server NFS
4.4.4 Come provare una netboot
4.4.5 Qemu
4.4.6 VMWare Player

5. Panoramica degli strumenti

5.1 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 auto script

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 Scegliere pochi pacchetti
8.2.2 Elenchi di pacchetti
8.2.3 Elenchi predefiniti di pacchetti
8.2.4 Elenchi locali dei pacchetti
8.2.5 Elenchi locali di pacchetti binari
8.2.6 Estendere un'elenco di pacchetti usando gli include
8.2.7 Usare condizioni all'interno degli elenchi di pacchetti
8.2.8 Task
8.2.9 Task per desktop e lingua
8.3 Installare pacchetti modificati o di terze parti
8.3.1 Utilizzare chroot_local-packages 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 Persistenza completa
10.3.2 Mount automatico della home
10.3.3 Istantanee
10.3.4 Sottotesto persistente
10.3.5 Rimasterizzazione parziale

11. Personalizzare l'immagine binaria

11.1 Bootloader
11.2 Metadati ISO

12. Personalizzare il Debian Installer

12.1 Tipologie del Debian Installer
12.2 Personalizzare il Debian Installer con la preconfigurazione
12.3 Personalizzare il contenuto del Debian Installer

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 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

Manuale di Debian Live

Progetto

14. Lo stile nello scrivere codice

Questo capitolo documenta lo stile usato per il codice di live-boot e gli altri.

14.1 Compatibilità

  • Non usare sintassi o semantiche mirate alla shell Bash. Ad esempio, l'uso di costrutti array.
  • Utilizzare solo il sottoinsieme POSIX - ad esempio, usare $(foo) invece di `foo`.
  • È possibile verificare i propri script con "sh -n" e "checkbashisms".
  • 14.2 Rientri

  • Usare sempre i tab piuttosto che gli spazi.
  • 14.3 Ritorno a capo

  • Generalmente le righe sono composte da un massimo di 80 caratteri.
  • Utilizzare lo "stile Linux" per le interruzioni di riga:
  • Sbagliato:

       if foo; then
               bar
       fi

    Corretto:

       if foo
       then
               bar
       fi

  • Lo stesso vale per le funzioni:
  • Sbagliato:

       foo () {
               bar
       }

    Corretto:

       foo ()
       {
               bar
       }

    14.4 Variabili

  • Le variabili vanno sempre scritte in maiuscolo.
  • Le variabili usate in lb config iniziano sempre con il prefisso LB_.
  • Le variabili interne temporanee in live-build dovrebbero iniziare con il prefisso _LB_.
  • Le variabili locali iniziano con il prefisso live-build __LB_.
  • Le variabili in live-config relative ai parametri di avvio iniziano con LIVE_.
  • Tutte le altre variabili in live-config iniziano con il prefisso _.
  • Intorno alle variabili utilizzare le graffe; ad esempio scrivere ${FOO} invece di $FOO.
  • Proteggere sempre le variabili con le virgolette per rispettare potenziali spaziature: scrivere "${FOO}" e non ${FOO}.
  • Per ragioni di coerenza, usare sempre le virgolette quando si assegnano valori alle variabili:
  • Sbagliato:

       FOO=bar

    Corretto:

       FOO="bar"

  • Utilizzando variabili multiple, quotare l'intera espressione:
  • Sbagliato:

       if [ -f "${FOO}"/foo/"${BAR}"/bar ]
       then
               foobar
       fi

    Corretto:

       if [ -f "${FOO}/foo/${BAR}/bar" ]
       then
               foobar
       fi

    14.5 Varie

  • Per le chiamate a sed utilizzare "|" (senza virgolette intorno) come separatore, ad esempio "sed -e 's|foo|bar|'" (senza "").
  • Non utilizzare il comando test per prove o confronti, usare "[" "]" (senza ""); ad esempio "if [ -x /bin/foo ]; ..." e non "if test -x /bin/foo; ...".
  • Ove possibile utilizzare case invece di test, essendo più facile da leggere e più veloce in esecuzione.