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-aller-plus-loin [26/05/2016 16:40]
AbdelQahar supprimée
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Live Build : aller plus loin ====== 
- 
-  * Objet : Élargir ses connaissances vis-à-vis de l'​outil ''​live-build''​ (sous Jessie !!!) 
-  * Niveau requis : {{tag>​avisé}} 
-  * Suivi : {{tag>​en_construction}} 
-  * 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 
-  * Commentaires : Ce tuto fait suite celui-ci : [[utilisateurs:​abdelqahar:​tutos:​live-build-les-bases|Live Build : les bases]]. ''​On ne met pas la charue avant les boeufs''​ comme dirait l'​autre... 
-===== RTFM (Lire le fameux manuel) ===== 
-Pour que vous puissiez progresser correctement avec ''​live-build'',​ j'​estime que le plus important, c'est qu'il faut que je vous détaille, ne serait-ce que brièvement,​ le fonctionnement et l'​utilité de certaines commandes. J'ai donc choisi de construire la majeure partie de ce tuto sous cette forme plutôt que d'​aborder des cas concrets. Vous aurez alors les clés en mains pour faire des manipulations avancées avec suffisamment de connaissance pour réaliser ce que vous avez en tête pour vos image iso. 
- 
-__**ATTENTION !**__ \\  
-Il va falloir lire beaucoup de ''​man''​ les enfants, alors accrochez-vous ! Il s'agit cependant de la meilleure manière d'​apprendre (et pas que pour ''​live-build'',​ pour tout ce qui touche à l'​univers GNU/​Linux).\\ ​ Consulter un ''​man''​ consciencieusement pendant un bon quart d'​heure peut vous économiser des jours voire des semaines de recherches sur le web. Ne négligez donc pas cela... 
- 
-On va commencer par décortiquer les différentes phases de ''​lb build''​\\ ​ 
-Prêts ? Allez, courage ! 
- 
-===== live-build : les étapes ===== 
-Les trois commandes que l'on a à utiliser sont : 
-  - ''​lb config''​ 
-  - ''​lb build''​ 
-  - ''​lb clean''​ 
-Sauf que dans les faits, il se placent plus de choses que ça... 
-<code user>man live-build</​code>​ 
-Je vais détailler succinctement la procédure : 
-=== lb config === 
-Cette commande créé un répertoire ''​config''​ et le peuple avec différents fichiers dans lesquelles sont inscrites les options de configuration,​ et des dossiers dans lesquelles peuvent être placé des fichiers, des scripts et autres afin de personnaliser l'iso. 
-=== lb build === 
-Cette commande exécute dans l'​ordre : ''​lb bootstrap'',​ ''​lb chroot'',​ ''​lb binary''​ et ''​lb source''​ (par défaut, ''​lb source''​ est désactivé,​ je ne l'​aborderai pas). \\  
-Chacune de ces commandes peuvent être appelées les unes à la suite des autres, cependant il vaut mieux laisser faire ''​lb build''​ qui sait mieux que nous comme doit se dérouler la procédure... 
-=== lb bootstrap === 
-Installe un système minimal dans un répertoire ''​cache/​bootstrap''​. Les paquets ''​.deb''​ seront rangé dans un répertoire ''​cache/​packages.bootstrap'',​ ce qui évite d'​avoir es retélécharger même si tout le ''​bootstrap''​ est supprimé. 
-=== lb chroot === 
-Copie les bootsrap dans un dossier ''​chroot''​ et installe des paquets supplémentaires (en autres : ceux que vous avez définis dans le fichier ''​live.list.chroot''​). De même les paquets ''​.deb''​ sont archivés dans ''​cache/​packages.chroot''​. 
-=== lb binary === 
-Compresse le chroot en un squashfs, puis installe les paquets nécessaires au démarrage de l'iso (comme syslinux et isolinux) dans un dossier ''​binary''​ (les archives seront dans ''​cache/​packages.binary''​),​ puis grave l'iso dans le répertoire courant. 
-=== lb clean === 
-Permet de nettoyer le tout depuis le début, ou bien seulement certaines parties. Ce sera détaillé plus bas. 
- 
-Maintenant, regardons cela d'un peu plus près. 
- 
-===== lb config ===== 
- 
-Il y a beaucoup de choses possibles avec ce script... Pour vous rendre compte de cela : 
-<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 === 
- 
-(Une option par ligne !) \\  
-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... 
- 
-===== lb boot : ===== 
-C'est la commande qui s'​occupe de gérer les options de boot pour le mode live de l'​image iso. Vous n'avez pas l'​utiliser directement,​ elle ne fait pas non plus partie de la procédure de ''​lb build'',​ mais vous vous y toucher quand même avec de l'​option ''​--bootappend-live''​ de la commande ''​lb config''​. Tout paramètre qui suit peut être l'une des options de la commande ''​lb boot''​. 
-<code user>man live-boot</​code>​ 
-Parmi les options utiles : 
-===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. 
- 
-<​note>​D'​autres paramètres peuvent être ajouté : des paramètres propre au kernel, ou encore des paramètres syslinux. \\  
-À vérifier et à approfondir...</​note>​ 
-===== lb clean ===== 
-<code user>man lb_clean</​code>​ 
-Utilisée sans option, elle nettoie tout le travail de ''​lb binary''​ et ''​lb chroot''​ mais conserve tous le bootstrap et tous les caches. Dans la plupart des cas,​c'​est ce qu'il convient d'​utiliser. 
-<note important>​Veillez à relancer ''​lb config''​ après avoir utiliser ''​lb clean''​ où vous aurez des surprises...</​note>​ 
-Les options : 
-===--binary=== 
-Ne supprime que le travail de ''​lb binary''​. Si les modifications apportées ne sont pas relatives au le chroot, c'est ce qu'il faut utiliser. 
-===--remove=== 
-Supprime tous sauf le bootstrap et les caches 
-===--purge=== 
-Efface tout, même le bootstrap et les caches. On s'en sert pour repartir de 0. 
-===== 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. ​ 
  

Pied de page des forums

Propulsé par FluxBB