|
|
|
|
|
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 .
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:
Consultar Termes per a més informació sobre la distinció entre les imatges "Live" and "binary".
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 Live/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:
$ mkdir -p config/includes.chroot/var/www
$ cp /path/to/my/index.html config/includes.chroot/var/www
La configuració tindrà llavors l'estructura següent:
-- config
[...]
|-- includes.chroot
| `-- var
| `-- www
| `-- index.html
[...]
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.
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:
$ cp ~/video_demo.* config/includes.binary/
Aquests fitxers apareixeran ara en el directori arrel del medi en viu.
Els scripts ganxo permeten executar ordres en les etapes de la construcció chroot i binary per tal de personalitzar la imatge.
Per a executar ordres durant l'etapa chroot, crear un script ganxo que contingui les ordres amb el sufix .hook.chroot i afegir-lo al directori config/hooks/. 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 funcionar. Veure els scripts chroot d'exemple per a diverses tasques comunes de personalització que es poden trovar 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ó.
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.
Per a executar ordres durant l'etapa binary, crear un script ganxo que contingui les ordres amb un sufix .hook.binary i afegir-lo al directori config/hooks/. 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ó.
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.