|
|
|
|
|
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:
A diferència de debhelper, live-build proporciona les eines per a generar un directori de configuració en esquelet. Això podria ser considerat similar a eines com ara dh-make. Per a més informació sobre aquestes eines, seguiu llegint, ja que la resta d'aquesta secció discuteix les quatre ordres més importants. Tenir en compte que van precedices de lb que és una funció genèrica per a les ordres de live-build.
Com s'ha dit a live-build, les seqüències d'ordres que formen part de live-build llegeixen la seva configuració amb l'ordre source d'un únic directori anomenat config/. Com la construcció d'aquest directori a mà, seria molt costós i propens a errors, es pot utilitzar l'ordre lb config per a crear l'arbre inicial de configuració en esquelet.
Executar lb config sense arguments crea el subdirectori config/ que s'omple amb alguns paràmetres per defecte en fitxers de configuració, i dos arbres de subdirectoris en esquelet que s'anomenen auto/ i local/.
$ lb config
[2015-01-06 19:25:58] lb config
P: Creating config tree for a debian/stretch/i386 system
P: Symlinking hooks...
Utilitzar lb config sense cap tipus d'arguments seria convenient per als usuaris que necessiten una imatge molt bàsica, o que tinguin la intenció de proporcionar una configuració més completa més tard mitjançant auto/config (Veure Gestió d'una configuració per a més detalls).
Normalment, s'haurà d'especificar algunes opcions. Per exemple, per a especificar quin gestor de paquets utilitzar durant la construcció de la imatge:
$ lb config --apt aptitude
É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.