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 Cos'è un sistema live?
4.2 Scaricare immagini precompilate
4.3 Utilizzare il web builder per le immagini live
4.3.1 Utilizzo del web builder e raccomandazioni
4.4 Primi passi: creare un'immagine ISO ibrida
4.5 Utilizzare un'immagine ISO live ibrida
4.5.1 Masterizzare un'immagine ISO su un supporto fisico
4.5.2 Copiare un'immagine ISO ibrida su una penna USB
4.5.3 Usare lo spazio rimanente su una penna USB
4.5.4 Avviare il supporto live
4.6 Utilizzare una macchina virtuale per le prove
4.6.1 Provare un'immagine ISO con QEMU
4.6.2 Provare un'immagine ISO con virtualbox
4.7 Creare e utilizzare un'immagine HDD
4.8 Creare un'immagine netboot
4.8.1 Server DHCP
4.8.2 Server TFTP
4.8.3 Server NFS
4.8.4 Come provare una netboot
4.8.5 Qemu

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 Gestire i cambiamenti di configurazione
6.1.1 Perché utilizzare gli script automatici? Cosa fanno?
6.1.2 Esempi d'uso di script automatici
6.2 Clonare una configurazione pubblicata tramite Git.

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 Usare metapacchetti
8.2.3 Elenchi locali dei pacchetti
8.2.4 Elenchi locali di pacchetti binari
8.2.5 Elenchi di pacchetti generati
8.2.6 Usare condizioni all'interno degli elenchi di pacchetti
8.2.7 Task per desktop e lingua
8.2.8 Tipi e versioni del kernel
8.2.9 Kernel personalizzati
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 compilazione
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.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 Il file persistence.conf
10.3.2 Utilizzare più di un'archiviazione 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. Contribuire al progetto

13.1 Applicare le modifiche

14. Segnalare bug

14.1 Problemi noti
14.2 Ricompilare da zero
14.3 Usare pacchetti aggiornati
14.4 Raccogliere informazioni
14.5 Se possibile isolare il caso non andato a buon fine
14.6 Segnalare il bug del pacchetto giusto
14.6.1 Durante la compilazione mentre esegue il bootstrap
14.6.2 Durante la compilazione mentre installa i pacchetti
14.6.3 In fase di avvio
14.6.4 In fase di esecuzione
14.7 Fare la ricerca
14.8 Dove segnalare i bug

15. Lo stile nello scrivere codice

15.1 Compatibilità
15.2 Rientri
15.3 Ritorno a capo
15.4 Variabili
15.5 Varie

16. Procedure

16.1 Rilasci importanti
16.2 Rilasci minori
16.2.1 Ultimo rilascio minore di un rilascio di Debian.
16.2.2 Modello per l'annuncio di un rilascio minore.

17. Repository Git

17.1 Gestire repository multipli

Esempi

18. Esempi

18.1 Usare gli esempi
18.2 Tutorial 1: un'immagine predefinita
18.3 Tutorial 2: servizio browser web
18.4 Tutorial 3: un'immagine personalizzata
18.4.1 Prima revisione
18.4.2 Seconda revisione
18.5 Un client Kiosk VNC
18.6 Un'immagine base per una chiavetta USB da 128MB
18.7 Un desktop GNOME localizzato e l'installatore

Appendice

18.8 Guidelines for authors
18.8.1 Linguistic features
18.8.2 Procedures
18.9 Guidelines for translators
18.9.1 Translation hints

Manuale di Debian Live

Progetto

14. Segnalare bug

Debian Live è lungi dall'essere perfetta, ma con il vostro aiuto vogliamo avvicinarci il più possibile a questo livello. Non esitare a segnalare un bug; è meglio farlo due volte che mai. Questo capitolo include alcune raccomandazioni su come presentare una buona segnalazione.

Per gli impazienti

  • Per i problemi noti verificare sempre lo stato degli aggiornamenti dell'immagine sulla nostra pagina iniziale ‹http://live.debian.net/›.
  • Prima di inviare una segnalazione di bug provare a riprodurlo con le versione più recenti di live-build, live-boot, live-config e live-tools.
  • Si cerchi di fornire informazioni il più dettagliate possibile riguardo il bug. Questo comprende (almeno) la versione di live-build, live-boot, live-config e live-tools utilizzata e la distribuzione del sistema live che si sta creando.
  • 14.1 Problemi noti

    Giacché Debian testing e Debian unstable subiscono cambiamenti continui, quando si specifica l'una o l'altra come sistema di destinazione, può non essere sempre possibile una compilazione che vada a buon fine.

    Se questo causa troppe difficoltà, non creare un sistema basato su testing o unstable ma usare piuttosto stable. live-build si basa su stable in modo predefinito.

    I problemi noti al momento sono elencati sotto la sezione "status" della nostra pagina iniziale ‹http://live.debian.net/

    Questo manuale non intende insegnare come identificare e risolvere correttamente i problemi dei pacchetti delle distribuzioni di sviluppo, tuttavia ci sono un paio di cose da provare: se la creazione di testing non va a buon fine provare con unstable; se non funziona nemmeno unstable tornare a testing ed effettuare il pinning da unstable alla nuova versione del pacchetto corrotto (si veda APT pinning per i dettagli).

    14.2 Ricompilare da zero

    Per essere certi che un particolare bug non sia causato dalla creazione di un sistema non pulito, ricostruire sempre l'intero sistema da zero per vedere se il bug sia riproducibile.

    14.3 Usare pacchetti aggiornati

    L'utilizzo di pacchetti datati può causare notevoli complicazioni nel tentativo di riprodurre (e alla fine risolvere) il problema. Assicurarsi che il sistema creato sia aggiornato e ogni pacchetto incluso nell'immagine lo sia a sua volta.

    14.4 Raccogliere informazioni

    Nella segnalazione si invita a fornire informazioni sufficienti. Dovrebbe almeno contenere l'esatta versione di live-build nella quale si è trovato il bug e i passi per riprodurlo. Con un po' di buon senso si può includere qualsiasi altro dettaglio rilevante che si ritiene utile per la risoluzione del problema.

    Affinché la segnalazione del bug sia migliore possibile, si richiedono almeno le seguenti informazioni:

  • Architettura del sistema ospitante
  • Versione di live-build sul sistema ospitante
  • Versione di debootstrap o cdebootstrap sul sistema ospitante
  • Architettura del sistema live
  • Distribuzione del sistema live
  • Versione di live-boot sul sistema ospitante
  • Versione di live-config sul sistema live
  • Versione di live-tools sul sistema ospitante
  • È possibile generare un registro del processo di costruzione usando il comando tee. Si raccomanda di farlo automaticamente con uno script auto/build; (si veda Gestire una configurazione per i dettagli).

    # lb build 2>&1 | tee build.log

    All'avvio, live-boot e live-config conservano i loro registri in /var/log/live/. Controllarvi gli errori.

    Inoltre, per escludere altri errori è sempre una buona idea creare un tar della propria directory config/ e caricarlo da qualche parte (non inviarlo come allegato alla mailing list), in modo che sia per noi possibile riprodurre gli errori incontrati. Se ciò causa problemi (ad esempio a causa della dimensione) si può utilizzare l'output di lb config --dump che produce un sommario dell'albero di configurazione (elenca i file nelle sottodirectory di config/ ma non le include).

    Ricordarsi che i file di registro da inviare vanno creati con l'impostazione della lingua inglese, ad esempio eseguendo il comando live-build preponendo LC_ALL=C oppure LC_ALL=en_US.

    14.5 Se possibile isolare il caso non andato a buon fine

    Se possibile, isolare il caso non andato a buon fine alla variazione più piccola che lo causa. Non è sempre facile da fare, perciò non preoccupatevi se non riuscite a gestirlo per la vostra segnalazione. Tuttavia, se si pianifica bene il ciclo di sviluppo adottando piccole modifiche per ogni iterazione, si riuscirà ad isolare il problema creando una configurazione semplificata che si avvicina all'attuale con l'aggiunta delle sole modifiche problematiche. Se si incontrano serie difficoltà nel trovare la causa, potrebbe essere che sono stati inseriti troppi cambiamenti in una sola volta e bisogna cambiare approccio.

    14.6 Segnalare il bug del pacchetto giusto

    Se non si sa quale sia il componente responsabile del bug o se il bug è uno generico riguardante il sistema live, si può fare una segnalazione per lo pseudo-pacchetto debian-live.

    Tuttavia vi saremmo grati se tentate di restringere il campo in base a dove appare il bug.

    14.6.1 Durante la compilazione mentre esegue il bootstrap

    live-build avvia inizialmente un sistema Debian di base con debootstrap o cdebootstrap; può fallire a seconda dello strumento utilizzato e della distribuzione Debian che si sta avviando. Se il bug appare a questo punto controllare che l'errore sia relativo ad uno specifico pacchetto Debian (più probabile) o allo strumento di avvio stesso.

    In entrambi i casi non è un bug in Debian Live, ma piuttosto in Debian stessa che probabilmente non può essere risolto direttamente. Si prega di inviare una segnalazione di bug riguardo l'utilità di avvio o il pacchetto che ha fallito.

    14.6.2 Durante la compilazione mentre installa i pacchetti

    live-build installa pacchetti aggiuntivi dall'archivio Debian e può fallire a seconda della distribuzione Debian e lo stato dell'archivio giornaliero.Se il bug appare a questo punto, controllare che l'errore sia riproducibile su un sistema normale.

    In questo caso non è un bug in Debian Live, ma piuttosto in Debian, inviare una segnalazione sul pacchetto che ha fallito. Si otterranno maggiori informazioni eseguendo debootstrap separatamente dal sistema live o eseguendo lb bootstrap --debug.

    Se si verifica un problema utilizzando un mirror locale o un qualsiasi tipo di proxy è bene riprodurlo avviando da un mirror ufficiale.

    14.6.3 In fase di avvio

    Se l'immagine non si avvia segnalarlo alla mailing list con le informazioni richieste in Raccogliere informazioni. Non dimenticare di menzionare esattamente come e quando l'immagine fallisce, utilizzando la virtualizzazione o hardware reale. Se si utilizza un qualsiasi sistema di virtualizzazione provare sempre su hardware reale prima di segnalare un bug; anche fornire un'istantanea dello schermo può essere molto utile.

    14.6.4 In fase di esecuzione

    Se un pacchetto è stato installato con successo ma fallisce durante l'esecuzione del sistema live, si tratta probabilmente di un bug in Debian Live. Tuttavia:

    14.7 Fare la ricerca

    Prima di riportare il bug si prega di cercare sul web il messaggio d'errore o il sintomo ottenuti. Poiché è altamente improbabile essere l'unica persona ad incontrare un certo problema, c'è sempre la possibilità che sia stato discusso altrove e che siano stati proposte una soluzione, una patch o soluzione temporanea.

    Si dovrebbe prestare particolare attenzione alla mailing list di Debian Live così come la pagina iniziale del sito, in quanto contengono informazioni più aggiornate. Se tale informazione esiste si includa sempre un riferimento nella segnalazione del bug.

    In aggiunta bisogna controllare l'attuale elenco dei bug riguardanti live-build, live-boot, live-config e live-tools per vedere se sia già stato segnalato qualcosa di simile.

    14.8 Dove segnalare i bug

    Il progetto Debian Live tiene traccia di tutti i bug sul Debian Bug Tracking System (BTS, sistema di tracciamento dei bug Debian), si veda ‹http://bugs.debian.org/› per le informazioni su come usarlo. È anche possibile utilizzare il comando reportbug dall'omonimo pacchetto.

    In genere bisogna riportare gli errori in fase di compilazione verso il pacchetto live-build, quelli di avvio verso live-boot e quelli in fase di esecuzione a live-config. Se non siete certi di quale sia il pacchetto appropriato o serve maggiore aiuto prima della segnalazione, inviate una segnalazione per lo pseudo-pacchetto debian-live. Ce ne occuperemo riassegnandolo dove più appropriato.

    Si noti che i bug trovati nelle distribuzioni derivate da Debian (come Ubuntu e altre) non vanno segnalati a Debian BTS a meno che non siano riproducibili anche su un sistema Debian utilizzando pacchetti ufficiali Debian.