ニュースのトップページに戻る

Incus 6.19 リリースのお知らせ

2025/11/29

はじめに

Incus チームは、Incus 6.19 のリリースのアナウンスができてうれしいです!

このリリースは、通常よりは規模が小さなリリースです。これは、Incus OS のリリースの初期に残っていた荒削りな部分をいくつか調整していたためです。

とはいえ、このバージョンにも多くの素晴らしい改良点と多数のバグ修正が含まれています!

image|690x328

いつものように、オンラインでご自身で試せます: https://linuxcontainers.org/incus/try-it/

Enjoy!

新機能

SELinux の初期サポート

このリリースで、Incus でネイティブな SELinux を実装するための最初のステップが完了しました。この取り組みはまだ初期段階であるため、この機能はデフォルトでは無効化されています。有効化するには、環境変数で INCUS_SECURITY_SELINUX=true を設定する必要があります。

現時点では、この機能を有効にすると、Incus はシステム上の SELinux サポートを検出し、次のいずれかの SELinux 環境を検出しようとします:

  • 現在の Fedora/RHEL 環境で定義されている SELinux コンテキスト
  • Incus 用に設定された SELinux refpolicy

サポートされているシステムで実行している場合、Incus は期待される SELinux コンテキストをコンテナに適用し、独自の SELinux カテゴリーセットを生成します。

これは、2 つのコンテナが同じ SELinux コンテキストを共有している場合でも、コンテナ間で潜在的な相互作用が発生しないようにするためです。

現時点では、ランタイムコンテキストのみが設定されます。Incus はまだファイルシステムコンテキストや、仮想マシン、共有ボリュームやリソースは操作しません。

Incus に完全な SELinux サポートを実装することに経験や興味がある方は、この機能を試して、一緒にサポートを拡張することにご協力ください。

[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

Windows エージェントサポートの改良

Incus は現在、Linux と macOS で利用可能なものと同様のインストールスクリプトを含む Windows エージェントを、サービスとして実行するためのサポートを提供しています。

これにより、Incus VM で Linux、macOS、Windows のいずれを実行していても、同じようなユーザーエクスペリエンスを実現しています。

これらの取り組みに続いて、Ansible の接続プラグインを改良し、これらの 3 つのプラットフォームすべてをサポートできるようにしました。

image|690x429

リソース API のシリアルデバイス

この機能は、Incus を使って USB シリアルデバイスで IoT コンテナを実行し、Zigbee や Z-Wave ネットワークなどと通信しているユーザーからの IncusOS の初期フィードバックから生まれました。

通常のシステムであれば、/dev/serial を調べて USB シリアルアダプターの固定識別子を調べることができます。しかし、IncusOS 環境がロックダウンされているため、これは容易ではありませんでした。

これを解決するために、リソース API に、シリアルデバイスのリストと、それらを選択してコンテナに渡すために必要なすべての詳細が含まれるようになりました。

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

OVN NIC の帯域幅制限

OVN ネットワークインターフェースで、limits.ingresslimits.egresslimits.maxlimits.priority が使用できるようになりました。

これらは、すべて関連する OVN QoS ルールに変換されます。

ほとんどの CLI コマンドで、複数オブジェクトの削除をサポート

次の CLI コマンドは、複数の項目を一度に削除できるようになりました:

  • incus cluster group delete
  • incus image alias delete
  • incus network delete
  • incus network acl delete
  • incus network address-set delete
  • incus network integration delete
  • incus network zone delete
  • incus operation delete
  • incus profile delete
  • incus project delete
  • incus storage delete
  • incus warning delete

PCI ファームウェアの VM へのパススルーをオフにする機能

新たに firmware 設定キーが pci タイプのデバイスに追加されました。
これを false に設定することで、デバイスの ROM セクションが除外されます。

これは、VM 内の PCI デバイスを適切に動作させるために時々必要になります。

CLI での PKCS12 生成

Incus Web UI を使い始める人が増えるにつれ、Web ブラウザーでのインポートに適した証明書ファイルの生成が共通の課題になっていました。

これを簡単にするために、既存の incus remote get-client-certificate コマンドを拡張しました。

incus remote get-client-certificate client.crt を使って通常の PEM エンコーディングされた公開鍵証明書をファイルに書き込むことと、incus remote get-client-certificate client.pfx --format=pfx を使って(秘密鍵を含んだ)PKCS12 証明書バンドルを生成することの両方がサポートされるようになりました。

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

CLI CSV 出力における RAW 単位のオプション

CLI リストの csv フォーマットに新たな raw オプションを加えると、さまざまなリソースデータが、人間が読める文字列ではなく、直接 byte として取得できます。

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

すべての変更点

このリリースのすべての変更のリストは次の通りです(翻訳なし):

すべてのChangeLogを見る
  • 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

ドキュメント

Incus のドキュメントはこちらです:
https://incus-ja.readthedocs.io/ja/latest/ (日本語訳)
https://linuxcontainers.org/incus/docs/main/ (原文)

パッケージ

Incus の開発元は、通常リリースの tarball のみをリリースするため、公式の Incus パッケージはありません。Incus を実行するために使えるオプションを以下にいくつか示します。

Linux 上に Incus サーバーをインストールする

Incus はほとんどの一般的な Linux ディストリビューションで利用できます。インストール手順の詳細は、Incus のドキュメントを参照してください。

https://incus-ja.readthedocs.io/ja/latest/installing/ (日本語訳)
https://linuxcontainers.org/incus/docs/main/installing/ (原文)

Incus クライアントの Homebrew パッケージ

Homebrew 経由で、Linux と macOS 向けにクライアントツールが利用できます。

https://formulae.brew.sh/formula/incus

Incus クライアントの Chocolatey パッケージ

Chocolatey 経由で、Windows ユーザー向けにクライアントツールが利用できます。

https://community.chocolatey.org/packages/incus/6.19.0

Incus クライアントの Winget パッケージ

Winget 経由で、Windows ユーザー向けにクライアントツールが利用できます。

https://winstall.app/apps/LinuxContainers.Incus

サポート

月次のフィーチャーリリースは、次のリリースがリリースされるまでのみサポートされます。より長いサポート期間と少ない変更頻度が必要な場合、代わりに Incus 6.0 LTS の使用を検討すべきです。

コミュニティサポートはこちらから : https://discuss.linuxcontainers.org
商用サポートはこちらから : https://zabbly.com/incus
バグはこちらから報告できます : https://github.com/lxc/incus/issues