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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:abdelqahar:tutos:live-build-les-bases [16/05/2016 22:04] AbdelQahar [Exemple représentatif des fonctionnalités principales] |
utilisateurs:abdelqahar:tutos:live-build-les-bases [26/05/2016 15:41] AbdelQahar [Quelques astuces] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Utilisation basique de l'outil ''live-build'' (dans Jessie !!!) | * Objet : Utilisation basique de l'outil ''live-build'' (dans Jessie !!!) | ||
- | * Niveau requis : FIXME {{tag>débutant}} | + | * Niveau requis : {{tag>débutant}} |
- | * Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME | + | * Commentaire : {{tag>en_chantier}} |
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] | * 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 ===== | ===== Introduction ===== | ||
- | ''live-build'' est un enesmble de scripts qui permet de créer une image iso live personalisée de Debian. Il n'est pas forcément évident de prendre cet outil en main, d'où le présent tuto ! \\ \\ | + | ''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 : | Les avantages : | ||
- Disposer de tous les logiciels désirés sur l'image iso | - Disposer de tous les logiciels désirés sur l'image iso | ||
- | - Reproduire son environnement de travail (bureau, icônes, thèmes...) | + | - 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 !) | - 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...) | - Porter son système vers une autre architecture : 32 ou 64 bits (chose que l'on ne peut pas faire avec une sauvegarde...) | ||
Ligne 17: | Ligne 18: | ||
===== Installation et documentation ===== | ===== Installation et documentation ===== | ||
- | On installe le jouet : | + | On installe le jouet et sa doc (tant qu'à faire) : |
- | <code root>apt-get install live-build</code> | + | <code root>apt-get install live-manual live-build</code> |
- | Et on consulte la magnifique documentation officielle qui va avec : | + | Pour consulter la doc, visitez le répertoire ''/usr/share/doc/live-manual/'', vous la trouverez dans les formats suivants : |
- | <code user>iceweasel /usr/share/doc/live-manual/html/live-manual.fr.html</code> | + | * html |
- | ou alors : | + | * odt |
- | <code user>iceweasel /usr/share/doc/live-manual/html/live-manual/about-manual.fr.html</code> | + | |
- | <note tip>Faites-vous un marque-page, vous risquez d'y revenir souvent !</note> | + | * 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> | ||
<note important>Ce tuto est grandement inspiré de la doc officielle. J'ai surtout synthétisé et rajouté quelques précisions pratiques à travers certains exemples.</note> | <note important>Ce tuto est grandement inspiré de la doc officielle. J'ai surtout synthétisé et rajouté quelques précisions pratiques à travers certains exemples.</note> | ||
Bon, au boulot ! | Bon, au boulot ! | ||
- | ===== Exemple représentatif des fonctionnalités principales ===== | + | ===== Exemple représentatif ===== |
- | On va reprendre l'un des exemple cité dans la doc en y ajoutant certains éléments afin de se familiariser avec plusieurs fonctionnalités... \\ | + | Le but à atteindre : obtenir un image iso légère pour faire de la navigation internet, avec //votre// profil firefox \\ |
- | Le but à atteindre : obtenir un image iso légère pour faire de la navigation internet, avec //votre// propre profil firefox, et en définissant un nom d'utilisateur et un mot de passe. \\ | + | |
==== 1. Copie des exemples des 3 scripts principaux ==== | ==== 1. Copie des exemples des 3 scripts principaux ==== | ||
- | ''live-build'' fournit essentiellement 3 commandes pricipales : | + | ''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 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 build'' qui se charge des différentes étapes de construction de la dite iso | ||
Ligne 57: | Ligne 59: | ||
--architectures i386 \ | --architectures i386 \ | ||
--linux-flavours "586 686-pae" \ | --linux-flavours "586 686-pae" \ | ||
+ | --binary-image iso | ||
--bootappend-live "boot=live components autologin quiet noprompt username=toto lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105" | --bootappend-live "boot=live components autologin quiet noprompt username=toto lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105" | ||
"${@}" | "${@}" | ||
Ligne 63: | Ligne 66: | ||
==== 3. Définition des paquets supplémentaires ==== | ==== 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''. | 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> | + | <code user>editor config/packages-list/live.list.chroot</code> |
+ | Rajoutez simplement à la fin du fichier : | ||
<file bash live.list.chroot> | <file bash live.list.chroot> | ||
task-french-dekstop | task-french-dekstop | ||
Ligne 69: | Ligne 73: | ||
icewesael-l10n-fr | icewesael-l10n-fr | ||
</file> | </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. | + | <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''. | 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> | Par exemple : ''bureautique.list.chroot'', ''system.list.chroot''...</note> | ||
Ligne 85: | Ligne 87: | ||
</note> | </note> | ||
- | ==== 5. Définition du mot de passe ==== | + | ==== 5. Création de l'iso ==== |
- | Afin de lancer un script lors de la création de l'iso, il faut le placer dans le répertoire ''config/hooks''. Le mieux est de lui donner un nom du style : ''1000-perso.hook.chroot'' | + | |
- | <code user>editor config/hooks/1000-perso.hook.chroot</code> | + | |
- | <file bash 1000-perso.hook.chroot> | + | |
- | passwd toto --geccos toto | + | |
- | </file> | + | |
- | <note tip>Ici aussi, si vous comptez utiliser plusieurs scripts, vous pouvez vous organiser comme suit : ''1001-passwd.hook.chroot'', ''1002-config-server.hook.chroot''...</note> | + | |
- | Il faudrait être devant votre ordinateur lorsque ce script s'effectuera pour que vous entriez le mot de passe... | + | |
- | ==== 6. Création de l'iso ==== | + | |
Ça y est, on a plus qu'à lancer la procédure de création (ça prendra environ une heure) : | Ça y est, on a plus qu'à lancer la procédure de création (ça prendra environ une heure) : | ||
<code root>lb build</code> | <code root>lb build</code> | ||
Ligne 102: | Ligne 96: | ||
Tout d'abord, on nettoie : | Tout d'abord, on nettoie : | ||
<code root>lb clean</code> | <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émetaires==== | + | ====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''. | 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''. | ||
Ligne 115: | Ligne 111: | ||
xfce4-plugin-whiskermenu | xfce4-plugin-whiskermenu | ||
</file> | </file> | ||
+ | Ajouter les applications de votre choix bien entendu. | ||
====2. Importer les fichiers de configuration==== | ====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). | |
- | La plupart des configurations relatifs au bureau (y compris le fond d'écran) sont dans ''.config''. | + | |
<code user>cp -r ~/.config config/includes.chroot/etc/skel/</code> | <code user>cp -r ~/.config config/includes.chroot/etc/skel/</code> | ||
Terminé ! | Terminé ! | ||
- | <code user>lb config</code> | ||
<code root>lb build</code> | <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 ?! | ||
+ | |||
+ | ===== Quelques astuces ===== | ||
+ | |||
+ | ==== Options de boot ==== | ||
+ | <code user>man live-boot</code> | ||
+ | Avec de l'option ''--bootappend-live'' de la votre fichier ''config'', vous pouvez accéder à certains paramétrages très intéressants. \\ | ||
+ | Voici quelques options utiles que vous pouvez ajouter à la suite sur cette 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. | ||
+ | |||
+ | ==== Le nom de l'iso ==== | ||
+ | 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...). | ||
+ | |||
+ | ===== 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. | ||
+ | ===== Et maintenant ? ===== | ||
+ | [[utilisateurs:abdelqahar:tutos:live-build-aller-plus-loin|Live Build : aller plus loin]] | ||
===== Liens ===== | ===== Liens ===== | ||
- | * Topic de discussion : https://debian-facile.org/viewtopic.php?id=14147 | ||
* Tuto pour Debian Wheezy : https://debian-facile.org/doc:install:live-build | * Tuto pour Debian Wheezy : https://debian-facile.org/doc:install:live-build | ||
- | * La doc au format html : https://packages.debian.org/jessie/all/live-manual-html/download | + | |
- | + | Tutos sur d'autres sites (attention, certains ne fonctionnent plus sous jessie !) : | |
- | Tutos sur d'autres sites (attention, certains fonctionnent sous wheezy mais pas sous jessie !) : | + | * http://linuxmao.org/tiki-index.php?page=live-build&structure=Accueil+Tutos&redirectpage=live-build |
- | * https://packages.debian.org/jessie/all/live-manual-html/download | + | |
* https://yeuxdelibad.net/Logiciel-libre/Debian/Creer_sa_propre_distribution_avec_live-build.html | * 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/ | ||