Retour à l’aperçu de l’actualité
Incus 6.19 est maintenant disponible¶
29 nov. 2025
Introduction¶
L’équipe d’Incus est heureuse d’annoncer la sortie d’Incus 6.19 !
Cette version présente moins de nouveautés qu’habituellement, puisque nous avons passé un certain temps à améliorer l’interfaçage avec IncusOS.
Cela dit, cette version comporte quelques améliorations intéressantes, et beaucoup de corrections de bugs !
Comme d’habitude, vous pouvez l’essayer vous-même en ligne : https://linuxcontainers.org/incus/try-it/
Nouvelles fonctionnalités¶
Support initial de SELinux¶
Dans cette nouvelle version, nous avons posé les premières pierres d’un support natif futur de SELinux dans Incus. Il s’agit là d’un travail préliminaire, aussi nous avons désactivé par défaut la fonctionnalité. Celle-ci peut être activée en définissant la variable d’environnement INCUS_SECURITY_SELINUX=true.
Actuellement, avec cette fonctionnalité activée, Incus détecte le support de SELinux sur le système et tente de détecter l’un des environnements SELinux suivants :
- L’ensemble de contextes SELinux de Fedora/RHEL
- La refpolicy SELinux d’Incus
Lorsque lancé sur un système supporté, Incus applique le bon contexte SELinux aux conteneurs, avec génération de catégories SELinux uniques.
Cela permet d’éviter d’éventuelles interactions entre deux conteneurs, même si ceux-ci partagent le même contexte SELinux.
En l’état, seul le contexte d’exécution est défini. Incus n’interagit pas pour le moment avec le contexte du système de fichiers, ne gère pas les machines virtuelles ou encore les volumes et ressources partagés.
Nous encourageons les personnes avec de l’expérience et un intérêt dans le support de SELinux dans Incus d’essayer la fonctionnalité et de travailler avec nous pour améliorer notre support !
[root@fedora ~]# journalctl -u incus | grep -i selinux
Nov 29 03:47:44 fedora incusd[8156]: time="2025-11-29T03:47:44Z" level=debug msg="Detected Fedora-style SELinux setup"
[root@fedora ~]# ps fauxwwZ | grep /sbin/init
system_u:system_r:spc_t:s0:c359,c602 1000000 6647 0.0 0.3 23156 14124 ? Ss 03:42 0:00 \_ /sbin/init
system_u:system_r:spc_t:s0:c449,c951 1000000 8309 0.0 0.3 23156 14112 ? Ss 03:47 0:00 \_ /sbin/init
Amélioration de l’agent Windows¶
Incus supporte à présent de lancer l’agent Windows en tant que service, en incluant des scripts d’installation similaires à ceux disponibles pour Linux et macOS.
Nous avons donc à présent des expériences utilisateur très similaires sur les machines virtuelles Linux, macOS et Windows.
Ce travail s’est suivi d’une amélioration dans le plugin de connexion Ansible pour y ajouter le support de ces trois plateformes.

Périphériques série dans l’API des ressources¶
Cette fonctionnalité est née d’un retour d’expérience d’utilisation d’IncusOS avec des conteneurs gérant de l’IoT interagissant avec des réseaux Zigbee et Z-Wave.
Sur un système standard, il est possible d’inspecter /dev/serial afin d’y trouver un identifiant stable pour les adaptateurs série USB. Mais avec l’environnement clos d’IncusOS, ce n’était pas possible.
Pour résoudre ce problème, l’API des ressources contient à présent une liste de périphériques série avec tous les détails nécessaires à leur utilisation dans les conteneurs.
stgraber@castiana:~ (incus:dev-local/default)$ incus info --resources
System:
UUID: 33c2c530-8b02-426c-b48c-30d53dbea682
Vendor: QEMU
Product: Standard PC (Q35 + ICH9, 2009)
Version: pc-q35-10.1
Type: virtual-machine
Chassis:
Vendor: QEMU
Type: Other
Version: pc-q35-10.1
Motherboard:
Vendor: LinuxContainers
Product: Incus
Version: pc-q35-10.1
Firmware:
Vendor: EDK II
Version: unknown
Date: 02/02/2022
[...SNIP...]
Serial devices:
Device 0:
Id: ttyUSB0
Device: 188:0
DeviceID: /dev/serial/by-id/usb-QEMU_QEMU_USB_SERIAL_1-0000:00:01.0:00.6-4-if00-port0
DevicePath: /dev/serial/by-path/pci-0000:01:00.6-usbv2-0:4:1.0-port0
Vendor: Future Technology Devices International, Ltd
Vendor ID: 0403
Product: FT232 Serial (UART) IC
Product ID: 6001
Driver: ftdi_sio
Device 1:
Id: ttyUSB1
Device: 188:1
DeviceID: /dev/serial/by-id/usb-QEMU_QEMU_USB_SERIAL_1-0000:00:01.0:00.6-5-if00-port0
DevicePath: /dev/serial/by-path/pci-0000:01:00.6-usbv2-0:5:1.0-port0
Vendor: Future Technology Devices International, Ltd
Vendor ID: 0403
Product: FT232 Serial (UART) IC
Product ID: 6001
Driver: ftdi_sio
Limite de bande passante dans les interfaces réseau OVN¶
Les interfaces réseau OVN peuvent désormais utiliser les clefs de configuration limits.ingress, limits.egress, limits.max et limits.priority.
Celles-ci sont converties en règles QoS dans OVN.
Support de la suppression de plusieurs objets dans les commandes de la CLI¶
Les commandes suivantes peuvent désormais supprimer plus d’un objet à la fois :
incus cluster group deleteincus image alias deleteincus network deleteincus network acl deleteincus network address-set deleteincus network integration deleteincus network zone deleteincus operation deleteincus profile deleteincus project deleteincus storage deleteincus warning delete
Possibilité de désactiver le passage du firmware des périphériques PCI aux VM¶
Une nouvelle clef de configuration firmware a été ajoutée aux périphériques de type pci.
Celle-ci peut être mise à false pour ne pas passer à la VM la ROM du périphérique.
Cela est parfois nécessaire pour pouvoir correctement utiliser des périphériques PCI dans des VM.
Génération de PKCS12 dans la CLI¶
De plus en plus de personnes découvrent l’interface web d’Incus, et un point souvent remonté est la difficulté de générer un certificat client qui convient aux navigateurs web.
Pour simplifier la procédure, la commande incus remote get-client-certificate a été étendue.
Désormais, elle permet de générer un certificat public encodé en PEM avec incus remote get-client-certificate client.crt, mais également un couple certificat–clef PKCS12 avec incus remote get-client-certificate client.pfx --format=pfx.
stgraber@castiana:~$ incus remote get-client-certificate browser.pfx --format=pfx
Password for browser.pfx:·
stgraber@castiana:~$ ls -lh browser.pfx·
-rw------- 1 stgraber stgraber 1.2K Nov 29 16:35 browser.pfx
Affichage d’unités brutes en CSV depuis la CLI¶
Une nouvelle option raw s’appliquant au format csv dans les commandes de listage permet d’afficher les unités de stockage en octets bruts plutôt que dans un format adapté aux humains.
stgraber@castiana:~$ incus list -cnm -fcsv
c1,9.57MiB
dev-os,1.06GiB
nginx,2.14MiB
test,7.57MiB
test1,7.89MiB
stgraber@castiana:~$ incus list -cnm -fcsv,raw
c1,10293248
dev-os,1141211136
nginx,2240512
test,7938048
test1,8278016
Liste complète des changements¶
Voici une liste complète de tous les changements apportés par cette version :
Liste complète des commits
- doc/environment: Add INCUS_SECURITY_SELINUX
- incusd/db/warnings: Add SELinuxNotAvailable
- incusd/sys: Add SELinux detection
- incusd/instance/lxc: Set SELinux context
- doc: Add SELinux to the word list
- incusd/network/ovn: Tweak port removal logic
- github: Build the agent on MacOS
- incusd/instance/qemu: Disable virtio-snd on Windows
- Translated using Weblate (Portuguese)
- incusd/instance/qmp: Remove double line break
- incusd/instance/qmp: Don't log serial port changes
- incusd/device/disk: Skip VirtioFS Posix ACLs on Windows
- incusd/selinux: Add basic refpolicy support
- client: Add GetEventsByType and GetEventsAllProjectsByType
- incusd/lifecycle: Fix project prefix in volume name
- incusd/cluster: Use server name instead of IP
- cmd/generate-database/db: Fix create/update with composite keys
- incusd/storage_volumes: Better handle bad patterns
- client: Omit trailing ? for /events without query parameters
- incusd/apparmor/lxc: Don't bother with sys/proc protections when nesting enabled
- incusd/acme: Handle HTTPS proxies
- incusd: Fix lifecycle events being emited on pending entities
- incusd/network: Fix vlan/parent modification on physical uplink
- incus: Include admin os command on non-Linux pltforms
- gomod: Update incus-osd dependency
- gomod: Update dependencies
- incus/list: Add option for raw units in CSV output
- incusd/storage: Fix sparse writer performance
- incus-migrate: Write in 4MB chunks
- incus-migrate: Strict error checking
- incusd/storage: Tighten storage pool volume permissions
- incusd/patches: Re-apply storage permissions on update
- incusd/patches: Fix incorrect error check in permission patch
- incus/instance: Add missing godocs
- incusd: only apply qemu rtc adjustments if it is configured
- incusd/instance/qemu: Fix macOS agent
- incusd/instance/qemu: Properly parse dashed disk names when detaching
- incusd/api: Refresh OIDC on changes to oidc.scopes
- Translated using Weblate (Chinese (Simplified Han script))
- incus/admin/sql: Allow remote interactions
- incus/admin/recover: Allow remote interactions
- i18n: Update translation templates
- incusd: Allow some remote internal API interactions
- gomod: Update dependencies
- Translated using Weblate (Portuguese)
- incusd/daemon: Setup /var/lib/incus/devices as a tmpfs
- incusd/daemon: Remove nodev check now that we control that path
- cmd/incus-agent: address errcheck lint issue
- cmd/incus-agent: address import shadowing
- cmd/incus-agent: address os.Exit being called outside of main and init
- cmd/incus-agent: refactor DevIncusAPIGET to use switch
- cmd/incus-agent: silence defer being use in loop
- cmd/incus-agent: address if flow in Connect
- cmd/incus-agent: silence warning about break in select in execWs.Do
- incus/util: #2636 fix linter complaints in
internal/util - doc: Remove mentions of IRC
- Added Windows agent install scripts.
- doc/howto/instances: Update Windows agent instructions
- doc/image_format: Tweak wording
- internal/linux: Add IoctlBlkZname
- incusd/storage/zfs: Rework zvol resolution logic
- Revert "tests: Skip XFS on ZFS with Ubuntu 24.04"
- incusd/storage/linstor: Parse URLs ourselves
- incus-agent: Fix gofumpt
- gomod: Update dependencies
- lint: Make govulncheck non-fatal
- incusd/device/unix_hotplug: Prevent duplicate uevent injection
- incus/storage_volume: Fix determination of target path
- cmd/incus-simplestream: output of golangci-lint run --fix for cmd/incus-simplestream
- cmd/incus-user: refactor to not use os.Exit and instead close listener
- cmd/lxc-to-incus: address golangci-lint issues
- cmd/lxc-to-incus: return error instead of using os.Exit
- cmd/lxc-to-incus: simplify logic to check mount validity
- cmd/lxc-to-incus: simplify logic to check mount validity
- cmd/lxc-to-incus: rename argument in protoSendError to avoid package shadowing
- cmd/lxd-to-incus: address golangci-lint issues
- cmd/lxd-to-incus: do not use os.Exit outside of main
- build(deps): bump actions/checkout from 5 to 6
- shared/resources: Skip broken udev symlinks
- cmd/generate-config: address golangci-lint issues
- incusd/network/zone: Support setting top level records
- cmd/incusd: recursive instance GET returns InstanceFull
- doc/rest-api: Refresh swagger YAML
- incus/remote: Add support for PFX generation
- i18n: Update translation templates
- incus/file: Fix crash on file mount
- incusd/auth/openfga: Add missing storage volume entitlements
- incusd/auth/openfga: Rebuild model
- incusd/patches: Upgrade OpenFGA model
- Translated using Weblate (Portuguese)
- shared/api: Remove non-existent field from StoragePoolBucketBackup
- incusd/backup/bucket: Remove unused field
- shared/api: Add missing CreatedAt on bucket backup
- incusd/storage/bucket: Fix backup listing endpoint
- api: storage_volume_full
- api: storage_bucket_full
- shared/api: Add StorageVolumeFull
- shared/api: Add StorageBucketFull
- client: Add GetStoragePoolBucketFull and GetStoragePoolVolumeFull
- client: Add full variants of volume and bucket list functions
- incusd/storage_buckets: Add recursion=1 for storage bucket get
- incusd/storage_volumes: Add recursion=1 for storage volume get
- incusd/storage_volumes: Add recursion=2 for storage volumes get
- incusd/storage_buckets: Add recursion=2 for storage buckets get
- doc/rest-api: Refresh swsagger YAML
- tests: Fix snapshot list testing
- incus: Add support for bulk deletion to all objects
- i18n: Update translation templates
- api: device_pci_firmware
- incusd/device/pci: Add firmware option
- incusd/instance/qemu: Add rom-bar to PCI template
- incusd/instance/qemu: Pass firmware option to qemuPCIPhysical
- doc: Update configs
- incusd/instance/qemu: Update tests
- api: resources_serial
- shared/api: Add Serial device resource types
- shared/resources: Add serial device resource support
- shared/resources: Add test cases for serial device
- incus/info: Add Serial devices to --resources
- shares/resources/usbid: Only load the database once
- i18n: Update translation templates
- doc/rest-api: Refresh swagger YAML
- tests: Re-structure test suite for better parallel runs
- github: Tweak test matrix
- test/metrics: Fix missing cleanup
- tests/tls_restrictions: Query specific certificate
- tests/remote: Clear the trusted certificates at beginning of test
- tests/includes: Fix ensure_has_localhost_remote to clear any existing remote
- api: ovn_nic_limits
- incus/server/network/ovn/nb: Add QoS function
- incus/server/network/ovn: Add limits support
- incus/server/device/nic_ovn: Add limits support
- doc: Update configs
- incusd/instances: Use /tmp for temporary screenshot storage
- client/oci: Use SHA256 of combined layers as digest
- shared/ioprogress: Cap download speed to file size
- incusd/network/acl: Only refresh bridge network rules if ACL is directly used
- incusd/device/pci: Don't attempt to bind to current driver
- incusd/instance/lxc: Tweak seccomp category
- gomod: Update dependencies
- api: More precise name for test
- api: Add DevicesMap typ to better support unmarshaling
- api: Use DevicesMap type for map[string]map[string]string
- doc/rest-api: Refresh swagger YAML
- tests/storage/linstor: Use correct command to check on snapshots
- shared/archive: Fix crash on nil tracker
Documentation¶
La documentation d’Incus peut être consultée sur :
https://linuxcontainers.org/incus/docs/main/
Paquets¶
Incus ne fournit pas de paquet d’installation mais bien un tarball à chaque version. Vous trouverez ci-dessous différentes solutions pour mettre Incus en service.
Installation du serveur Incus sous Linux¶
Incus est disponible sur la plupart des distributions Linux courantes. Vous trouverez des instructions d’installation détaillées dans notre documentation.
https://linuxcontainers.org/incus/docs/main/installing/
Paquet Homebrew du client Incus¶
Le client Incus est disponible sur Homebrew pour Linux et macOS.
https://formulae.brew.sh/formula/incus
Paquet Chocolatey du client Incus¶
Le client Incus est disponible sur Chocolatey pour les utilisateurs de Windows.
https://community.chocolatey.org/packages/incus/6.19.0
Paquet Winget du client Incus¶
Le client Incus est aussi disponible sur Winget pour les utilisateurs de Windows.
https://winstall.app/apps/LinuxContainers.Incus
Support¶
Les versions de fonctionnalité d’Incus ne sont supportées que jusqu’à la sortie de la suivante. Les personnes souhaitant un support plus long et des changements moins fréquents devraient plutôt envisager d’utiliser Incus 6.0 LTS.
Le support communautaire est disponible sur : https://discuss.linuxcontainers.org
Un support commercial est disponible sur : https://zabbly.com/incus
Les bugs peuvent être signalés sur : https://github.com/lxc/incus/issues
