:B~ Panoramica degli strumenti

1~overview-of-tools Panoramica degli strumenti

Questo capitolo contiene una panoramica dei tre principali strumenti
utilizzati nella creazione dei sistemi Debian Live: live-build, live-boot e
live-config.

2~live-build Il pacchetto live-build

live-build è una raccolta di script, chiamati anche "comandi", usati per
creare sistemi Debian Live.

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}/:

_* Gli script hanno una locazione centrale per configurare le loro
operazioni, in /{debhelper}/ questa è la sottodirectory #{debian/}#
dell'albero di un pacchetto. Ad esempio dh_install cercherà, tra gli altri,
un file chiamato #{debian/install}# per determinare quali file dovrebbero
esistere in un certo pacchetto binario. Allo stesso modo, live-build salva
la sua configurazione interamente in una sottodirectory #{config/}#.

_* Gli script sono indipendenti, vale a dire che è sempre sicuro eseguire
ogni comando.

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}#lb-config.

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

_* *{lb config}*: responsabile dell'inizializzazione di una directory di
configurazione del sistema live. Si veda {Il comando lb config}#lb-config
per maggiori informazioni.

_* *{lb build}*: responsabile di iniziare la creazione di un sistema
live. Si veda {Il comando lb}#lb-build per maggiori informazioni.

_* *{lb clean}*: responsabile della rimozione di parti della creazione di un
sistema live. Si veda {Il comando lb clean}#lb-clean per maggiori
informazioni.

3~lb-config Il comando #{lb config}#

Come discusso in {live-build}#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/}#.

code{

 $ 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

}code

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}#managing-a-configuration).

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

code{

 $ lb config --distribution sid

}code

È possibile specificare molte opzioni, come:

code{

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

}code

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

3~lb-build 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.

3~lb-clean Il comando #{lb clean}#

È compito del comando #{lb clean}# rimuovere le varie parti di una
compilazione in modo che le successive possano iniziare da uno stato
pulito. Per impostazione predefinita, vengono pulite le fasi #{chroot}#,
#{binary}# e #{source}# ma la cache viene lasciatta intatta. Le fasi possono
inoltre essere pulite singolarmente; ad esempio se sono state fatte
modifiche alla sola fase binaria, si usi #{lb clean --binary}# prima di
compilare un nuovo binario. Per la lista completa delle opzioni vedere la
pagina di manuale di #{lb_clean}#.

2~live-boot Il pacchetto live-boot

live-boot è una raccolta di script che forniscono hook per
/{initramfs-tools}/, utilizzato per generare un initramfs in grado di
avviare sistemi live, come quelli creati da live-build. Questo include le
ISO di Debian Live, archivi per l'avvio da rete e immagini per penne USB.

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

2~live-config 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.
