Manuel Debian Live

À 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 projet Debian Live

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

5. Aperçu des outils

5.1 Le paquet live-build
5.1.1 La commande lb config
5.1.2 La commande lb build
5.1.3 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 Tâches de bureau et de langue
8.2.8 Version et type de noyau
8.2.9 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

11. Personnalisation de l'image binaire

11.1 Chargeur 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 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

18.8 Guidelines for authors
18.8.1 Linguistic features
18.8.2 Procedures
18.9 Guidelines for translators
18.9.1 Translation hints

Manuel Debian Live

Utilisateur

5. Aperçu des outils

Ce chapitre fournit un aperçu des trois principaux outils utilisés dans les systèmes de construction Debian Live: live-build, live-boot et live-config.

5.1 Le paquet live-build

live-build est une collection de scripts pour construire des systèmes Debian Live. Ces scripts sont aussi appelés "commandes".

L'idée derrière live-build est de constituer un cadre qui utilise un répertoire de configuration pour automatiser et personnaliser complètement tous les aspects de la construction d'une image Live.

Plusieurs concepts sont similaires à ceux utilisés pour construire des paquets Debian avec debhelper:

  • Les scripts ont un emplacement central pour la configuration de leur fonctionnement. Avec debhelper, c'est le sous-répertoire debian/ d'un arbre de paquets. Par exemple, dh_install cherchera, entre autres, un fichier appelé debian/install pour déterminer quels fichiers doivent exister dans un paquet binaire particulier. De la même manière, live-build enregistre sa configuration entièrement dans un sous-répertoire config/.
  • Les scripts sont indépendants, c'est-à-dire qu'il est toujours sûr d'exécuter chaque commande.
  • Contrairement à debhelper, live-build contient un outil pour générer une arborescence de configuration, lb config. Cela pourrait être considéré comme similaire à des outils tels que dh-make. Pour plus d'informations à propos de lb config, veuillez consulter La commande lb config.

    Le reste de cette section traite des trois commandes les plus importantes:

  • lb config: Responsable de l'initialisation d'un répertoire de configuration du système Live. Voir La commande lb config pour plus d'informations.
  • lb build: Responsable du démarrage d'un système de construction Live. Voir La commande lb build pour plus d'informations.
  • lb clean: Responsable de la suppression des parties d'un système de construction Live. Voir La commande lb clean pour plus d'informations.
  • 5.1.1 La commande lb config

    Comme indiqué dans live-build, les scripts qui composent live-build lisent leur configuration avec la commande source à partir d'un seul répertoire nommé config/. Comme la construction de ce répertoire à la main serait fastidieuse et source d'erreurs, la commande lb config peut être utilisée pour créer une arborescence de configuration.

    Exécuter lb config sans aucun argument crée un sous-répertoire config/ qu'il remplit avec certains paramètres, et un sous-répertoire auto/ avec une arborescence de fichiers.

    $ lb config
    [2013-01-01 09:14:22] lb_config
    P: Considering defaults defined in /etc/live/build.conf
    P: Creating config tree for a debian/i386 system

    L'utilisation de lb config sans aucun argument serait appropriée pour les utilisateurs qui ont besoin d'une image de base, ou qui ont l'intention de fournir plus tard une configuration plus complète via auto/config (voir Gestion d'une configuration pour plus de détails).

    Normalement, vous voulez indiquer certaines options. Par exemple, pour indiquer la distribution que vous voulez construire en utilisant son nom de code:

    $ lb config --distribution sid

    Il est possible d'indiquer plusieurs options, telles que:

    $ lb config --binary-images netboot --bootappend-live "boot=live config hostname=live-host username=live-user" ...

    Une liste complète des options est disponible dans la page de manuel de lb_config.

    5.1.2 La commande lb build

    La commande lb build lit dans votre configuration à partir du répertoire config/. Elle exécute alors les commandes de niveau inférieur nécessaires à la construction de votre système Live.

    5.1.3 La commande lb clean

    Le rôle de la commande lb clean est d'enlever les différentes parties d'une construction afin que autres compilations ultérieures puissent commencer à partir d'un état propre. Par défaut, les étapes chroot, binary et source sont nettoyées, mais le cache est laissé intact. En outre, les étapes peuvent être nettoyées individuellement. Par exemple, si vous avez effectué des changements qui affectent uniquement la phase binaire, utilisez lb clean --binary avant de construire un nouveau binaire. Voir la page de manuel de lb_clean pour une liste complète des options.

    5.2 Le paquet live-boot

    live-boot est une collection de scripts fournissant des hooks pour initramfs-tools. Il est utilisé pour générer un initramfs capable de démarrer des systèmes live, comme ceux créés par live-build. Cela inclut les ISOs de Debian Live, netboot tarballs, et les images pour clés USB.

    Au démarrage, il va chercher un support en lecture seule qui contient un répertoire /live/ où un système de fichiers racine (souvent une image du système de fichiers compressée comme squashfs) est stocké. S'il le trouve, il va créer un environnement accessible en écriture, en utilisant aufs, afin que les systèmes similaires à Debian puissent démarrer à partir de cet environnement.

    Plus d'information sur initial ramfs dans Debian peut être trouvée dans le Debian Linux Kernel Handbook sur ‹http://kernel-handbook.alioth.debian.org/› dans le chapitre sur initramfs.

    5.3 Le paquet live-config

    live-config se compose des scripts qui s'exécutent au démarrage après live-boot pour configurer le système live automatiquement. Il gère les tâches telles que l'établissement du nom d'hôte, des paramètres régionaux et du fuseau horaire, la création de l'utilisateur live, l'inhibition des cron jobs et l'autologin de l'utilisateur live.