Bonjour la Guilde !
Je viens voir si il y en a parmi vous qui ont de l'expérience à partager
sur l'utilisation de machines virtuelles en ligne de commande.
Pour le contexte... Au boulot, je participe au développement d'un soft
de simulation numérique[1]. Je teste régulièrement son installation et
son fonctionnement sur Ubuntu, Debian et Rocky Linux. Pour ce faire, je
trouve Vagrant[2] super-pratique : une fois renseigné un Vagrantfile[3],
je peux faire par exemple:
vagrant up debian_bookworm
vagrant ssh debian_bookworm
et me voilà dans une machine Debian bookworm !
Le problème, c'est qu'en août dernier, Vagrant, qui était un logiciel
libre, est passé à une licence non-libre[4]. Dans la foulée, Canonical a
décidé de ne plus distribuer des images Vagrant d'Ubuntu[5]. Les
développeurs Debian vont probablement faire de même[6]. Dans l'immédiat,
cela ne m'impacte pas trop : je peux continuer à utiliser les images que
j'ai déjà téléchargées (j'ai attrapé Ubuntu Noble avant que l'image
disparaisse). Mais à moyen terme il faudra bien que je trouve une
alternative.
Ce que j'ai envisagé :
1. Continuer d'utiliser Vagrant avec, si nécessaire, des images
non-officielles. Je n'aime pas trop cette idée car je n'aime pas
être dépendant d'un logiciel non-libre, je ne pourrais pas installer
vagrant avec apt par la suite, et il faut faire confiance aux
développeurs de ces images. Mais c'est peut-être la solution la plus
simple à court terme.
2. Utiliser VirtualBox. C'est ça qui tourne sous le capot de Vagrant,
mais le clicodrome de VirtualBox est lourd et lent. Il faut se taper
l'installation de l'OS. Il faut lancer un environnement graphique
qui m'est inutile juste pour ouvrir un terminal. Je n'oserais pas
lancer VirtualBox depuis une session ssh -X.
3. Utiliser des conteneurs. Ça, pour le coup, c'est super léger. Mais
les images des distributions sont tellement dépouillées que je n'ai
pas l'impression d'être dans la vraie distribution. Est-ce que je
peux tester le build du logiciel dans un conteneur Ubuntu Noble et
prétendre ensuite que ça a été testé sur Ubuntu Noble ? Et je n'aime
pas l'idée de compiler en tant que root.
4. Libvirt / qemu / KVM. Là je n'y connais rien. J'ai l'impression que
ce sont des briques bas niveau, mais peut-être que je me trompe...
Bref, je suis un peu paumé, et je suis preneur d'idées et retours
d'expériences. Ce que j'aimerais retrouver c'est :
– un outil utilisable en ligne de commande ;
– simple à configurer (c.f. le Vagrantfile) ;
– simple à utiliser (c.f. « vagrant up »).
Bon week-end !
Edgar.
[1]
https://feellgood.neel.cnrs.fr
[2]
https://www.vagrantup.com
[3]
https://github.com/feellgood/FeeLLGood/blob/master/ci-tests/Vagrantfile
[4]
https://ir.hashicorp.com/news-releases/news-release-details/hashicorp-adopts-business-source-license-future-releases-its
[5]
https://documentation.ubuntu.com/public-images/en/latest/public-images-explanation/vagrant/#support
[6]
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1049999