Installer Ubuntu est simple et rapide, mais on se retrouve souvent à indiquer les mêmes paramètres et à effectuer les mêmes tâches une fois la procédure terminée. Et si on automatisait tout ça ?
Si Debian propose une méthode de préconfiguration (preseed) pour automatiser son processus d'installation, il est possible d'en profiter pour ses dérivés, dont Ubuntu. La distribution de Canonical est en effet compatible, avec quelques subtilités.
Elle peut également gérer la méthode Kickstart de Red Hat sur laquelle nous reviendrons dans un prochain article. Dans les deux cas, le principal problème réside non pas dans l'édition du fichier, mais dans la manière de mettre à jour l'ISO. Il existe heureusement un petit outil plutôt complet pour y remédier, avec interface graphique : Cubic (Custom Ubuntu ISO Creator).
Il permet de personnaliser le contenu de l'image et de modifier les paramètres de préconfiguration. Voici comment.
Notre dossier sur l'automatisation de l'installation des OS :
- Preseed Debian : automatisez simplement l'installation
- Cubic : personnalisez et automatisez l'installation d'Ubuntu
- Automatisons l'installation de Windows 10 (Unattended)
- Installons Linux et Windows depuis le réseau (PXE) simplement, de manière automatisée
Un PPA et c'est parti !
Son installation est simple puisqu'elle passe par l'ajout de la clé publique du développeur et d'un dépôt PPA :
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 081525E2B4F1283B
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update
sudo apt install cubic
Une fois la procédure terminée, l'application apparaît dans la liste de vos applications. Il suffit de la lancer et de créer un projet. Veillez à disposer d'une ISO récente d'Ubuntu pour poursuivre.
Ajoutez ce que vous voulez
Une fois l'ISO ouverte, l'application propose de modifier certains éléments de la version personnalisée comme son nom, celui de l'image qui sera produite, etc. Ensuite, un environnement chroot est ouvert.
Vous y trouverez un terminal correspondant à Ubuntu tel qu'il est intégré à l'image avec la possibilité de le modifier comme bon vous semble. Vous pouvez ajouter un fichier d'un simple glisser-déposer, en supprimer d'autres via une ligne de commande, changer et mettre à jour les dépôts, des fichiers configuration, la liste de montages, etc.
Si vous voulez modifier les fichiers intégrés dans le dossier /home
de chaque nouveau compte utilisateur qui sera créé (comme.bashrc
pour des alias par exemple), ou en ajouter, rendez-vous dans le dossier /etc/skel/
.
Automatisation : place à Ubiquity
La version serveur d'Ubuntu se base sur Debian Installer, on peut donc utiliser la méthode de préconfiguration classique avec ce système. Mais ce n'est pas le cas de l'ISO Live d'Ubuntu Desktop qui exploite Ubiquity. Ainsi, le fichier et le mode de démarrage doivent être adaptés (le guide, l'exemple), certaines commandes étant ajoutées.
Depuis peu, Cubic permet de modifier le fichier de préconfiguration de l'ISO, par défaut il s'agit de ubuntu.preseed
. Il suffit donc d'en créer un avec nos instructions afin de sauter les étapes que l'on souhaite. Voici le contenu du fichier auto.seed
que nous utilisons, correspondant à une automatisation complète, fonctionnant dans de multiples situations :
Une étape supplémentaire est nécessaire, consistant à modifier les menus de démarrage de l'ISO. Il faut en effet préciser à Ubiquity qu'on le démarre en mode automatisé et que l'on veut automatiquement redémarrer à la fin. Pour cela rendez-vous dans l'onglet ISO Boot Configurations.
Deux fichiers sont à modifier : grub.cfg
qui est chargé sur une machine équipée d'une UEFI, txt.cfg
pour les autres cas. Pour la version Desktop, on veut ajouter deux paramètres à l'environnement de démarrage via une nouvelle entrée correspondant à la procédure d'installation automatisée : automatic-ubiquity
et noprompt
.
Cela revient à ajouter les éléments suivants :
- Ubuntu Desktop - grub.cfg :
menuentry "Auto-Install Ubuntu" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/auto.seed boot=casper automatic-ubiquity noprompt quiet splash ---
initrd /casper/initrd
}
Placez l'entrée en premier si vous voulez qu'elle soit lancée par défaut.
- Ubuntu Desktop - txt.cfg
label auto-install
menu label ^Auto-Install Ubuntu
kernel /casper/vmlinuz
append file=/cdrom/preseed/auto.seed boot=casper automatic-ubiquity noprompt initrd=/casper/initrd quiet splash ---
Modifiez la ligne commençant par default pour l'utiliser par défaut.
- Ubuntu Server :
Pour Ubuntu Server, on se retrouve dans la même situation que sous Debian. En complément de Cubic, le plus simple est de modifier le nom du fichier de préconfiguration dans les entrées du menu et d'ajouter les paramètres suivants à la ligne d'initialisation, pour que son contenu soit chargé et correctement pris en compte :
auto=true priority=critical
Utilisation de l'ISO modifiée
Une fois les modifications terminées, vous pouvez décider des paquets à supprimer à la fin de l'installation dans l'onglet Packat Manifest. Cliquez ensuite sur Generate pour créer l'ISO finale. Notez que vous pouvez à tout moment revenir aux étapes précédentes ou fermer l'application avec la possibilité de reprendre le projet là où vous l'avez laissé.
Transférez l'image sur une clé USB, un disque ou dans une machine virtuelle. Une fois le menu affiché, sélectionnez l'installation automatique, qui démarrera alors. Une fois la procédure terminée, la machine sera relancée sous Ubuntu. Vous pouvez également sélectionner les autres modes pour une installation classique.