Preseed Debian : automatisez simplement l'installation

Let's wait 23
Accès libre
image dediée
OS TUTO
David Legrand

Installer un système d'exploitation sur un ordinateur consiste le plus souvent à répondre à quelques questions, une pratique que l'on peut facilement automatiser. À l'occasion de la mise en ligne de Debian 9.9, voici comment faire avec un fichier « preseed ».

Lorsque vous achetez un PC, il est en général préconfiguré et le système d'exploitation déjà en place. Vous n'avez plus que quelques étapes à franchir, comme accepter les conditions d'utilisation pour Windows par exemple.

Vous pouvez aussi y installer l'OS de votre choix à la main, depuis un CD ou une clé USB. Une étape désormais assez courte, consiste à répondre à quelques questions. Une procédure simple, mais pouvant vite devenir répétitive si vous devez configurer plusieurs machines physiques et/ou virtuelles dans le cadre de votre travail (ou de vos week-ends pluvieux).

Heureusement, la plupart des systèmes proposent une mécanique d'installation dite non interactive (unattended en anglais) permettant de définir à l'avance tous les paramètres : langue, clavier, réseau, configuration du stockage, compte utilisateur, pilotes et applications, etc. Une fois lancée, vous n'avez (presque) plus rien à faire.

Selon les cas, c'est plus ou moins simple à mettre en œuvre. Pour commencer ce tour d'horizon des possibilités, analysons Debian, dont la version 9.9 vient d'être mise en ligne, et sa méthode de préconfiguration (preseed).

Notre dossier sur l'automatisation de l'installation des OS :

Une procédure, de multiples possibilités

Comme souvent avec Debian, les développeurs ont opté pour une solution simple mais répondant à une multitude de cas en fonction de la composition de la machine, la façon dont elle sera configurée ou même la méthode de récupération du fichier de préconfiguration. La documentation précise que l'on peut le faire via une clé USB, un disque ou une URL.

Car c'est bien de cela dont il s'agit, fournir un fichier texte comprenant tous les paramètres à utiliser en général nommé preseed.cfg. Chaque ligne qu'il contient correspond à une question que Debian Installer (d-i) est susceptible de poser à l'utilisateur. Si la réponse est présente dans le fichier, aucune interaction n'est nécessaire.

L'objectif est donc d'être le plus complet possible. Un fichier type est fourni par ici, vous trouverez celui que nous utilisons dans cet article (commenté) ci-dessous. Il permet une installation automatique, configurant la machine en français, le système sur le premier périphérique de stockage trouvé (effacé au passage). Faites donc attention avant de l'utiliser.

Nous l'avons voulu le plus générique possible, fonctionnant aussi bien sur un système physique que virtuel, avec un disque dur ou un SSD S-ATA/PCIe, avec ou sans UEFI, etc. Personnalisez-le selon vos propres besoins, notamment le nom de l'utilisateur, son mot de passe, le nom de la machine sur le réseau (hostname), les paquets à installer, etc.

Si vous le souhaitez, des étapes de confirmation peuvent être activées en (dé)commentant certaines lignes (#). Bien d'autres possibilités sont offertes, n'hésitez pas à vous entrainer via une machine virtuelle.

Modification de l'ISO : un script à tout faire

Nous ne couvrirons pas ici la procédure d'installation via le réseau, seulement les deux plus courantes via une image ISO et/ou une clé USB. Dans les deux cas, il faut intégrer le fichier de préconfiguration et modifier le menu de boot pour qu'il propose une procédure d'installation automatisée. 

Mais une image ISO est un élément bootable en lecture seule, complexe à modifier. Il existe ainsi différentes méthodes consistant à extraire son contenu, le modifier puis recréer une image mais toutes sont pénibles. Heureusement, Luc Didry de Framasoft a créé un petit script à utiliser sous Linux permettant d'automatiser tout ça : Preseed creator.

Il s'occupe de mettre à jour l'image avec un fichier de préconfiguration fourni via initrd (Initial Ramdisk). Certains outils sont nécessaires pour qu'il fonctionne :  wget, genisoimage et isolinux. Pour une utilisation sur une clé USB, avec une machine exploitant l'UEFI, vous pouvez également utiliser xorriso :

sudo apt install genisoimage isolinux wget xorriso 

Il suffit de le lancer avec les paramètres suivants :

sudo ./preseed_creator.sh -i image.iso -p preseed.cfg -o image_preseed.iso

Si aucune ISO de Debian n'est passée en paramètre, la dernière en date (netinst) sera téléchargée. Si aucun fichier de préconfiguration n'est fourni, l'installation sera simplement configurée pour la langue fr-BE. Le paramètre -x permet d'utiliser xorriso plutôt que genisoimage, -g de récupérer la dernière préconfiguration d'exemple publié par Debian.

Transférez l'image sur une clé USB, un disque optique (qui peut être émulé via un HDD/SSD), dans une machine virtuelle ou une fois l'installation lancée sur votre machine, vous aurez le choix entre la procédure graphique qui n'est pas automatisée ou classique qui le sera. D'autres scripts du même genre peuvent être trouvés sur GitHub ici ou encore .


chargement
Chargement des commentaires...