« Création d'une image debian bootable (système de rescue, live system) » : différence entre les versions

Aller à la navigation Aller à la recherche
(8 versions intermédiaires par le même utilisateur non affichées)
Ligne 95 : Ligne 95 :
</pre>
</pre>


Notez qu'on utilise un hook lancé durant la construction de notre image, technique qui a l'avantage de préserver le contenu d'origine du fichier <code>/etc/issue</code> (généralement, la version de la distribution, qui change donc selon votre configuration à <code>lb config</code>).<br>
Notez qu'on utilise un hook lancé durant la construction de notre image, technique qui a l'avantage de préserver le contenu d'origine du fichier <code>/etc/issue</code> installé par debian (généralement, la version de la distribution, qui change donc selon votre configuration à <code>lb config</code>).<br>
Une alternative, quoi que parfois moins fiable, et ne permettant pas de conserver le contenu du fichier d'origine, aurait été de créer un fichier <code>config/includes.chroot_after_packages/etc/issue</code> contenant directement le motd.
Une alternative, quoi que parfois moins fiable, et ne permettant pas de conserver le contenu du fichier d'origine, aurait été de créer un fichier <code>config/includes.chroot_after_packages/etc/issue</code> contenant directement le motd.


Ligne 108 : Ligne 108 :
zerofree ethtool net-tools testdisk gddrescue smartmontools hdparm lvm2 psmisc freeipmi ipmitool openipmi gdisk bzip2 zsync > config/package-lists/mypackage.list.chroot</pre>
zerofree ethtool net-tools testdisk gddrescue smartmontools hdparm lvm2 psmisc freeipmi ipmitool openipmi gdisk bzip2 zsync > config/package-lists/mypackage.list.chroot</pre>


==installer un package depuis les dépots backports==
Pour installer un package depuis les dépots backports (sous réserve que vous ayez activez ces dépots à l'opération <code>lb config</code> :
<pre>echo "smartmontools/bullseye-backports" > config/package-lists/mypackage-bpo.list.chroot</pre>


==Pinner un package depuis les dépots backports==
Pendant le chroot uniquement :
<pre>
<pre>
cat >> config/archives/backports.pref.chroot << EOF
cat >> config/archives/backports.pref.chroot << EOF
Package: smartmontools
Package: smartmontools
Pin: release a=jessie-backports
Pin: release a=bullseye-backports
Pin-Priority: 600
Pin-Priority: 600
EOF
</pre>


Package: e2fsprogs
Dans l'image définitive :
Pin: release a=jessie-backports
<pre>
cat >> config/archives/backports.pref.binary << EOF
Package: smartmontools
Pin: release a=bullseye-backports
Pin-Priority: 600
Pin-Priority: 600
EOF
EOF
Ligne 128 : Ligne 137 :
</pre>
</pre>


Pour que le dépôt soit accessible sur le système définitif créé :
Pour que le dépôt soit accessible sur le système définitif créé (après avoir booté l'iso) :
<pre>
<pre>
echo "deb http://mirror/debian/ sid main" > config/archives/sid.list.binary
echo "deb http://mirror/debian/ sid main" > config/archives/sid.list.binary
Ligne 178 : Ligne 187 :
Les clés serveurs openssh seront automatiquement supprimés après l'installation par le fichier <code>config/hooks/0160-remove-openssh-server-host-keys.hook.chroot</code>, puis régénéré lors du boot par live-config.
Les clés serveurs openssh seront automatiquement supprimés après l'installation par le fichier <code>config/hooks/0160-remove-openssh-server-host-keys.hook.chroot</code>, puis régénéré lors du boot par live-config.


Dans le cas ou vous installez un serveur ssh, il sera bon de changer le mot-de-passe utilisateur. Vous pouvez vous inspirer du fichier <code>/usr/share/doc/live-config/examples/hooks/passwd</code> pour créer une hook réalisant celà.
Dans le cas ou vous installez un serveur ssh, il peut être préférable de changer le mot-de-passe utilisateur. Vous pouvez vous inspirer du fichier <code>/usr/share/doc/live-config/examples/hooks/passwd</code> pour créer une hook réalisant cela.<br>
Notez tout de même que par défaut, au démarrage de l'iso, le login password ssh est désactivé (fichier <code>/lib/live/config/1160-openssh-server</code>)


<br>Note :  
<br>Note :  
* Pour l'ajout de la clé ssh, nous aurions aussi pu créer un fichier <code>config/includes.chroot/root/.ssh/authorized_keys</code>
* Pour l'ajout de la clé ssh, nous aurions aussi pu créer un fichier <code>config/includes.chroot_after_packages/root/.ssh/authorized_keys</code>
* Néanmoins, pour exécuter la commande sed qui modifie la configuration openssh, nous sommes obligé de passer par une hook/live afin d'éditer la configuration après que le système du chroot ait été installé (et donc après que openssh soit installé et configuré).
* Néanmoins, pour exécuter la commande sed qui modifie la configuration openssh, nous sommes obligé de passer par une hook/live afin d'éditer la configuration après que le système du chroot ait été installé (et donc après que openssh soit installé et configuré).
* Alternativement, et depuis Debian Bullseye, il serait également possible d'utiliser le dossier <code>config/includes.chroot_after_packages</code> afin de remplacer totalement la configuration de openssh.
* Alternativement, il serait également possible d'utiliser le dossier <code>config/includes.chroot_after_packages/</code> afin de remplacer totalement la configuration de openssh (ce qui implique également que vous assumiez totalement les mises à jour de la configuration de openssh de version en version de debian)


==Un petit README pour terminer ?==
==Un petit README pour terminer ?==


Le dossier <code>config/includes.chroot/</code> permet d'ajouter des dossiers et fichiers au système de fichier debian qui sera créé pour cette image.
Les dossiers <code>config/includes.chroot_after_packages/</code> et <code>config/includes.chroot_before_packages/</code> permettent d'ajouter des dossiers et fichiers qui sont incorporés au système de fichier créé. Ces fichiers sont transférés soit avant l'installation des paquets, soit après.


<pre>
<pre>
mkdir config/includes.chroot/root/
mkdir config/includes.chroot_after_packages/root/
chmod 750 config/includes.chroot/root/
chmod 750 config/includes.chroot_after_packages/root/
cat > config/includes.chroot/root/README << EOF
cat > config/includes.chroot_after_packages/root/README << EOF
Vous pouvez créer les fichiers que vous voulez de cette manière afin de les inclures dans le système de fichier de linux
Vous pouvez créer les fichiers que vous voulez de cette manière afin de les inclures dans le système de fichier de linux
EOF
EOF
</pre>
</pre>
Attention, ces fichiers écrasent les fichiers pré-existant installés automatiquement par debian !


==Un petit README a la root de l'iso ?==
==Un petit README a la root de l'iso ?==
Ligne 209 : Ligne 221 :
==Executer des hooks personnalisée lors du boot==
==Executer des hooks personnalisée lors du boot==


Il faut les créer dans <code>config/includes.chroot/lib/live/config/</code>
Il faut créer des fichiers exécutables dans <code>config/includes.chroot/lib/live/config/</code><br>
Ces fichiers seront exécutés lors du démarrage de l'iso, juste avant que vous obteniez un prompt.


=Création de l'image=
=Création de l'image=
4 203

modifications

Menu de navigation