Proxmox: Création d'un template LXC pour Debian 12

2023-06-11 06:40:12 by MatMoul

La version 12 de Debian étant sortie, il est temps de préparer le terrain pour les prochains containers.

Comme à chaque version je crée ma propre image LXC pour être certain qu'elle est propre et ajouter mon script d'initialisation rapide.

Pour cela, le seul paquet nécessaire est "debootstrap".

Comme toutes les commandes doivent être utilisée avec les droits root, j'utilise su pour ne pas devoir ajouter sudo à chaque commande.

Sur une ArchLinux ou dérivées :

pacman -S debootstrap

Sur une Debian ou dérivées :

apt install debootstrap


Etapes de construction :

  1. Création d'un dossier de travail
  2. Exécution de debootstrap dans le dossier de travail (/root/build)
  3. Modification du contenu selon besoin (Ajout script perso).
  4. Création de l'archive.

En bash :

# Création du dossier de travail
mkdir /root/build

# Execution de debootstrap
debootstrap bookworm /root/build https://deb.debian.org/debian/

# Ajout d'un script perso
cat << EOF > /root/build/usr/local/bin/deb-install
#!/bin/bash

apt update -y
apt install -y wget
wget -P /tmp mydomain.lan/debian-12.sh
rm /usr/local/bin/deb-install
bash /tmp/debian-12.sh
EOF
chmod 750 /root/build/usr/local/bin/deb-install

# Nettoyage du dossier /dev (Ne semble plus nécessaire)
# rm -R /root/build/dev/*

# Création de l'archive
cd /root/build
tar -czf /root/myimage.tar.gz

Une fois le fichier créé, rendez vous sur votre Proxmox, choisissez votre stockage et sur CT Template, uploadez le fichier.

A ce stade, on peut créer un nouveau container LXC avec notre image.
Une fois démarrée, il suffira d’exécuter deb-install pour customiser l'installation.

Comme vous le constatez, mon script d'initialisation se contente de télécharger un autre script sur un serveur web.
Cela me permet de modifier facilement ce script sans devoir refaire mon archive.