This chapter discusses fine-tuning customization of the live system contents beyond merely choosing which packages to include. Includes allow you to add or replace arbitrary files in your live system image, hooks allow you to execute arbitrary commands at different stages of the build and at boot time, and preseeding allows you to configure packages when they are installed by supplying answers to debconf questions.
While ideally a live system would include files entirely provided by unmodified packages, it is sometimes convenient to provide or modify some content by means of files. Using includes, it is possible to add (or replace) arbitrary files in your live system image. live-build provides two mechanisms for using them:
● Include locali del chroot: permettono di aggiungere o sostituire file al file system chroot/Live. Vedere Live/chroot include locali per maggiori informazioni.
● Include locali binari: permettono di aggiungere o sostituire file nell'immagine binaria. Vedere Include locali binari per maggiori informazioni
Si consulti il Glossario per ulteriori informazioni sulla distinzione tra immagini “Live” e “binarie”.
Gli include locali del chroot possono essere usati per aggiungere o sostituire file nel filesystem chroot/Live in modo che possano essere utilizzati nel sistema live. Un utilizzo tipico è popolare la directory scheletro dell'utente (/etc/skel) che il sistema impiega per creare la home dell'utente. Un altro è quello di fornire file di configurazione che possono essere semplicemente aggiunti o sostituiti nell'immagine senza elaborazione; si veda Live/chroot hook locali se è necessaria l'elaborazione.
Per includere i file si aggiungano semplicemente alla directory config/includes.chroot. Questa corrisponde alla directory root / del sistema live. Per esempio, per aggiungere un file /var/www/index.html nel sistema live, si usi:
$ mkdir -p config/includes.chroot/var/www $ cp /path/to/my/index.html config/includes.chroot/var/www
La configurazione avrà quindi il seguente schema:
-- config [...] |-- includes.chroot | `-- var | `-- www | `-- index.html [...]
Gli include locali del chroot vengono installati dopo l'installazione dei pacchetti in modo che tali file vengano in seguito sovrascitti.
Si possono utilizzare include locali binari per inserire sul filesystem del supporto materiale come documentazione o video affinché sia immediatamente accessibile dopo l'inserimento dello stesso senza avviare il sistema live. Ciò funziona in modo simile agli include locali del chroot; supponendo che i file ~/video_demo.* siano video dimostrativi del sistema descritti da e collegati a una pagina HTML indice, basta copiare il materiale in config/includes.binary/ come segue:
$ cp ~/video_demo.* config/includes.binary/
Questi file appariranno nella directory principale del supporto live.
Gli hook permettono di eseguire comandi nel chroot e nelle fasi binarie della creazione al fine di personalizzare l'immagine.
To run commands in the chroot stage, create a hook script with a .hook.chroot suffix containing the commands in the config/hooks/ directory. The hook will run in the chroot after the rest of your chroot configuration has been applied, so remember to ensure your configuration includes all packages and files your hook needs in order to run. See the example chroot hook scripts for various common chroot customization tasks provided in /usr/share/doc/live-build/examples/hooks which you can copy or symlink to use them in your own configuration.
Per eseguire comandi all'avvio, è possibile fornire degli hook a live-config come spiegato nella sezione “Customization” del suo manuale. Controllare gli hook di live-config in /lib/live/config/ e notare i numeri sequenziali; fornire quindi i propri hook con una sequenza numerica appropriata, sia come include locali del chroot in config/includes.chroot/lib/live/config/, sia come pacchetto personalizzato come discusso in{Installare pacchetti modificati o di terze parti}#installing-modified-or-third-party-packages.
To run commands in the binary stage, create a hook script with a .hook.binary suffix containing the commands in the config/hooks/ directory. The hook will run after all other binary commands are run, but before binary_checksums, the very last binary command. The commands in your hook do not run in the chroot, so take care to not modify any files outside of the build tree, or you may damage your build system! See the example binary hook scripts for various common binary customization tasks provided in /usr/share/doc/live-build/examples/hooks which you can copy or symlink to use them in your own configuration.
I file nella directory config/preseed/ con suffisso .cfg seguiti dalla fase (.chroot o .binary) sono considerati file di preconfigurazione di debconf e sono installati da live-build usando debconf-set-selections durante la fase corrispondente.
Per ulteriori informazioni su debconf, vedere debconf(7) nel pacchetto debconf.
License: Questo programma è software libero: è possibile ridistribuirlo e modificarlo secondo i termini della GNU General Public License come pubblicata dalla Free Software Foundation, sia la versione 3 della licenza o (a scelta) una versione successiva.
Questo programma è distribuito nella speranza che possa essere utile, ma SENZA ALCUNA GARANZIA, nemmeno la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedere la GNU General Public License per ulteriori dettagli.
Si dovrebbe aver ricevuto una copia della GNU General Public License con questo programma. In caso contrario, vedere http://www.gnu.org/licenses/.
Il testo completo della GNU General Public License può essere trovato nel file /usr/share/common-licenses/GPL-3.
≅ SiSU Spine ፨ (object numbering & object search)
(web 1993, object numbering 1997, object search 2002 ...) 2024