Ce chapitre explique comment gérer une configuration d'un système live à partir d'une création initiale, à travers des révisions successives et des versions successives du logiciel live-build et de l'image live elle-même.
Les configurations live sont rarement parfaites du premier coup. Il peut être bon de passer des options lb config à partir de la ligne de commande pour effectuer une construction unique, mais il est plus typique de réviser ces options et de construire à nouveau jusqu'à ce que vous êtes satisfait. Afin de soutenir ces changements, vous aurez besoin des scripts automatiques qui assurent que votre configuration est maintenue dans un état cohérent.
La commande lb config enregistre les options que vous lui passez dans les fichiers dans config/* avec beaucoup d'autres options aux valeurs par défaut. Si vous exécutez lb config à nouveau, il ne réinitialisera pas l'option qui a été faite défaut en fonction de vos options initiales. Ainsi, par exemple, si vous exécutez lb config à nouveau avec une nouvelle valeur pour --distribution, toutes les options qui ont été dépendantes par défaut pour l'ancienne distribution ne peuvent plus fonctionner avec les nouveaux. Ces fichiers ne sont pas destinés à être lus ou édités. Ils enregistrent des valeurs pour plus d'une centaine d'options, afin que personne puisse voir dans ces options que vous avez réellement précisée.
Pour toutes ces raisons, les scripts auto/* vous rendront la vie plus facile. Ils sont simples emballages pour les commandes lb config, lb build et lb clean qui sont conçus pour vous aider à gérer votre configuration. Le script auto/config enregistre votre commande lb config avec toutes les options désirées, le script auto/clean supprime les fichiers contenant les valeurs des variables de configuration, et le script auto/build crée un build.log de chaque construction. Et chaque fois que vous lancez la commande lb correspondante, ces fichiers seront exécutés automatiquement. En utilisant ces scripts, votre configuration est plus facile à lire et a une cohérence interne d'une révision à l'autre. En outre, il sera plus facile pour vous identifier et corriger les options qui doivent changer lorsque vous mettez à niveau live-build après avoir lu la documentation mise à jour.
Pour votre commodité, live-build est fourni avec shell scripts d'exemple, pour copier et modifier. Lancer une nouvelle configuration par défaut, puis copier les exemples:
$ mkdir mylive && cd mylive && lb config
$ cp /usr/share/doc/live-build/examples/auto/* auto/
Modifier auto/config, ajouter des options comme bon vous semble. Par exemple:
#!/bin/sh
lb config noauto \
--architectures i386 \
--linux-flavours 686-pae \
--binary-images hdd \
--mirror-bootstrap http://ftp.es.debian.org/debian/ \
--mirror-binary http://ftp.es.debian.org/debian/ \
"${@}"
Maintenant, chaque fois que vous utilisez lb config, auto/config réinitialisera la configuration basée sur ces options. Lorsque vous souhaitez effectuer des modifications, modifier les options dans ce fichier au lieu de les passer à lb config. Lorsque vous utilisez lb clean, auto/clean va nettoyer les fichiers ainsi que tous les autres produits de construction. Et enfin, lorsque vous utilisez lb build , un journal de la construction sera écrit par auto/build dans build.log.
Remarque: Un paramètre spécial noauto est utilisé ici pour en éliminer un autre appel à auto/config, évitant ainsi une récursion infinie. Assurez-vous que vous ne l'avez pas accidentellement supprimé modifiant le fichier. Aussi, prenez soin d'assurer quand vous divisez la commande lb config sur plusieurs lignes pour une meilleure lisibilité, comme le montre l'exemple ci-dessus, que vous n'oubliez pas la barre oblique inverse (\) de sorte que chaque ligne continue à l'autre.
Utilisez l'option lb config --config pour cloner un dépôt Git qui contient une configuration de Debian Live. Si vous souhaitez baser votre configuration sur une maintenue par le projet Debian Live, voir les dépôts avec le préfixe config- sur ‹http://live.debian.net/gitweb›
Par exemple, pour construire une image de récupération, utiliser le dépôt config-rescue comme suit:
$ mkdir live-rescue && cd live-rescue
$ lb config --config git://live.debian.net/git/config-rescue.git
Modifier auto/config et toutes les autres choses dont vous avez besoin dans l'arbre config en fonction de vos besoins.
Vous pouvez éventuellement définir un raccourci dans votre configuration Git en ajoutant la ligne suivante à votre ${HOME}/.gitconfig:
[url "git://live.debian.net/git/"]
insteadOf = ldn:
Cela vous permet d'utiliser # {ldn:} # partout où vous devez spécifier l'adresse d'un dépôt live.debian.net Si vous supprimez le suffixe optionnel .git, démarrer une nouvelle image en utilisant cette configuration est aussi simple que:
$ lb config --config ldn:config-rescue