Manuale di Live Systems

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 Applying changes
1.4.2 Traduzione

2. About the Live Systems Project

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 Testing an ISO image with 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 Removing packages at install time
8.2.8 Task per desktop e lingua
8.2.9 Tipi e versioni del kernel
8.2.10 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

19. Style guide

19.1 Guidelines for authors
19.1.1 Linguistic features
19.1.2 Procedures
19.2 Guidelines for translators
19.2.1 Translation hints

Metadata

Manuale di Live Systems

Utente

5. Panoramica degli strumenti

This chapter contains an overview of the three main tools used in building live systems: live-build, live-boot and live-config.

5.1 Il pacchetto live-build

live-build is a collection of scripts to build live systems. These scripts are also referred to as "commands".

L'idea dietro live-build è di essere un'infrastruttura che utilizza una directory di configurazione per automatizzare totalmente e personalizzare tutti gli aspetti della creazione di un'immagine live.

Molti concetti sono simili a quelli applicati per creare pacchetti Debian con debhelper:

Al contrario di debhelper, live-build contiene uno strumento per generare una directory scheletro di configurazione, lb config, che può essere considerato simile a utilità come dh-make. Per maggiori informazioni su lb config si veda Il comando lb config.

Il resto di questa sezione tratta i tre comandi più importanti:

5.1.1 Il comando lb config

Come discusso in live-build, gli script che compongono live-build attingono la loro configurazione con il comando source da una singola directory chiamata config/. Dal momento che crearla a mano sarebbe dispendioso in termini di tempo e soggetto a errori, si può usare il comando lb config per creare la directory scheletro di configurazione.

L'esecuzione di lb config senza argomenti crea una sottodirectory config/ popolata con alcune impostazioni predefinite e uno scheletro di sottodirectory in auto/.

$ lb config
[2013-01-01 09:14:22] lb_config
P: Considering defaults defined in /etc/live/build.conf
P: Creating config tree for a debian/i386 system

L'uso di lb config senza argomenti è adatto ad utenti che necessitano di un'immagine di base o che intendono fornire in seguito una configurazione più completa tramite auto/config (per i dettagli vedere Gestire una configurazione).

Solitamente si vorranno specificare delle opzioni. Ad esempio per indicare quale distribuzione si vuole creare tramite il codename:

$ lb config --distribution sid

È possibile specificare molte opzioni, come:

$ lb config --binary-images netboot --bootappend-live "boot=live components hostname=live-host username=live-user" ...

Una lista completa delle opzioni è disponibile nel manuale di lb_config.

5.1.2 Il comando lb build

Il comando lb build legge la configurazione dalla directory config/ ed esegue a un livello inferiore i comandi necessari a costruire il sistema live.

5.1.3 Il comando lb clean

It is the job of the lb clean command to remove various parts of a build so subsequent builds can start from a clean state. By default, chroot, binary and source stages are cleaned, but the cache is left intact. Also, individual stages can be cleaned. For example, if you have made changes that only affect the binary stage, use lb clean --binary prior to building a new binary. If your changes invalidate the bootstrap and/or package caches, e.g. changes to --mode, --architecture, or --bootstrap, you must use lb clean --purge. See the lb_clean man page for a full list of options.

5.2 Il pacchetto live-boot

live-boot is a collection of scripts providing hooks for the initramfs-tools, used to generate an initramfs capable of booting live systems, such as those created by live-build. This includes the live system ISOs, netboot tarballs, and USB stick images.

All'avvio cercherà supporti in sola lettura che contengano una directory /live/ dove sia presente un filesystem root (spesso un'immagine compressa come squashfs). Se trovata, creerà un ambiente scrivibile usando aufs, per avviarsi da sistemi simili a Debian.

Si possono trovare maggiori informazioni sui ramfs iniziali nel capitolo su initramfs del Debian Linux Kernel Handbook all'indirizzo ‹http://kernel-handbook.alioth.debian.org/›.

5.3 Il pacchetto live-config

live-config è costituito da script eseguiti all'avvio dopo live-boot per configurare automaticamente il sistema live. Gestisce attività quali impostare l'hostname, localizzazione e fuso orario, creare l'utente live, inibire compiti automatizzati tramite cron ed eseguire il login automatico dell'utente live.