Manuel Live Systems

À propos

1. À propos de ce manuel

1.1 Pour les impatients
1.2 Terminologie
1.3 Auteurs
1.4 Contribuer à ce document
1.4.1 Appliquer des modifications
1.4.2 Traduction

2. À propos du Live Systems Project

2.1 Motivation
2.1.1 Ce qui ne va pas avec les systèmes live actuels
2.1.2 Pourquoi créer notre propre système live?
2.2 Philosophie
2.2.1 Seulement des paquets inchangés de Debian «main»
2.2.2 Pas de configuration des paquets du système live
2.3 Contact

Utilisateur

3. Installation

3.1 Exigences
3.2 Installation de live-build
3.2.1 À partir du dépôt Debian
3.2.2 À partir du code source
3.2.3 À partir des instantanés
3.3 Installation de live-boot et live-config
3.3.1 À partir du dépôt Debian
3.3.2 À partir du code source
3.3.3 À partir des instantanés

4. Les bases

4.1 Qu'est-ce qu'un système live?
4.2 Téléchargement des images précompilées
4.3 Utiliser le constructeur web d'images live
4.3.1 Utilisation du constructeur web et avertissements
4.4 Premières étapes: la construction d'une image ISO hybride
4.5 Utilisation d'une image ISO hybride live
4.5.1 Graver une image ISO sur un support physique
4.5.2 Copie d'une image ISO hybride sur une clé USB
4.5.3 Utilisation de l'espace disponible sur une clé USB
4.5.4 Démarrer le support live
4.6 Utiliser une machine virtuelle pour les tests
4.6.1 Test d'une image ISO avec QEMU
4.6.2 Test d'une image ISO avec VirtualBox
4.7 Construire et utiliser une image HDD
4.8 Construction d'une image netboot
4.8.1 Serveur DHCP
4.8.2 Serveur TFTP
4.8.3 Serveur NFS
4.8.4 Guide pratique pour expérimenter avec une image Netboot
4.8.5 Qemu
4.9 Webbooting
4.9.1 Obtenir les fichiers webboot
4.9.2 Démarrer images webboot

5. Aperçu des outils

5.1 Le paquet live-build
5.1.1 La commande lb init
5.1.2 La commande lb config
5.1.3 La commande lb build
5.1.4 La commande lb clean
5.2 Le paquet live-boot
5.3 Le paquet live-config

6. Gestion d'une configuration

6.1 Gérer les modifications de la configuration
6.1.1 Pourquoi utiliser des scripts auto? Que font-ils?
6.1.2 Utiliser les scripts auto d'exemple
6.2 Cloner une configuration publiée via Git

7. Vue d'ensemble de la personnalisation

7.1 Configuration pendant la construction vs. l'amorçage
7.2 Étapes de la construction
7.3 Supplément lb config avec des fichiers
7.4 Tâches de personnalisation

8. Personnalisation de l'installation de paquets

8.1 Sources des paquets
8.1.1 Distribution, zones d'archive et mode
8.1.2 Miroirs de distribution
8.1.3 Miroirs de distribution utilisés lors de la construction
8.1.4 Miroirs de distribution utilisés pendant l'exécution
8.1.5 Dépôts additionnels
8.2 Choisir les paquets à installer
8.2.1 Listes de paquets
8.2.2 Utilisation des métapaquets
8.2.3 Listes de paquets locaux
8.2.4 Listes de paquets locaux pour l'étape binary
8.2.5 Listes de paquets générées
8.2.6 Utiliser des conditions dans les listes de paquets
8.2.7 Suppression de paquets lors de l'installation
8.2.8 Tâches de bureau et de langue
8.2.9 Version et type de noyau
8.2.10 Noyaux personnalisés
8.3 Installation de paquets modifiés ou tiers
8.3.1 Utiliser packages.chroot pour installer des paquets personnalisés
8.3.2 Utiliser un dépôt APT pour installer des paquets personnalisés.
8.3.3 Les paquets personnalisés et APT
8.4 Configuration d'APT pendant la construction
8.4.1 Choisir apt ou aptitude
8.4.2 Utilisation d'un proxy avec APT
8.4.3 Régler APT pour économiser de l'espace
8.4.4 Passer des options à apt ou aptitude
8.4.5 APT pinning

9. Personnalisation des contenus

9.1 Includes
9.1.1 Live/chroot local includes
9.1.2 Binary local includes
9.2 Hooks
9.2.1 Live/chroot local hooks
9.2.2 Hooks pendant le démarrage
9.2.3 Binary local hooks
9.3 Préconfigurer questions de debconf

10. Personnalisation des comportements pendant l'exécution

10.1 Personnalisation de l'utilisateur live
10.2 Personnalisation des paramètres régionaux et de la langue
10.3 Persistance
10.3.1 Le fichier persistence.conf
10.3.2 Utilisation de plusieurs dispositifs de persistance
10.4 Utilisation de la persistance avec chiffrement

11. Personnalisation de l'image binaire

11.1 Chargeurs d'amorçage
11.2 Métadonnées ISO

12. Personnalisation du contenu pour l'installateur Debian

12.1 Types d'installateur Debian
12.2 Personnalisation de l'installateur Debian par préconfiguration
12.3 Personnalisation de contenu pour l'Installateur Debian

Projet

13. Contribuer au projet

13.1 Faire des changements

14. Signaler des bogues

14.1 Problèmes connus
14.2 Reconstruire à partir de zéro
14.3 Utiliser des paquets mis à jour
14.4 Recueillir l'information
14.5 Isoler le cas qui échoue, si possible
14.6 Utiliser le paquet adéquat pour rapporter un bogue
14.6.1 Pendant la construction durant l'amorçage
14.6.2 Pendant la construction durant l'installation de paquets
14.6.3 Pendant le démarrage
14.6.4 Pendant l'exécution
14.7 Effectuer une recherche
14.8 Où rapporter les bogues

15. Style du code

15.1 Compatibilité
15.2 Indentation
15.3 Adaptateur
15.4 Variables
15.5 Autres

16. Procédures

16.1 Évolutions majeures
16.2 Évolutions mineures
16.2.1 Dernière évolution mineure d'une version Debian
16.2.2 Modèle pour l'annonce d'une évolution mineure

17. Dépôts Git

17.1 Gestion de multiples dépôts

Exemples

18. Exemples

18.1 Utiliser les exemples
18.2 Tutoriel 1: Une image par défaut
18.3 Tutoriel 2: Un utilitaire d'un navigateur Web
18.4 Tutoriel 3: Une image personnalisée
18.4.1 Première révision
18.4.2 Deuxième révision
18.5 Un client kioske VNC
18.6 Une image de base pour une clé USB de 128 Mo
18.7 Un bureau GNOME localisé avec un installateur

Appendix

19. Guide de style

19.1 Lignes directrices pour les auteurs
19.1.1 Caractéristiques linguistiques
19.1.2 Procédures
19.2 Lignes directrices pour les traducteurs
19.2.1 Conseils de traduction

Metadata

Manuel Live Systems

Utilisateur

9. Personnalisation des contenus

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.

9.1 Includes

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:

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

9.1.1 Live/chroot local includes

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 Live/chroot local hooks si le traitement est nécessaire.

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:

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

Votre configuration aura alors le schéma suivant:

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

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.

9.1.2 Binary local includes

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:

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

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

9.2 Hooks

Les hooks permettent l'exécution des commandes dans les étapes de la construction chroot et binary afin de personnaliser l'image.

9.2.1 Live/chroot local hooks

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/. 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.

9.2.2 Hooks pendant le démarrage

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.

9.2.3 Binary local hooks

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/. 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 de binary hook 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.

9.3 Préconfigurer questions de debconf

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.

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