Ma distribution du moment est Fedora pour mon ordinateur, et CentOS pour les serveurs. Et j’ai besoin de faire joujou avec des environnements virtuels pour tester des installations, notamment via Ansible. Jusque-là pour ce besoin j’ai utilisé VirtualBox ou LXC, mais je me suis mis en tête de tester systemd-nspawn. Pourquoi ? Déjà parce que ça existe, donc ça a le mérite d’être testé. Ensuite parce que VirtualBox même en utilisant Vagrant c’est vachement lourd. Et LXC, bah j’ai rien à lui reprocher, mais étant donné que systemd est déjà présent par défaut sur tous mes systèmes pourquoi y ajouter LXC qui fait plus ou moins la même chose ?
Et donc avec systemd-nspawn pour lancer des conteneurs il faut soit une image soit un rootfs.
Voilà pour le contexte. Et voilà donc comment j’ai procédé.
En premier lieu on créer un fichier de configuration de dépôt pour CentOS, par exemple dans ~/centos7.repo
:
[centos7-base]
name=CentOS-7-Base
baseurl=http://mirror.centos.org/centos/7/os/x86_64
gpgcheck=0
Ensuite on créer un dossier dans lequel dnf va installer tout ce qui est nécessaire, disons dans ~/centos
:
mkdir ~/centos
sudo dnf -c centos.repo --disablerepo=* --enablerepo=centos7-base --installroot=/home/nicolas/centos/ groups install 'Minimal Install'
Pour terminer on se « chroot » dans le dossier et on lance la commande passwd
pour définir un mot de passe au compte root :
sudo systemd-nspawn -D ~/centos/
Après ça on peut démarrer le conteneur normalement et s’authentifier avec le mot de passe précédemment défini :
sudo systemd-nspawn -bD ~/centos/ --network-bridge virbr0
Et une fois que vous avez fait tout ça et que vous vous dites que c’est quand-même un peu galère juste pour lancer un conteneur, vous pouvez utiliser mkosi qui le fait pour vous, plus simplement, probablement beaucoup plus proprement et pour d’autres systèmes d’exploitation.
sudo mkosi -d centos --password topsecret
sudo systemd-nspawn -bi image.raw --network-bridge virbr0
Commenter
Articles de blogs que je lis
40 ans de GNU
40 ans de GNU Richard Stallman ne voulait pas changer le monde. Il ne voulait pas se battre contre les moulins à vent. Il ne voulait pas réinventer la roue. Richard Stallman voulait simplement retrouver ses amis, sa communauté. Pour ce jeune homme barbu et …
– Ploum.net · 27 Sep 2023
La blogchain
Avec les réseaux sociaux, les petits espaces personnels interconnectés qu’étaient les blogs ont peu à peu disparu du paysage. Il en reste, mais les liens ne sont plus aussi forts. À la grande époque il était fréquent d’avoir des blogroll. sur un coin de c…
– Carnet de notes · 8 Sep 2023
#63 : Comment parler du vivant pour mieux l’appréhender
Baptiste Morizot est philosophe, maître de conférences à Aix-Marseille Université et auteur de plusieurs ouvrages sur les relations entre l'humain et le reste du vivant (Les Diplomates, Sur la piste animale, Manières d'être vivant…). En avril dern…
– Nourritures terrestres · 13 Aug 2023