:B~ Descripció general de les eines

1~overview-of-tools Descripció general de les eines

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.

2~live-build El paquet live-build

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

_* Els scripts tenen una ubicació central per a la configuració del seu
funcionament. Amb /{debhelper}/ aquest és el subdirectori #{debian/}# d'un
arbre de paquets. Per exemple, dh_install buscarà, entre altres, un fitxer
anomenat #{debian/install}# per a determinar quins fitxers han d'existir en
un paquet binari en particular. De la mateixa manera, live-build emmagatzema
la seva configuració per complet sota un subdirectori #{config/}#.

_* Els scripts són independents - és a dir, sempre és segur executar cada
ordre.

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.

_* *{lb config}*: Responsable d'inicialitzar un directori de configuració
per al sistema en viu. Consultar {L'ordre lb config}#lb-config per a més
informació.

_* *{lb build}*: Responsable d'iniciar la creació d'un sistema en
viu. Consultar {L'ordre lb build}#lb-build per a més informació.

_* *{lb clean}*: Responsable d'eliminar parts de la construcció d'un sistema
viu. Consultar {L'ordre lb clean}#lb-clean per a més informació.

3~lb-config L'ordre #{lb config}#

Com s'ha dit a {live-build}#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/}#.

code{

 $ lb config
 [2015-01-06 19:25:58] lb config
 P: Creating config tree for a debian/stretch/i386 system
 P: Symlinking hooks...

}code

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ó}#managing-a-configuration
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:

code{

 $ lb config --apt aptitude

}code

És possible especificar diverses opcions, com ara:

code{

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

}code

Una llista completa d'opcions està disponible a la pàgina del manual
#{lb_config}#.

3~lb-build L'ordre #{lb build}#

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.

3~lb-clean L'ordre #{lb clean}#

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.

2~live-boot El paquet live-boot

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.

2~live-config El paquet live-config

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.
