Aquest capítol conté un resum de les tres eines principals utilitzades en la construcció dels sistemes en viu: live-build, live-boot i live-config.
live-build és un conjunt de scripts per a crear sistemes en viu. Aquests scripts també s'anomenen «ordres».
La idea darrere de live-build és ser un marc que utilitza un directori de configuració per automatitzar completament i personalitzar tots els aspectes de la construcció d'una imatge en viu.
Molts conceptes són similars als utilitzats per a crear paquets Debian amb debhelper:
Unlike debhelper, live-build provides the tools to generate a skeleton configuration directory. This could be considered to be similar to tools such as dh-make. For more information about these tools, read on, since the remainder of this section discuses the four most important commands. Note that the preceding lb is a generic wrapper for live-build commands.
As discussed in live-build, the scripts that make up live-build read their configuration with the source command from a single directory named config/. As constructing this directory by hand would be time-consuming and error-prone, the lb init command can be used to create the initial skeleton configuration tree.
The lb init command creates the following directories inside config/: hooks/, includes/, several other includes subdirectories for each stage of the build process and package-lists/. The latter includes a list of several important live packages like live-boot, live-config and live-config-sysvinit.
Issuing lb config without any arguments completes the config/ subdirectory which it populates with some default settings in configuration files, and two skeleton trees named auto/ and local/.
$ lb config
[2014-04-25 17:14:34] lb config
P: Updating config tree for a debian/wheezy/i386 system
Using lb config without any arguments would be suitable for users who need a very basic image, or who intend to provide a more complete configuration via auto/config later (see Managing a configuration for details).
Normalment, s'haurà d'especificar algunes opcions. Per exemple, per a especificar quina distribució es vol construir mitjançant el seu nom en clau:
$ lb config --distribution sid
És possible especificar diverses opcions, com ara:
$ lb config --binary-images netboot --bootappend-live "boot=live components hostname=live-host username=live-user" ...
Una llista completa d'opcions està disponible a la pàgina del manual lb_config.
L'ordre lb build llegeix la configuració del directori config/. A continuació, executa les ordres de nivell inferior necessàries per a construir el sistema en viu.
L'ordre lb clean s'encarrega d'eliminar diverses parts d'una construcció per a que altres construccions posteriors puguin començar des d'un estat net. Per defecte, es netegen les etapes chroot, binary i source, però la caché es manté intacta. A més, es poden netejar etapes individuals. Per exemple, si s'han fet canvis que només afecten a la fase binary, utilitzar lb clean --binary abans de construir un nou binary. Si els canvis modifiquen el bootstrap i/o la caché de paquets, per exemple, canvis en les opcions --mode, --architecture o --bootstrap, s'ha d'utilitzar lb clean --purge. Veure la pàgina del manual de lb_clean per a una llista completa d'opcions.
live-boot és un conjunt de scripts per a proporcionar hooks a initramfs-tools, que s'utilitzen per a generar un initramfs capaç d'arrencar sistemes vius, com ara els creats per live-build. Això inclou les ISOs dels sistemes en viu, netboot tarballs i imatges per a memòries USB.
En el moment d'arrencar, buscarà medis de només lectura que continguin un directori /live/ on s'emmagatzema un sistema de fitxers arrel (sovint una imatge de un sistema de fitxers comprimit squashfs). Si el troba, crearà un entorn d'escriptura, utilitzant aufs, per a que puguin arrencar sistemes com Debian o similars.
Més informació sobre ramfs inicial a Debian es pot trobar al Debian Linux Kernel Handbook ‹http://kernel-handbook.alioth.debian.org/› al capítol sobre initramfs.
live-config consta dels scripts que s'executen durant l'arrencada després de live-boot per a configurar el sistema en viu de forma automàtica. S'ocupa de tasques com ara l'establiment de les locales, el nom d'amfitrió, la zona horària, crear l'usuari en viu, l'inhibició de tasques de cron i l'inici automàtic de sessió per a l'usuari en viu.