LXD : une image Debian standard

Rédigé par Alexandre le 2023-09-21

#debian #lxc #auto-hébergement

Depuis des années, je râle sur les images Debian fournit pour LXD. En effet, ces images utilisent systemd-networkd au lieu du couple ifupdown et resolvconf prévu par l'équipe Debian.

Au lieu de continuer à pester dans mon coin, j'ai enfin pris le temps de créer ma propre image de Debian à l'aide de distrobuilder. La suite de l'article contient la liste des étapes que j'ai suivi pour réaliser mon image Debian Sid. Cette image se veut au plus près d'une installation standard de Debian avec l'interface eth0 en DHCP.

Installer le gestionnaire de paquet indépendant snap :

$ sudo apt install snapd

Installer le paquet distrobuilder :

$ sudo snap install distrobuilder

Créer un dossier de travail :

$ sudo mkdir /etc/opt/distrobuilder

Entrer dans le dossier de travail :

$ cd /etc/opt/distrobuilder

Écrire ou récupérer mon fichier de configuration (source) :

$ sudo curl -Lo "debian-sid.yml" "https://gitea.ykn.fr/chaos/tools/raw/branch/master/distrobuilder/debian-sid.yml"

NB : mon fichier de configuration est prévu pour Debian Sid avec l'architecture arm64.

Constuire l'image :

$ sudo /snap/bin/distrobuilder build-lxd debian-sid.yml

Une fois l'image construite, l'importer dans LXD :

$ lxc image import lxd.tar.xz rootfs.squashfs --alias ykn-debian-sid

Afficher les informations sur l'image :

$ lxc image info ykn-debian-sid
Fingerprint: 9fcea630d23797f340746e55bd6a50889f8526c209bb68465e629a443edcf137
Size: 75.15MiB
Architecture: aarch64
Type: container
Public: no
Timestamps:
    Created: 2023/09/20 16:12 UTC
    Uploaded: 2023/09/20 16:14 UTC
    Expires: 2023/10/20 16:12 UTC
    Last used: 2023/09/20 16:14 UTC
Properties:
    os: debian
    release: sid
    serial: 20230920_1608
    variant: default
    architecture: arm64
    description: Nearly stock Debian Sid image (build2338)
    name: debian-sid-arm64-default-20230920_1608
Aliases:
    - ykn-debian-sid
Cached: no
Auto update: disabled
Profiles:
    - default

Créer et démarrer un conteneur avec cette image :

$ lxc launch ykn-debian-sid test-debian-sid

Je n'ai malheureusement pas trouvé de moyen de faire fonctionner resolvconf dès le déploiement de l'image, afin de corriger celà, passer les commandes suivantes :

$ lxc launch ykn-debian-sid test-debian-sid -- ln -sf ../run/resolvconf/resolv.conf /etc/resolv.conf && \
lxc launch ykn-debian-sid test-debian-sid -- systemctl restart resolvconf

Références