:B~ Personalització dels continguts

1~customizing-contents Personalització dels continguts

Aquest capítol tracta d'afinar la personalització dels continguts del
sistema en viu més enllà de simplement triar els paquets que es desitja
incloure. Els «includes» permeten afegir o reemplaçar fitxers arbitraris en
la imatge en viu, els scripts ganxo (hooks) permeten executar ordres
arbitràries en diferents etapes de la construcció i en el moment d'arrencar,
i la preconfiguració (preseeding) permet configurar els paquets quan
s'instal·len proporcionant respostes a les preguntes de debconf .

2~includes Includes

Tot i que l'ideal seria un sistema en viu que inclogués només fitxers
proporcionats per paquets Debian sense modificació, de vegades és convenient
proporcionar o modificar part del contingut a través de fitxers. Amb els
includes, és possible afegir (o substituir) fitxers arbitraris en la imatge
en viu. live-build ofereix dos mecanismes per al seu ús:

_* Chroot local includes: Aquests permeten afegir o substituir fitxers
dintre de chroot/Live en el sistema de fitxers. Consultar {Live/chroot local
includes}#live-chroot-local-includes per a més informació.

_* Binary local includes: Aquests permeten afegir o substituir fitxers dins
la imatge binària. Consultar {Binary local includes}#binary-local-includes
per a més informació.

Consultar {Termes}#terms per a més informació sobre la distinció entre les
imatges "Live" and "binary".

3~live-chroot-local-includes Live/chroot local includes

Es poden utilitzar els chroot local includes per a afegir o reemplaçar
fitxers en el sistema de fitxers chroot/Live perquè puguin ser utilitzats en
el sistema en viu. Un ús típic és per a omplir l'esquelet del directori de
l'usuari (#{/etc/skel}#) utilitzat pel sistema en viu per a crear el
directori home de l'usuari en viu. Un altre és el de subministrar fitxers de
configuració que poden ser simplement afegits o reemplaçats en la imatge
sense processar; veure{Chroot local hooks}#chroot-local-hooks si es
necessita processar-los.

Per a incloure fitxers, només s'han d'afegir al directori
#{config/includes.chroot}#. Aquest directori es correspon amb el directori
arrel #{/}# del sistema en viu. Per exemple, per a afegir un fitxer
#{/var/www/index.html}# en el sistema en viu, fer:

code{

 $ mkdir -p config/includes.chroot/var/www
 $ cp /path/to/my/index.html config/includes.chroot/var/www

}code

La configuració tindrà llavors l'estructura següent:

code{

 -- config
    [...]
     |-- includes.chroot
     |   `-- var
     |       `-- www
     |           `-- index.html
    [...]

}code

Els chroot local includes s'instal·len després de la instal·lació del
paquets de tal manera que es sobreescriuen els fitxers instal·lats pels
paquets.

3~binary-local-includes Binary local includes

Per a incloure material com documentació o vídeos en el sistema de fitxers
del medi en viu de manera que sigui accessible immediatament després de la
inserció del medi sense haver de arrencar el sistema en viu, es pot
utilitzar els binary local includes. Això funciona de manera similar als
chroot local includes. Per exemple, si els fitxers #{~/video_demo.*}# són
vídeos de demostració del sistema en viu descrits i lligats per una pàgina
d'índex HTML. Només cal copiar el material a #{config/includes.binary/}# de
la següent manera:

code{

 $ cp ~/video_demo.* config/includes.binary/

}code

Aquests fitxers apareixeran ara en el directori arrel del medi en viu.

2~hooks Scripts ganxo (Hooks)

Els scripts ganxo permeten executar ordres en les etapes de la construcció
chroot i binary per tal de personalitzar la imatge. Depenent de si es vol
construir una imatge en viu  o una d'un sistema normal s'han de col·locar
els ganxos a #{config/hooks/live}# o #{config/hooks/normal}#
respectivament. Aquests ganxos s'anomenen amb freqüència "ganxos locals", ja
que s'executen dins de l'entorn de construcció.

També hi ha ganxos en temps d'arrencada que permeten executar ordres una
vegada que la imatge ja s'ha construït, durant el procés d'arrencada.

3~chroot-local-hooks Chroot local hooks

Per a executar ordres durant l'etapa chroot, crear un script ganxo que
contingui les ordres amb el sufix #{.hook.chroot}# i afegir-lo bé al
directori #{config/hooks/live}# o a #{config/hooks/normal}#. El ganxo
s'executarà en el chroot després que la resta de la configuració del chroot
s'hagi aplicat, assegurar-se que la configuració inclou tots els paquets i
els fitxers que el ganxo necessita per a funcionar. Veure els scripts chroot
d'exemple per a diverses tasques comunes de personalització que es poden
trobar a #{/usr/share/doc/live-build/examples/hooks}# que es poden copiar o
fer un enllaç simbòlic per a utilitzar-los en la pròpia configuració.

3~ Binary local hooks

Per a executar ordres durant l'etapa binary, crear un script ganxo que
contingui les ordres amb un sufix #{.hook.binary}# i afegir-lo bé al
directori #{config/hooks/live}# o a #{config/hooks/normal}#. El ganxo
s'executarà després que s'executin totes les ordres de l'etapa binary però
abans dels binary_checksums, la darrera ordre de l'etapa binary. Les ordres
del ganxo no s'executen al chroot, per tant tenir cura de no modificar cap
fitxer de fora del arbre de construcció, o es pot fer malbé el sistema de
construcció! Veure els scripts ganxo binary d'exemple per a diverses tasques
comunes de personalització a #{/usr/share/doc/live-build/examples/hooks}#
que es poden copiar o fer un enllaç simbòlic per a utilitzar-los en la
pròpia configuració.

3~boot-time-hooks Scripts ganxo en temps d'arrencada

Per a executar ordres durant l'arrencada, es pot proporcionar scripts ganxo
per a live-config com s'explica a la secció "Personalització" de la seva
pàgina del manual. Es poden afegir els ganxos de live-config a
#{/lib/live/config/}#, tenint en compte la seqüència dels números. A
continuació, afegir el script ganxo propi amb un número de seqüència
apropiat com a prefix, ja sigui com a un chroot local include a
#{config/includes.chroot/lib/live/config/}#, o com un paquet personalitzat
com es va discutir a {Instal·lació de paquets modificats o de
tercers}#installing-modified-or-third-party-packages.

2~ Preconfiguració de les preguntes de Debconf

Els fitxers del directory #{config/preseed/}# amb el sufix #{.cfg}# seguits
del sufix de l'etapa (#{.chroot}# o #{.binary}#) son considerats fitxers de
preconfiguració de debconf i són instal·lats per live-build utilitzant
#{debconf-set-selections}# durant l'etapa corresponent.

Per a més informació sobre debconf, veure #{debconf(7)}# del paquet
/{debconf}/.
