Live manual Debian Live

# Debian Live Manual

# Personnalisation des contenus

488

# 9. Personnalisation des contenus

489

Ce chapitre aborde la personnalisation fine des contenus du système live au-delà du simple choix des paquets à inclure. Les inclusions vous permettent d'ajouter ou de remplacer des fichiers arbitraires dans votre image du système live, les hooks vous permettent d'exécuter des commandes arbitraires dans différentes étapes de la construction et au démarrage et la préconfiguration (preseeding) vous permet de configurer les paquets quand ils sont installés en fournissant des réponses aux questions debconf.

490

9.1 Includes

491

Bien qu'idéalement un système live comprendrait des fichiers entièrement fournis par des paquets non modifiés, il peut être pratique de fournir ou de modifier certains contenus par le biais de fichiers. Avec les «includes», il est possible d'ajouter (ou remplacer) des fichiers arbitraires dans votre image du système live. live-build prévoit deux mécanismes pour leur utilisation:

492

- Chroot local includes: Ils vous permettent d'ajouter ou remplacer des fichiers sur le système de fichiers chroot/Live. Veuillez consulter Live/chroot local includes pour plus d'informations.

493

- Binary local includes: Ils vous permettent d'ajouter ou de remplacer des fichiers dans l'image binaire. Veuillez consulter Binary local includes pour plus d'informations.

494

Veuillez consulter les Termes pour plus d'informations sur la distinction entre les images "Live" et "binary".

495

9.1.1 Live/chroot local includes

496

Les chroot local includes peuvent être utilisés pour ajouter ou remplacer des fichiers dans le système de fichiers chroot/Live afin qu'ils puissent être utilisés dans le système Live. Une utilisation typique est de peupler l'arborescence du répertoire de l'utilisateur (`/etc/skel`) utilisée par le système live pour créer le répertoire home de l'utilisateur Live. Une autre est de fournir des fichiers de configuration qui peuvent être simplement ajoutés ou remplacés à l'image sans traitement, voir Chroot local hooks si le traitement est nécessaire.

497

Pour inclure des fichiers, il suffit de les ajouter à votre répertoire `config/includes.chroot`. Ce répertoire correspond au répertoire racine `/` du système live. Par exemple, pour ajouter un fichier `/var/www/index.html` dans le système live, utilisez:

498

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

499

Votre configuration aura alors le schéma suivant:

500

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

501

Les chroot local includes sont installés après l'installation de paquets de sorte que les fichiers installés par les paquets sont remplacés.

502

9.1.2 Binary local includes

503

Pour inclure des matériels tels que des documents ou des vidéos sur le système de fichiers des supports, afin qu'ils soient accessibles dès l'insertion du support sans démarrer le système live, vous pouvez utiliser binary local includes. Cela fonctionne de façon similaire aux chroot local includes. Par exemple, supposons que les fichiers `~/video_demo.*` sont des vidéos de démonstration du système live décrits par et liés par une page d'index HTML. Copiez simplement le matériel dans `config/includes.binary/` comme suit:

504

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

505

Ces fichiers apparaissent maintenant dans le répertoire racine du support live.

506

9.2 Hooks

507

Les hooks permettent l'exécution des commandes dans les étapes de la construction chroot et binary afin de personnaliser l'image. Selon que vous construisez une image live ou une image normal du système, vous devez placer vos hooks dans `config/hooks/live` ou `config/hooks/normal` respectivement. Ceux-ci sont souvent appelés hooks locales parce qu'ils sont exécutés dans l'environnement de construction.

508

Il y a aussi des hooks pendant le démarrage qui vous permettent d'exécuter des commandes une fois que l'image a déjà été construite, au cours du processus de démarrage.

509

9.2.1 Chroot local hooks

510

Pour exécuter des commandes à l'étape chroot, créer un script hook avec le suffixe `.hook.chroot` contenant les commandes dans le répertoire `config/hooks/live` ou `config/hooks/normal`. Le hook s'exécutera dans le chroot après que le reste de votre configuration chroot ait été appliqué, donc n'oubliez pas de vous assurer que votre configuration inclut tous les paquets et les fichiers dont votre hook a besoin pour fonctionner. Consultez les exemples de scripts chroot hook pour diverses tâches courantes de personnalisation chroot fournis dans `/usr/share/doc/live-build/examples/hooks` que vous pouvez copier ou faire un lien symbolique pour les utiliser dans votre propre configuration.

511

9.2.2 Binary local hooks

512

Pour exécuter des commandes à l'étape binaire, créez un script hook avec le suffixe `.hook.binary` contenant les commandes dans le répertoire `config/hooks/live` ou `config/hooks/normal`. Le hook sera exécuté après toutes les autres commandes binaires, mais avant binary_checksums, la dernière commande binaire. Les commandes de votre hook ne s'exécutent pas dans le chroot, afin de prendre soin de ne pas modifier les fichiers en dehors de l'arbre de construction, ou vous pourriez endommager votre système de construction! Consultez les exemples de scripts binary pour diverses tâches courantes de personnalisation binaires fournis dans `/usr/share/doc/live-build/examples/hooks` que vous pouvez copier ou lier symboliquement pour les utiliser dans votre propre configuration.

513

9.2.3 Hooks pendant le démarrage

514

Pour exécuter des commandes pendant le démarrage, vous pouvez fournir live-config hooks comme expliqué dans la section "Personnalisation" de sa page de manuel. Examinez les hooks de live-config fournis dans `/lib/live/config/`, en notant les numéros de séquence. Fournissez ensuite votre propre hook précédé d'un numéro de séquence appropriée, soit comme un chroot local include dans `config/includes.chroot/lib/live/config/`, soit comme un paquet personnalisé tel que discuté dans Installation des paquets modifiés ou de tiers.

515

9.3 Préconfigurer questions de debconf

516

Les fichiers dans le répertoire `config/preseed/` avec le suffixe `.cfg` suivis de l'étape (`.chroot` or `.binary`) sont considérés comme des fichiers de préconfiguration debconf et sont installés par live-build en utilisant `debconf-set-selections`.

517

Pour plus d'informations sur debconf, veuillez consulter `debconf(7)` dans le paquet debconf.