Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
utilisateurs:abdelqahar:tutos:live-build-les-bases [26/05/2016 16:41]
AbdelQahar supprimée
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Live Build : création d'une image iso live personalisée ====== 
- 
-  * Objet : Utilisation basique de l'​outil ''​live-build''​ (dans Jessie !!!) 
-  * Niveau requis : {{tag>​débutant}} 
-  * Commentaire : {{tag>​en_chantier}} 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] 
-  * Topic de suivi sur le forum : https://​debian-facile.org/​viewtopic.php?​id=14147 
- 
-===== Introduction ===== 
-''​live-build''​ est un ensemble de scripts qui permet de créer une image iso live personnalisée de Debian. Il n'est pas forcément évident de prendre cet outil en main, d'où le présent tuto ! \\ \\ 
-Les avantages : 
-  - Disposer de tous les logiciels désirés sur l'​image iso 
-  - Reproduire son environnement de travail (bureau, icônes, thème...) 
-  - Réinstaller son système sans avoir à créer de sauvegarde (l'iso étant elle-même la sauvegarde !) 
-  - Porter son système vers une autre architecture : 32 ou 64 bits (chose que l'on ne peut pas faire avec une sauvegarde...) 
-\\ 
-Alléchant, n'​est-ce pas ? 
- 
-===== Installation et documentation ===== 
-On installe le jouet et sa doc (tant qu'à faire) : 
-<code root>​apt-get install live-manual live-build</​code>​ 
-Pour consulter la doc, visitez le répertoire ''/​usr/​share/​doc/​live-manual/'',​ vous la trouverez dans les formats suivants : 
-  * html 
-  * odt 
-  * pdf 
-  * epub 
-  * txt 
-<note tip>​Faites en sorte de l'​avoir toujours sous la main, c'est une vrai mine d'or ! Faites un ou plusieurs raccourcis sur votre bureau par exemple.</​note>​ 
- 
-Bon, allez, au boulot ! 
-===== Exemple représentatif ===== 
-Le but à atteindre : obtenir un image iso légère pour faire de la navigation internet, avec //votre// profil firefox \\ 
-==== 1. Copie des exemples des 3 scripts principaux ==== 
-''​live-build''​ fournit essentiellement 3 commandes principales : 
-  - ''​lb config''​ qui permet de définir les options de configuration globales de l'iso live que vous voulez créer 
-  - ''​lb build''​ qui se charge des différentes étapes de construction de la dite iso 
-  - ''​lb clean''​ qui nettoie le tout avant de passer à une nouvelle iso. 
-\\ 
-Pour simplifier les choses les mainteneurs du paquet nous fournisse des exemple tous prêts que l'on a plus qu'à copier et éditer en fonction de nos convenances. \\ 
-On commence d'​abord par créer un répertoire de travail, et un premier répertoire de test : 
-<code user>cd ~ 
-mkdir Live_Build_Work 
-cd Live_Build_Work 
-mkdir test_1 
-cd test_1</​code>​ 
-Maintenant qu'on est dedans on va copier les 3 scripts dans un répertoire ''​auto''​ : 
-<code user>​mkdir auto 
-cp /​usr/​share/​doc/​live-build/​examples/​auto/​* auto/</​code>​ 
-==== 2. Édition du script ''​config''​ ==== 
-Maintenant, on va éditer le script ''​config''​ de la manière suivante : 
-<code user>​editor auto/​config</​code>​ 
-<​note>''​editor''​ lance votre éditeur de texte en mode console par défaut. À priori, si vous ne l'avez jamais défini manuellement,​ il s'agit de ''​nano''​.\\ 
-Pour en définir un autre : 
-<code user>​update-alternatives --config editor</​code></​note>​ 
-Vous pouvez bien sur mettre directement ''​nano''​ à la place de ''​editor'',​ ou bien un autre éditeur de texte que vous maîtrisez (''​vim'',​ ''​emacs''​...). 
-<file bash config> 
-#!/bin/sh 
- 
-lb config noauto \ 
-     ​--architectures i386 \ 
-     ​--linux-flavours "586 686-pae"​ \ 
-     ​--binary-image iso 
-     ​--bootappend-live "​boot=live components autologin " 
-     "​${@}"​ 
-</​file>​ 
-Cela nous donnera un iso live "​passe-partout",​ car 32 bit avec deux noyaux : un 586 pour les processeurs 32 bit simple coeur, et un 686-pae pour les 32 bits double coeur qui fonctionnera également avec les processeurs 64 bits. 
-<note important>​La langue du système sera l'​anglais,​ et le clavier sera en ''​QERWTY''​. Pour franciser tout ça, voir : [[utilisateurs:​abdelqahar:​tutos:​live-build-les-bases#​options-de-boot|Options de boot]]</​note>​ 
-==== 3. Définition des paquets supplémentaires ==== 
-Afin d'​installer les paquets de votre choix dans votre iso live, c'est très simple : il suffit d'​éditer le fichier ''​config/​packages-list/​live.list.chroot''​. 
-<code user>​editor config/​packages-list/​live.list.chroot</​code>​ 
-Rajoutez simplement à la fin du fichier : 
-<file bash live.list.chroot>​ 
-task-lxde-desktop 
-icewesael-l10n-fr 
-</​file>​ 
-<note tip>Vous pouvez les écrire les uns à la suite des autres, séparés par un espace plutôt qu'un par ligne. \\  
-Et si vous avez l'​intention d'en mettre beaucoup, vous pouvez les répartir en plusieurs fichiers ayant comme extension : ''​.list.chroot''​. 
-Par exemple : ''​bureautique.list.chroot'',​ ''​system.list.chroot''​...</​note>​ 
-==== 4. Ajout de fichiers de configuration pour l'​utilisateur live ==== 
-Les fichiers de configuration d'un utilisateur sont les fichiers cachés (commençant par un point : ''​.''​) ou bien se trouvant dans un répertoire caché (même chose) contenu dans son répertoire personnel. Les fichiers de configurations de votre profile firefox se trouve dans le répertoire caché ''​.mozilla''​ \\ 
-Afin que l'​utilisateur live (notre cher ''​toto''​) en profite il va falloir créer un répertoire ''/​etc/​skel''​ à l'​intérieur du répertoire ''​config/​includes.chroot''​ et placer notre ''​.mozilla''​ dedans. 
-<code user>​mkdir -p /​config/​includes.chroot/​etc/​skel 
-cp -r ~/.mozilla config/​includes.chroot/​etc/​skel/</​code>​ 
-<​note>​Il faut savoir deux choses pour comprendre cette manoeuvre : 
-  - Tout fichier que vous placez dans le répertoire ''​config/​includes.chroot''​ se retrouvera à la racine du système de votre image iso. Vous pouvez donc mettre bien d'​autre choses, comme un fichier de configuration global contenu dans ''/​etc'',​ par exemple ''/​etc/​bash.bashrc''​. Il faudra alors faire comme suit :<code user>​mkdir config/​includes.chroot/​etc ​ 
-cp /​etc/​bash.bashrc /​config/​includes.chroot/​etc/</​code>​ 
-  - Le répertoire ''/​etc/​skel''​ sert de "​squelette"​ pour la création de l'​utilisateur live. Tout ce qui se trouve dans ce répertoire se retrouvera dans son répertoire personnel. Il ne faut donc pas créer un répertoire ''/​home/​toto''​ pour mettre vos fichiers de configurations dedans mais appliquer la méthode décrite ci-dessous. 
-</​note>​ 
- 
-==== 5. Création de l'iso ==== 
-Ça y est, on a plus qu'à lancer la procédure de création (ça prendra environ une heure) : 
-<code root>lb build</​code>​ 
-Alors, c'​était dur ? 
- 
-===== Réclamations ===== 
-==== Mais moi je veux pas Lxde ! Je veux le même bureau que sur mon ordi !!! ===== 
-Oui oui, ok, c'est bon, ça arrive, pas la peine de s'​énerver... 
-Tout d'​abord,​ on nettoie : 
-<code root>lb clean</​code>​ 
-<code user>lb config</​code>​ 
-<note tip>​Avant de relancer ''​lb config'',​ il est bon de jeter un oeil à ''​auto/​config''​ pour voir si on à rien à changer...</​note>​ 
- 
-===1. Éditer la liste des paquets supplémentaires=== 
-Si vous utilisez une police, des icônes, un thème, ou encore des plugins particuliers,​ il faut penser à les ajouter au ''​live.list.chroot''​. 
- 
-Par exemple, avec Xfce : 
-<file bash live.list.chroot>​ 
-task-french-desktop 
-task-xfce-desktop 
-faenza-icon-theme 
-fonts-cantarell 
-murrine-themes 
-xfce4-plugin-whiskermenu 
-</​file>​ 
-Ajouter les applications de votre choix bien entendu. 
- 
-===2. Importer les fichiers de configuration=== 
-Certaines application ont leur propre ''​.bidule''​. Cependant, un grand nombre d'​entre elles, ainsi que la plupart des configurations relatives au bureau (y compris le fond d'​écran) sont dans le répertoire ''​.config''​ (vous pouvez allez jeter un coup d'oeil dedans si vous ne me croyez pas). 
-<code user>cp -r ~/.config config/​includes.chroot/​etc/​skel/</​code>​ 
-Terminé ! 
-<code root>lb build</​code>​ 
- 
-==== Et pour que ça installe la même chose que sur l'iso ? ==== 
-C'est simple : dans le script ''​config''​ rajoutez la ligne : 
-<file bash> 
-    --debian-installer live \ 
-</​file>​ 
-Vous verrez, lors de l'​installation,​ après le partitionnement,​ au lieu de la traditionnelle installation du sytème de base puis du choix des logiciels, l'​installateur copiera le contenu de l'iso. 
- 
-C'est pas merveilleux ?! 
- 
-==== Je trouve ça lourd de renommer à chaque fois l'iso quand c'est fini ==== 
-Aucun problème : dans le fichier ''​config/​build'',​ remplacez ''​live-image''​ à la ligne 9 par : ''​ma-super-debian-que-j-ai-fais-moi-et-qui-dechire-tout''​ (ou par autre chose...). 
-===== Plus de configurations ===== 
-Maintenant qu'on a découvert ''​live-build'',​ on va voir quelques possibilités supplémentaires. 
-==== Options de la commande config ==== 
-Il y a beaucoup de chose à faire ici. Voyez plutôt : 
-<code user>man lb_config</​code>​ 
-On peut ajouter les options en ligne de commande, comme ceci (à chaque fois qu'on lance cette commande, les options se cumulent) : 
-<code user>lb config --une-option un_parametre</​code>​ 
-Ou bien tout mettre dans le fichier ''​auto/​config''​ ; une option sur une ligne, suivie d'un anti-slash, comme cela : 
-<file bash> 
-    --une-option un_parametre \ 
-</​file>​ 
-Parmi les options utiles : 
- 
-  * ''​--apt-source-archives false''​\\ N'​inclue pas les dépôts source durant le bootstrap ou le chroot. Cela évite de gaspiller de la connexion pour rien, surtout qu'​apt-get update est lancé plus d'une dizaine de fois pendant toute la procédure de ''​lb build''​ ! (Observer la sorite de votre terminal ou bien le fichier build.log, et vous verrez)\\ \\  
-  * ''​--apt-recommends false''​\\ Permets de ne pas installer les paquets recommandés. Pratique lorsque l'on veut faire un install minimale, uniquement avec les logiciels désirés. Cela permet également de réduire la taille de l'​image iso pour ceux qui voudraient la graver sur un CD pour une raison X ou Y (impossibilité de booter sur une clé USB ou un DVD par exemple).\\ \\  
-  * ''​--debian-installer true''​\\ Utiliser l'​installateur standard (celui qui ne copie pas l'​iso).\\ \\  
-  * ''​--distribution stretch''​\\ Je pense que ça se passe de commentaire. Les plus téméraires d'​entre vous pourraient (et je dis bien "​pourraient"​) être tentés de mettre ''​sid''​...\\ \\  
-  * ''​--security true'',​ ''​--updates ​ true''​ et ''​--backports true''​\\ Permets d'​inclure les dépôts security, updates et backports durant la construction de l'iso. Pratique pour inclure un noyau plus récent.\\ Ajoutez des paquets au fichier ''​live.list.chroot''​ pour en profiter, sinon, cela ne sert à rien !\\ \\  
-  * ''​--archive-areas main contrib non-free''​\\ Inclure les parties main, contrib et non-free des dépôts. Cela permet de mettre des firmwares non libre dans l'iso. \\ Même remarque que précédemment... 
- 
-==== Options de boot ==== 
-L'​option ''​--bootappend-live''​ de la commande config à elle seule vous permets d'​accéder à certains paramétrages très intéressants. \\  
-Voici quelques options utiles que vous pouvez ajouter à la suite dans votre fichier ''​config''​ (tout sur une ligne) : 
-  * ''​lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/​Paris utc=yes''​\\ Définit la langue du système, l'​agencement du clavier et le fuseau horaire.\\ \\  
-  * ''​username=toto hostname=ordi''​\\ Permets de définir le nom d'​utilisateur et d'​hôte.\\ \\  
-  * ''​toram''​\\ Charge la totalité du système dans la RAM. Cela permet de pouvoir faire fonctionner le système même si le support (CD, clé USB) est retiré. Pratique non ?\\ \\  
-  * ''​swap=true''​\\ Pour utiliser les partitions swap détectées. 
- 
-==== Les hooks ==== 
-<note important>​Réservez à ceux qui ont des bases en scripts bash !</​note>​ 
-Les hooks sont des scripts qui s'​effectuent à un moment précis d'une procédure dans un but de personnalisation. 
- 
-Vos hooks doivent se trouver dans le répertoire ''​config/​hooks''​ (il est déjà rempli avec un certain nombre de hooks par défaut après l'​exécution de ''​lb config''​.\\ ​ 
-Ils doivent : 
-  - commencer par un numéro, afin qu'ils soient exécuter dans un ordre précis (commencez par ''​1000-''​ puis ''​1001-''​...) ; 
-  - porter un extension ''​.hook.chroot''​ ou ''​.hook.binary''​ selon l'​étape à laquelle vous voulez qu'ils s'​exécutent. ​ 
- 
-===== Liens ===== 
-  * Tuto pour Debian Wheezy : https://​debian-facile.org/​doc:​install:​live-build 
- 
-Tutos sur d'​autres sites (attention, certains ne fonctionnent plus sous jessie !) : 
-  * http://​linuxmao.org/​tiki-index.php?​page=live-build&​structure=Accueil+Tutos&​redirectpage=live-build 
-  * https://​yeuxdelibad.net/​Logiciel-libre/​Debian/​Creer_sa_propre_distribution_avec_live-build.html 
-  * http://​blog.handylinux.org/​article235/​partage-d-experience-live-build-et-paquets-debian 
-  * http://​www.blaess.fr/​christophe/​2011/​09/​02/​creation-dun-systeme-live-linux-personnalise/​ 
  

Pied de page des forums

Propulsé par FluxBB