Incus 7.x : gérer conteneurs système et VMs sur Debian/Ubuntu — le successeur communautaire de LXD

20 juillet 2026 — par admin_libra

Depuis que Canonical a repris le contrôle exclusif du projet LXD en 2023, la communauté Linux Containers — qui en était l’initiatrice — a décidé de forker le projet sous le nom Incus. Maintenu par les développeurs originaux de LXD, Incus est aujourd’hui disponible directement dans les dépôts officiels de Debian stable et d’Ubuntu, sans dépendance à des PPA tiers. Sa dernière version stable est Incus 7.2 (juin 2026).

Incus est un gestionnaire unifié de conteneurs système (basés sur LXC) et de machines virtuelles (via QEMU/KVM), piloté par une API REST et une interface en ligne de commande cohérente. Il s’adresse aux administrateurs système qui souhaitent provisionner des environnements Linux isolés — du poste de développement au cluster de production — sans la complexité d’un orchestrateur comme Kubernetes.

Dans ce guide, nous allons installer et configurer Incus sur Debian 12 (Bookworm) ou Ubuntu 24.04 LTS, créer nos premiers conteneurs et machines virtuelles, gérer les ressources, les snapshots et les profils, et voir comment migrer depuis une installation LXD existante.

Pourquoi Incus plutôt que LXD ?

Le changement de gouvernance de LXD a entraîné plusieurs divergences importantes :

  • Indépendance de Canonical : Incus est publié sous licence Apache 2.0, sans CLA (Contributor License Agreement). Les contributions restent propriété de leurs auteurs.
  • Intégration dans les distributions : Debian 12 et Ubuntu 24.04 LTS packagèrent Incus dans leurs dépôts officiels, là où LXD n’est disponible que via Snap.
  • Allègement de la commande : Incus remplace la commande lxc par incus, ce qui évite toute confusion avec les outils LXC bas niveau.
  • API épurée : Plusieurs endpoints dépréciés de LXD ont été supprimés, rendant l’API plus cohérente.

Installation sur Debian 12 / Ubuntu 24.04

Incus est disponible directement depuis les dépôts officiels. Aucun PPA ni dépôt tiers n’est nécessaire.

Installation complète (conteneurs + VMs)

sudo apt update
sudo apt install incus

Le paquet incus installe le support complet : conteneurs système LXC et machines virtuelles QEMU. Pour un serveur sans hyperviseur KVM (conteneurs uniquement) :

sudo apt install incus-base

Ajouter votre utilisateur aux groupes Incus

Deux groupes sont disponibles selon le niveau d’accès souhaité :

# Accès standard (création de conteneurs, pas de configuration système)
sudo usermod -aG incus $USER

# Accès administrateur complet
sudo usermod -aG incus-admin $USER

# Appliquer sans déconnexion
newgrp incus-admin

Initialisation d’Incus

Avant de créer la moindre instance, il faut initialiser le démon Incus. La commande incus admin init pose une série de questions sur le réseau, le stockage et le clustering.

Initialisation interactive

sudo incus admin init

Pour un serveur autonome standard, répondez ainsi :

  • Clustering : no
  • Storage pool : choisissez dir (simple) ou btrfs/zfs si disponible
  • Bridge réseau : yes — crée incusbr0 avec NAT
  • IPv6 : no si non utilisé

Initialisation automatique (non-interactive)

sudo incus admin init --minimal

Cette option applique une configuration par défaut minimale, idéale pour l’automatisation (scripts Ansible, CI/CD).

Vérifiez que le service est actif :

systemctl status incus
incus version

Gestion des instances

Lancer un conteneur

Incus télécharge les images depuis le serveur officiel images: (Linux Containers) ou ubuntu: (images Ubuntu officielles).

# Lancer un conteneur Debian 12
incus launch images:debian/12 mon-conteneur

# Lancer un conteneur Ubuntu 24.04
incus launch ubuntu:24.04 srv-ubuntu

# Lister les images disponibles pour Debian
incus image list images: debian

Lancer une machine virtuelle

L’ajout du flag --vm provisionne une VM complète via QEMU/KVM, avec le même workflow que les conteneurs :

incus launch images:debian/12 ma-vm --vm

# Vérifier le type d'instance
incus list

Interagir avec une instance

# Ouvrir un shell interactif
incus exec mon-conteneur -- bash

# Exécuter une commande sans shell interactif
incus exec mon-conteneur -- apt-get update

# Transférer des fichiers
incus file pull mon-conteneur/etc/hostname .
incus file push hostname mon-conteneur/etc/hostname

# Consulter les logs système
incus exec mon-conteneur -- journalctl -xe

Limiter les ressources CPU et mémoire

Les limites peuvent être appliquées au lancement ou sur une instance existante :

# Au lancement
incus launch images:debian/12 srv-limité 
  --config limits.cpu=2 
  --config limits.memory=512MiB

# Sur une instance existante
incus config set srv-limité limits.cpu=1
incus config set srv-limité limits.memory=256MiB

# Vérifier la configuration
incus config show srv-limité

Cycle de vie des instances

# Arrêter une instance
incus stop mon-conteneur

# Démarrer
incus start mon-conteneur

# Redémarrer
incus restart mon-conteneur

# Supprimer (instance arrêtée)
incus delete mon-conteneur

# Supprimer en forçant l'arrêt
incus delete mon-conteneur --force

Snapshots et restauration

Les snapshots permettent de capturer l’état d’une instance à un instant précis — avant une mise à jour critique par exemple.

# Créer un snapshot nommé
incus snapshot create mon-conteneur avant-upgrade

# Lister les snapshots d'une instance
incus info mon-conteneur

# Restaurer depuis un snapshot
incus snapshot restore mon-conteneur avant-upgrade

# Supprimer un snapshot
incus snapshot delete mon-conteneur avant-upgrade

Pour des snapshots planifiés automatiquement :

# Snapshot quotidien à 2h du matin, conserver 7 versions
incus config set mon-conteneur snapshots.schedule "0 2 * * *"
incus config set mon-conteneur snapshots.expiry 7d

Profils Incus

Les profils permettent de définir des configurations réutilisables (ressources, appareils, variables d’environnement) applicables à plusieurs instances. Un profil default est créé lors de l’initialisation.

# Lister les profils existants
incus profile list

# Créer un profil personnalisé
incus profile create production

# Éditer le profil
incus profile edit production

Exemple de profil YAML pour un serveur de production :

cat << 'EOF' | incus profile edit production
config:
  limits.cpu: "4"
  limits.memory: 2GiB
  boot.autostart: "true"
description: Profil serveur de production
devices:
  eth0:
    name: eth0
    network: incusbr0
    type: nic
  root:
    path: /
    pool: default
    size: 20GiB
    type: disk
name: production
EOF

Appliquer un profil à une instance :

incus launch images:debian/12 srv-prod --profile production

Migration depuis LXD

Si vous avez déjà une installation LXD, le paquet incus-extra fournit l’outil de migration :

sudo apt install incus-extra

# Lancer la migration (migre conteneurs, images, profils, réseaux)
sudo lxd-to-incus

L’outil interrompt LXD, copie les données vers Incus et redémarre les instances. Il est conseillé de réaliser des snapshots LXD avant toute migration.

À lire également

Références

Index complet

Tous les articles (58)

Date Article Tags
20/07/2026 SSL : Certificat Let's Encrypt avec Certbot sur Debian/Ubuntu (sans Snap) apache certbot certificat 20/07/2026 MariaDB : Tuning mariadb server sous debian / ubuntu et operation de maintenance sauvegarde/restauration debian innodb maintenance 20/07/2026 MariaDB : Mise en place d'une réplication Master → Slave base-de-données binlog debian 20/07/2026 OpenSVC : piloter des conteneurs LXC sur datasets ZFS avec snapshots et réplication sous Debian/Ubuntu conteneurs debian haute-disponibilité 20/07/2026 SCREEN : utilisation et cas d'usage des screens sous Linux administration bash debian 20/07/2026 EtherPAD : installation et configuration d'Etherpad collaboration debian editeur-collaboratif 20/07/2026 Wazuh 4.14 : déployer un SIEM/XDR open source sur Debian/Ubuntu compliance debian fim 20/07/2026 Incus 7.x : gérer conteneurs système et VMs sur Debian/Ubuntu — le successeur communautaire de LXD conteneurs debian incus 20/07/2026 Restic : sauvegardes incrémentielles chiffrées sur Debian et Ubuntu backup chiffrement debian 20/07/2026 Restic : sauvegardes chiffrées et dédupliquées sur Debian/Ubuntu automatisation backup chiffrement 30/06/2026 PHP : gérer plusieurs versions PHP-FPM avec les dépôts Sury sur Debian/Ubuntu administration apache debian 22/06/2026 OS : Cycle de vie LTS et mise à jour des distributions — apt dist-upgrade et do-release-upgrade sous Debian / Ubuntu apt cycle-de-vie debian 17/06/2026 APT : Guide complet de la gestion des paquets sous Debian et Ubuntu administration apt debian 17/06/2026 SHELL : Guide des commandes les plus usuelles et commandes couteau suisse awk bash commandes 17/06/2026 SUDO : implémentation et sécurisation des accès sur Debian/Ubuntu administration audit authentification 17/06/2026 ProFTPd : authentification MySQL centralisée, FTPs (SSL) et SFTP sur Debian/Ubuntu authentification debian ftp 09/06/2026 Fail2ban — configuration avancée et filtres personnalisés bruteforce debian fail2ban 07/06/2026 Docker : comment récupérer de l'espace disque cache conteneurs debian 07/06/2026 Graylog 7 — Centralisation et analyse de logs : l'alternative à ELK sur Debian/Ubuntu centralisation debian elk 07/06/2026 OpenZFS : tiering avec L2ARC et SLOG pour les workloads mixtes cache l2arc nvme 07/06/2026 Scripting Bash avancé — pièges, bonnes pratiques et optimisation automatisation bash bonnes-pratiques 07/06/2026 AppArmor sur Debian/Ubuntu : profils, modes et confinement applicatif apparmor audit confinement 07/06/2026 Durcissement SSH — au-delà des clés publiques 2fa authentification cryptographie 27/05/2026 LXD 6.x : orchestration de conteneurs Linux avec profils et clustering administration clustering conteneurs 27/05/2026 Keepalived — VIP flottante et load balancing sans matériel dédié debian failover haute-disponibilité 27/05/2026 Btrfs sur Linux — snapshots, sous-volumes et compression en pratique administration btrfs compression 21/05/2026 CVE-2026-42945 (NGINX Rift) : analyse et remédiation sur Debian/Ubuntu cve debian heap-overflow 21/05/2026 Tuning kernel Linux — paramètres sysctl essentiels pour la production debian kernel mémoire 21/05/2026 DRBD : réplication de blocs entre deux serveurs en temps réel cluster debian drbd 15/05/2026 CVE-2026-23918 — vulnérabilité Apache 2.4.66 : analyse et correctifs sur Debian/Ubuntu (hors Debian 11) apache cve debian 15/05/2026 CVE-2026-31431 (Copy Fail) — Analyse et remédiation sur Debian/Ubuntu algif_aead copy-fail cve 12/05/2026 Pacemaker et Corosync — cluster haute disponibilité Linux cluster corosync debian 12/05/2026 WireGuard : monter un VPN mesh entre plusieurs serveurs Linux chiffrement linux mesh 12/05/2026 Netdata — monitoring temps réel sans configuration complexe alertes dashboard linux 12/05/2026 nftables en pratique — remplacer iptables sur Debian/Ubuntu debian firewall iptables 12/05/2026 Podman : alternative rootless à Docker — installation et migration conteneurs docker kubernetes 02/05/2026 Prometheus et Grafana sur Debian — installation, configuration et dashboards pratiques alertmanager dashboard debian 02/05/2026 Ansible : automatiser la gestion de serveurs Linux avec des playbooks administration ansible automation 28/04/2026 ZFS sur Linux : snapshots, clones et RAID-Z en pratique administration compression filesystem 28/04/2026 eBPF sur Linux : observabilité et traçage kernel avec bpftrace et BCC bcc bpftrace diagnostic 23/04/2026 Analyse de la mémoire sur Linux — vmstat, free, smem diagnostic mémoire monitoring 23/04/2026 Sécurité Linux — Firewall iptables et nftables firewall iptables nftables 23/04/2026 ZFS sur Linux — Installation et gestion avancée administration filesystem stockage 23/04/2026 Gestion des services avec systemd sur Debian et Ubuntu administration debian services 23/04/2026 Gestion des ressources cgroups v1/v2 avec LXC cgroups conteneurs lxc 23/04/2026 Centralisation logs avec ELK Stack — Elasticsearch, Kibana, Filebeat elasticsearch elk filebeat 23/04/2026 Supervision avec Zabbix 7.0 LTS sur Debian/Ubuntu debian monitoring supervision 23/04/2026 Plusieurs versions PHP-FPM sur Apache Debian/Ubuntu apache debian php-fpm 23/04/2026 Sécurisation avancée PHP-FPM — Multi-VirtualHosts Apache/Nginx apache nginx php-fpm 23/04/2026 Optimisation PHP-FPM — Guide de tuning d'un pool optimisation performance php-fpm 29/07/2025 Docker sur Debian/Ubuntu : Installation, Configuration et Utilisation conteneurs debian docker 03/07/2025 Serveur VPN WireGuard sous linux réseau sécurité vpn 03/07/2025 Authentification par clé publique sur un serveur SSH authentification cryptographie sécurité 27/06/2025 Surveillance et diagnostic d’un serveur Linux avec vmstat, iotop et htop diagnostic htop monitoring 27/06/2025 Mémoire : Utilisation des Huge Pages et implémentation hugepages mémoire noyau 27/06/2025 Mémoire Swap et paramétrage swappiness mémoire noyau performance 18/06/2025 Installation et Configuration des Conteneurs LXC sur Linux administration conteneurs lxc 18/06/2025 Gestion des journaux avec syslog et journalctl administration journalctl logs