Manuel Live Systems

Aperçu des outils

Aperçu des outils

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

Le paquet live-build

live-build est une collection de scripts pour construire des systèmes 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 des outils pour générer une arborescence de configuration. Cela pourrait être considéré comme similaire à des outils tels que dh-make. Pour plus d'informations sur ces outils, continuer la lecture, parce que le reste de cette section est sur les quatre commandes les plus importantes. Notez que la commande lb est une function générique pour les commandes live-build.

●  lb config: Responsable de l'initialisation d'un répertoire de configuration pour un 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.

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 la commande lb config sans aucun argument crée le sous-répertoire config/ qui est peuplée avec certains paramètres dans fichiers de configuration, et deux sous-répertoires auto/ et local/ avec une arborescence de fichiers.

 $ lb config
 [2015-01-06 19:25:58] lb config
 P: Creating config tree for a debian/stretch/i386 system
 P: Symlinking hooks...  

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 spécifier le gestionnaire de paquets à utiliser lors de la construction de l'image:

 $ lb config --apt aptitude  

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

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

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

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.

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. Si vos modifications invalident le bootstrap et/ou les caches de paquets, par exemple, modifications aux options --mode, --architecture ou --bootstrap, vous devez utiliser lb clean --purge. Voir la page de manuel de lb_clean pour une liste complète des options.

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 ISOs, 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.

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.



License: Ce programme est un logiciel libre; vous pouvez le redistribuer ou le modifier suivant les termes de la Licence Générale Publique GNU telle que publiée par la Free Software Foundation: soit la version 3 de cette licence, soit (à votre gré) toute version ultérieure.

Ce programme est distribué dans l’espoir qu’il vous sera utile, mais SANS AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence Générale Publique GNU pour plus de détails.

Vous devriez avoir reçu une copie de la Licence Générale Publique GNU avec ce programme ; si ce n’est pas le cas, consultez http://www.gnu.org/licenses/.

Le texte complet de la Licence Générale Publique GNU peut être trouvé dans le fichier / usr/share/common-licenses/GPL-3


SiSU Spine (object numbering & object search) 2022