|
|
![]() |
![]() |
![]() |
|
|
|
![]() |
![]() |
![]() |
Ce chapitre contient un aperçu des trois principaux outils utilisés dans les systèmes de construction Debian Live: live-build, live-boot et live-config.
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 à celles dans les outils de le paquet Debian debhelper écrit par Joey Hess:
Contrairement à debhelper, live-build contient un outil pour générer un répertoire de configuration de squelette, lb config. Cela pourrait être considéré comme similaire à des outils tels que dh-make. Pour plus d'informations à propos de lb config, s'il vous plaît voir La commande lb config.
Le reste de cette section examine les trois commandes les plus importantes:
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 fastidieux et source d'erreurs, la commande lb config peut être utilisée pour créer des répertoires de configuration de squelette.
Exécuter lb config sans aucun argument crée un sous-répertoire config/ dont il remplit avec certains paramètres, et un sous-répertoire en squelette auto/.
$ lb config
P: Considering defaults defined in /etc/live/build.conf
P: Creating config tree
L'utilisation de lb config sans aucun argument serait approprié pour les utilisateurs qui ont besoin d'une image de base, ou qui ont l'intention d'offrir plus tard, une configuration plus complète via auto/config (voir Gestion d'une configuration pour plus de détails).
Normalement, vous voulez spécifier certaines options. Par exemple, pour inclure la liste du paquet «gnome» dans votre configuration:
$ lb config -p gnome
Il est possible de spécifier plusieurs options, telles que:
$ lb config --binary-images net --hostname live-machine --username live-user ...
Une liste complète des options est disponible dans la page de manuel de lb_config.
La commande lb build lit dans votre configuration à partir du répertoire config/. Il exécute alors les commandes de niveau inférieur nécessaires pour construire votre système Live.
Le travail de la commande lb clean est 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 stades chroot, binary et source sont nettoyées, mais la cache est laissé intact. En outre, les étapes individuelles peuvent être nettoyées. 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.
live-boot est une collection de scripts fournissant hooks pour initramfs-tools, 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 clé 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 de système de fichiers compressé comme squashfs) est stocké. S'il est trouvé, il va créer un environnement accessible en écriture, en utilisant aufs, afin que systémes similaires à Debian puissent démarrer à partir de ça.
Plus d'information sur ramfs initial dans Debian peut être trouvé dans le Debian Linux Kernel Handbook à ‹http://kernel-handbook.alioth.debian.org/› dans le chapitre sur initramfs.
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 tâches telles que l'établissement du nom d'hôte, paramètres régionaux et le fuseau horaire, la création de l'utilisateur live, l'inhibition des cron jobs et autologin de l'utilisateur live.