Cubic : personnalisez et automatisez l'installation d'Ubuntu

Cubic : personnalisez et automatisez l’installation d’Ubuntu

Yourbuntu

Avatar de l'auteur
David Legrand

Publié dans

Logiciel

02/05/2019 5 minutes
14

Cubic : personnalisez et automatisez l'installation d'Ubuntu

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 :

 

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/.

Ubuntu CubicUbuntu CubicUbuntu CubicUbuntu CubicUbuntu CubicUbuntu Cubic

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.

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Un PPA et c'est parti !

Ajoutez ce que vous voulez

Automatisation : place à Ubiquity

Utilisation de l'ISO modifiée

Fermer

Commentaires (14)


inb4 une nouvelle vague de DGLFI (distributions GNU/Linux franchement inutiles) basées sur Ubuntu qui seront proposées sous moult noms et dont la seule particularité sera d’avoir un fond d’écran par défaut et un thème d’icônes différents (+ des logiciels ± utiles intégrés en plus), mais qui n’apportera rien de plus à ce que permet une Ubuntu normale… (Tonton Fred, si tu passes par là…&nbsp;<img data-src=" />)



Pour les gens plus sérieux : ça peut être utile en milieu pro, d’avoir des ISO préconfigurées, oui.


Quelqu’un à testé avec les variantes types xubuntu, est ce que ça marche ?


Si tu es en milieu pro et que tu cherches à faire des profils tu passes directement sur du cobbler/puppet :)


xubuntu marche très bien, Xfce est très réactif, épuré, et customisable, c’est devenu mon environnement préféré <img data-src=" />


Est-ce qu’il y a un endroit où on peut trouver ces ISO modifiées (et avec la description) ? Un peu comme les images Docker.


Bah vu que le fichier preseed est dispo publiquement… l’idée c’est plutôt de le monter dans la distribution de ton choix sur base dudit fichier plutôt que de redistribuer toute l’ISO. Surtout que le login/pass dépend de chacun.


Je demande ça car il doit y avoir des “configs” qui se ressemblent fortement d’un utilisateur à un autre. Donc àa permettrait de partir d’un iso prémâché plutôt que tout le monde fasse les mêmes changements dans son coin.


Disons qu’il faudrait forcément maintenir une ISO qui ne conviendrait forcément pas à tout le monde, du coup l’intérêt me semble moyen (et qui gérerait.hébergerait ça ?). Du coup le fait de partager le fichier preseed et l’outil me semblent préférables, à chacun ensuite d’adapter à son besoin (quitte à redistribuer ensuite si on le souhaite).



Après ce que tu évoques avec Docker reviendrait plutôt à une base de fichiers de preseed pour le coup je pense, avec un script pour l’assembler à telle ou telle iso selon les besoins, mais à ma connaissance ça n’existe pas.


J’ai testé avec Xubuntu (desktop) sur ma machine de test et sans modification du fichier de preseed, pas de problème, de toutes façons ça réutilise juste Ubiquity avec un thème maison.


Dommage que le setup d’ubuntu demande une machine récente :( Impossible d’installer ubuntu server sur une p5q-em de 2009 :(



Du coup vive debian qui s’installe sans pb ^^


Cela me rappelle le principe de nlite avec xp. C’est plutôt une bonne chose de trouver cela pour les distributions linux


Ca tombe bien, on m’a demandé de commencer à plancher sur la création d’un client léger pour l’utiliser avec Horizon View pour recycler nos vieilles machines (qui ont plus de 10 ans mine de rien).



Avec ça, un petit Xubuntu, avec quasiment rien, quelques scripts pour verrouiller le bousin, et roule ma poule <img data-src=" />


Si c’est pour du thin client il y a des distributions spécialisées déjà non ?


C’est pas faux <img data-src=" />

Je viens de voir ThinStation qui pourrait le faire tout aussi bien.