ニュース

Incus 6.22 リリースのお知らせ

2026/02/27

はじめに

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

このリリースは、大量のバグ修正に加えて、全体的に多くの変更が加えられたかなり忙しいリリースです。きっとみなさんに満足いただけるはずです!

image|690x245

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

Enjoy!

新機能

Windows エージェントの vsock サポート

Windows 版の Incus VM エージェントを導入した当時は、Windows 用の Virtio Vsock ドライバーは、まだ Microsoft による署名を待っており、Windows の vsock に対する Go サポートはまったくありませんでした。

これらの問題は修正され、TCP ではなく vsock をトランスポートとして使用する Windows エージェントのビルドを開始できるようになりました。これは Linux での動作と一致しており、Incus が実行中の VM の IP アドレスを知らない環境や、VM の IP アドレスへの接続が許可されていない環境でも VM エージェントと通信できるようになります。

stgraber@castiana:~ (incus:dev-cluster01/default)$ incus list Windows
+-------------+---------+---------------------------+-------------------------------------------------------------------------+-----------------+-----------+----------+
|    NAME     |  STATE  |           IPV4            |                                  IPV6                                   |      TYPE       | SNAPSHOTS | LOCATION |
+-------------+---------+---------------------------+-------------------------------------------------------------------------+-----------------+-----------+----------+
| Windows2016 | RUNNING | 172.17.45.252 (Ethernet0) | 2602:fc62:c:1045:992a:86ac:bed4:7643 (Ethernet0)                        | VIRTUAL-MACHINE | 0         | incus03  |
|             |         |                           | 2001:0:14c9:dc0e:c7f:1835:53ee:d203 (Teredo Tunneling Pseudo-Interface) |                 |           |          |
+-------------+---------+---------------------------+-------------------------------------------------------------------------+-----------------+-----------+----------+
| Windows2025 | RUNNING | 172.17.45.215 (Ethernet0) | 2602:fc62:c:1045:db35:1adc:89f5:5e9e (Ethernet0)                        | VIRTUAL-MACHINE | 0         | incus03  |
+-------------+---------+---------------------------+-------------------------------------------------------------------------+-----------------+-----------+----------+

stgraber@castiana:~ (incus:dev-cluster01/default)$ incus info Windows2025
Name: Windows2025
Description: Auto-imported from VMware
Status: RUNNING
Type: virtual-machine
Architecture: x86_64
Location: incus03
PID: 2658
Created: 2026/02/25 01:36 EST
Last Used: 2026/02/26 16:36 EST
Started: 2026/02/26 16:36 EST

Operating System:
  OS: Windows Server 2025 Datacenter Evaluation
  OS Version: 26100
  Kernel Version: 6.3
  Hostname: WIN-QVHTSU4SGJK
  FQDN: WIN-QVHTSU4SGJK

Resources:
  Processes: 87
  CPU usage:
    CPU usage (in seconds): 57366
  Memory usage:
    Memory (current): 1.58GiB
  Network usage:
    Ethernet0:
      Type: broadcast
      State: UP
      Host interface: Ethernet0
      MAC address: 00:50:56:a9:12:b0
      MTU: 1500
      Bytes received: 14.34MB
      Bytes sent: 3.48MB
      Packets received: 13036
      Packets sent: 8992
      IP addresses:
        inet6: 2602:fc62:c:1045:db35:1adc:89f5:5e9e/64 (global)
        inet6: fe80::78a1:5e60:236:58a2/64 (link)
        inet:  172.17.45.215/24 (global)
    Loopback Pseudo-Interface 1:
      Type: loopback
      State: UP
      Host interface: Loopback Pseudo-Interface 1
      MTU: -1
      Bytes received: 0B
      Bytes sent: 0B
      Packets received: 0
      Packets sent: 0
      IP addresses:
        inet6: ::1/128 (local)
        inet:  127.0.0.1/8 (local)

注意: この機能を正しく動作させるには、Windows に virtio-vsock ドライバーとサービスがインストールされている必要があります。インストールは通常、VirtIO ドライバーイメージ内で適切なドライバーを手動で検索し、右クリックして .inf ファイルをインストールする必要があります。VirtIO インストーラーは、現時点では自動的にはこれを行わないようです。

直接バックアップの取得

Incus には、インスタンスとカスタムストレージボリュームの両方のバックアップを作成できる組み込みのバックアップ API があります。これは、バックアップシステムや同様の自動化システムとの統合を目的としています。

よりわかりやすく言うと、同じメカニズムが incus exportincus storage volume export で使われています。どちらの場合も、これらのコマンドは Incus 側でバックアップを作成し、次にそのバックアップを取得し、最後にサーバーサイドでバックアップを削除します。

これは、すべてのデータをダウンロードするためだけにディスクに保存して、その後それを削除するという無駄の多い処理です。Incus 6.22 では、直接バックアップをストリーミングできるように、この処理を改良しました。

stgraber@dakara:~$ incus launch images:alpine/edge a1
Launching a1
stgraber@dakara:~$ incus export a1
Backup exported successfully!
stgraber@dakara:~$ ls -lh a1.tar.gz 
-rw-rw-r-- 1 stgraber stgraber 4.0M Feb 27 10:43 a1.tar.gz

ディスクのみのスナップショットリストア

Incus のスナップショットは、ディスクの状態だけでなく、インスタンス全体の構成や、オプションでランタイム状態もキャプチャーします。しかし、スナップショットをリストアしたい場合、ストレージの状態のみをリストアしたいことが多くあります。今回、ディスクのみのスナップショットリストア機能により、それが行えるようになりました。

stgraber@dakara:~$ incus snapshot restore a1 snap0 --diskonly

サーバーログ専用のストレージボリューム

Incus のログは、特に数百〜数千の VM を実行するシステムでは、時間の経過とともに蓄積されます。Incus には、ログローテーションの機能が実装されており、ログを適切に管理しようとしますが、それでも数 GB のストレージを占有するほどログが蓄積することがあります。

今回、新たに storage.logs_volume という設定が追加されました。これにより、イメージやバックアップと同様に、Incus のログをすべて専用のカスタムストレージボリュームに移動させることができるようになります。

stgraber@dakara:~$ incus storage volume create default logs
Storage volume logs created
stgraber@dakara:~$ incus config set storage.logs_volume default/logs
Error: Failed validation of "storage.logs_volume": `storage.logs_volume` cannot be changed if there are running instances
stgraber@dakara:~$ incus stop --all
stgraber@dakara:~$ incus config set storage.logs_volume default/logs
stgraber@dakara:~$ incus start --all

ドキュメント : https://linuxcontainers.org/incus/docs/main/server_config/#miscellaneous-options

QCOW2 ストレージの改良

あらためて言っておきますが、Incus はブロックストレージで、lvmcluster 上で適切なスナップショット機能を提供するためのメカニズムとして、QCOW2 を使用しています。Incus は、実行中のインスタンスやライブマイグレーションを含む、インスタンスのスナップショットを作成、管理できるようになりました。

また、カスタムストレージボリュームも、QCOW2 をデフォルトのフォーマットとして採用するように変更しました。初期ではスナップショット機能もサポートしました。残る課題(実行中の VM にアタッチされたボリュームのスナップショット)は Incus 6.23 で対応予定です。

lvmcluster ストレージプールのりサイズ

lvmcluster ドライバーを使って共有ブロックストレージを利用する Incus クラスターにおいて、バックエンドのブロックデバイスを拡張し、Incus が LVM ストレージの容量を拡張する機能を追加しました。

lvmclustersize プロパティを、拡張したい新しいサイズに設定するか、max を指定して基盤となるストレージで利用可能な最大サイズまで拡張させることができるようになりました。

ドキュメント : https://linuxcontainers.org/incus/docs/main/reference/storage_lvm/

lvmcluster でのリストアにおけるスナップショットの自動削除

lvmcluster においても、他のストレージバックエンドと同様に、最新のスナップショットしか復元できないという制限があります。そのため、復元するにはより新しいのスナップショットを最初に削除する必要があります。

この問題に対処するために、リストア時に自動的にスナップショットを削除する lvmcluster.remove_snapshots 設定オプションを新たに追加しました。

ドキュメント: https://linuxcontainers.org/incus/docs/main/reference/storage_lvm/

unix-hotplug における USB コントローラーの完全なパススルー

unix-hotplug デバイスに新しい pci 設定キーが追加され、特定の USB コントローラーを選択できるようになりました。これにより、そのコントローラー上に現れたり消えたりするすべてのデバイスが自動的に検出されるようになりました。

stgraber@dakara:~$ incus launch images:debian/13 c1
Launching c1
stgraber@dakara:~$ incus config device add c1 usb-controller unix-hotplug pci=0000:24:00.0
Device usb-controller added to c1
stgraber@dakara:~$ incus exec c1 bash
root@c1:~# find /dev/bus
/dev/bus
/dev/bus/usb
/dev/bus/usb/005
/dev/bus/usb/005/023

ドキュメント : https://linuxcontainers.org/incus/docs/main/reference/devices_unix_hotplug/

認可スクリプトレット内の証明書情報

OpenID Connect および OpenFGA との完全な統合が現実的ではない環境向けに、Incus は認可スクリプトレットを通じて、よりシンプルな認可メカニズムをサポートしています。

これは実質的に Python 風のスクリプトであり、特定の操作に対するアクセスを検証する必要があるたびに Incus 内で実行されます。初期実装では、このスクリプトレットに TLS 証明書のフィンガープリント、操作、オブジェクトが提供されていました。

今回、提供されるデータが拡張され、Incus 証明書のすべてのフィールドに加え、実際の x509 証明書とデータも含まれるようになりました。

これにより、証明書の名前や制約などのプロパティに基づいてアクセスを決定できる、より複雑なポリシーを作成できるようになりました。

ドキュメント : https://linuxcontainers.org/incus/docs/main/authorization/#scriptlet-authorization

VM の高速再起動

Incus は、多数の VM 機能と統合をサポートしています。それらの多くは、ホスト環境との緊密な統合や、QEMU 環境の外での操作を必要とします。

このため、Incus は VM が再起動するたびに QEMU を完全に終了させ、フレッシュな状態で起動できるようにしていました。

この動作は非常に信頼性が高いですが、コンソールの切断と再起動時の若干の遅延が発生します。これを改善するために、Incus は完全な再起動が必要かどうか(例えばホットプラグの操作後など)を監視し、必要な場合のみに QEMU の完全な再起動をトリガーするようになりました。他のリブート操作では、コンソールから切断されることもなく、はるかに速く実行されるようになりました。

プロジェクトにおけるイメージサーバー URL の制限

制限付きプロジェクトを使う共有 Incus クラスターは、ユーザーがアクセスして、クラスターに pull できるものを正確に制御したい場合がよくあります。

このためプロジェクトの新しい制限として、restricted.image.servers を導入しました。これは、プロジェクト内で使用を許可するイメージサーバードメインのコンマ区切りのリストです。指定した以外のサーバーはすべて拒否されます。

それに加えて、制限付きプロジェクトでは、push モードの移行のみに制限され、pull モードの移行はブロックされます。

stgraber@dakara:~$ incus project set foo restricted=true restricted.images.servers=example.net
stgraber@dakara:~$ incus launch images:alpine/edge a1
Launching a1
Error: Failed instance creation: Image server "images.linuxcontainers.org" isn't allowed in this project
stgraber@dakara:~$ incus project set foo restricted=true restricted.images.servers=images.linuxcontainers.org
stgraber@dakara:~$ incus launch images:alpine/edge a1
Launching a1

ドキュメント : https://linuxcontainers.org/incus/docs/main/reference/projects/

incus-migrate における URL ベースのインポート

incus-migrate は、物理環境から仮想環境への移行から、既存の VM やコンテナイメージのインポートまで、さまざまな移行シナリオに対応するスタンドアロンツールです。

このツールがアップデートされ、URL 経由でリモートイメージを直接利用できるようになりました。これにより、QCOW2 や VMDK イメージのインポートが簡単になります。

stgraber@dakara:~$ incus-migrate 
The local Incus server is the target [default=yes]:

What would you like to create?
1) Container
2) Virtual Machine
3) Virtual Machine (from .ova)
4) Custom Volume

Please enter the number of your choice: 2
Project to create the instance in [default=default]: 
Name of the new instance: talos
Please provide the path or URL to a disk, partition, or qcow2/raw/vmdk image file: https://factory.talos.dev/image/9ed5fecdacb36b5c5427b87d409f1065cfb2df69b0f71c58b868d9d466d8dab3/v1.12.4/metal-amd64.qcow2
Downloading "https://factory.talos.dev/image/9ed5fecdacb36b5c5427b87d409f1065cfb2df69b0f71c58b868d9d466d8dab3/v1.12.4/metal-amd64.qcow2"
Does the VM support UEFI booting? [default=yes]: 
Does the VM support UEFI Secure Boot? [default=yes]: no

Instance to be created:
  Name: talos
  Project: default
  Type: virtual-machine
  Source: /tmp/3948685006
  Source format: qcow2
  Config:
    security.secureboot: "false"

Additional overrides can be applied at this stage:
1) Begin the migration with the above configuration
2) Override profile list
3) Set additional configuration options
4) Change instance storage pool or volume size
5) Change instance network
6) Add additional disk
7) Change additional disk storage pool

Please pick one of the options above [default=1]: 4
Please provide the storage pool to use: default
Do you want to change the storage size? [default=no]: yes
Please specify the storage size: 50GiB

Instance to be created:
  Name: talos
  Project: default
  Type: virtual-machine
  Source: /tmp/3948685006
  Source format: qcow2
  Storage pool: default
  Storage pool size: 50GiB
  Config:
    security.secureboot: "false"

Additional overrides can be applied at this stage:
1) Begin the migration with the above configuration
2) Override profile list
3) Set additional configuration options
4) Change instance storage pool or volume size
5) Change instance network
6) Add additional disk
7) Change additional disk storage pool

Please pick one of the options above [default=1]: 1
Converting image "/tmp/3948685006" to raw format before importing
Instance talos successfully created
stgraber@dakara:~$ incus start talos

ドキュメント : https://linuxcontainers.org/incus/docs/main/howto/import_machines_to_instances/

ACME を使用したマルチドメイン証明書

Incus は、有効な HTTPS 証明書を ACME/Let's Encrypt を使って取得することをサポートしています。
これまでは、基本的な単一のホスト証明書のみをサポートしていました。しかし、今後は acme.domain 設定キーを通してカンマ区切りのドメインリストをサポートするようになりました。

stgraber@dakara:~ (incus:dev-cluster01/default)$ incus config set acme.domain=cluster01.dev.stgraber.org,foo.dev.stgraber.org

ドキュメント : https://linuxcontainers.org/incus/docs/main/server_config/#server-options-acme

SR-IOV NIC における信頼済みプロパティーの制御

SR-IOV NIC を使用しているとき、Incus は通常、それらを非信頼モードに設定し、MAC アドレスや VLAN の変更を防止しています。

より信頼性が高い環境向けに、新たなプロパティーとして security.trusted を追加しました。これにより、セキュリティー制限を無効にできます。

stgraber@dakara:~$ incus create images:alpine/edge a1
Creating a1
stgraber@dakara:~$ incus config device add a1 eth0 nic nictype=sriov parent=enp1s0 name=eth0 security.trusted=true
Device eth0 added to a1
stgraber@dakara:~$ incus start a1

ドキュメント : https://linuxcontainers.org/incus/docs/main/reference/devices_nic/#nictype-sriov

退避状況を追跡するためのクラスターメンバーの状態の追加

クラスターの状態をより適切に追跡するために、中間的なクラスター状態をいくつか追加しました。具体的には EVACUATINGRESTORING です。

stgraber@dakara:~ (incus:dev-cluster01/default)$ incus cluster list
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
|  NAME   |                         URL                         |      ROLES      | ARCHITECTURE | FAILURE DOMAIN | DESCRIPTION | STATUS |      MESSAGE      |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
| incus01 | https://[2602:fc62:b:8007:1266:6aff:fe46:8bd]:8443  | database-leader | x86_64       | default        |             | ONLINE | Fully operational |
|         |                                                     | database        |              |                |             |        |                   |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
| incus02 | https://[2602:fc62:b:8007:1266:6aff:fe02:fa52]:8443 | database        | x86_64       | default        |             | ONLINE | Fully operational |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
| incus03 | https://[2602:fc62:b:8007:1266:6aff:fed2:70e9]:8443 | database        | x86_64       | default        |             | ONLINE | Fully operational |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
stgraber@dakara:~ (incus:dev-cluster01/default)$ incus cluster list
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+------------+--------------------------------+
|  NAME   |                         URL                         |      ROLES      | ARCHITECTURE | FAILURE DOMAIN | DESCRIPTION |   STATUS   |            MESSAGE             |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+------------+--------------------------------+
| incus01 | https://[2602:fc62:b:8007:1266:6aff:fe46:8bd]:8443  | database-leader | x86_64       | default        |             | ONLINE     | Fully operational              |
|         |                                                     | database        |              |                |             |            |                                |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+------------+--------------------------------+
| incus02 | https://[2602:fc62:b:8007:1266:6aff:fe02:fa52]:8443 | database        | x86_64       | default        |             | ONLINE     | Fully operational              |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+------------+--------------------------------+
| incus03 | https://[2602:fc62:b:8007:1266:6aff:fed2:70e9]:8443 | database        | x86_64       | default        |             | EVACUATING | Unavailable due to maintenance |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+------------+--------------------------------+
stgraber@dakara:~ (incus:dev-cluster01/default)$ incus cluster list
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
|  NAME   |                         URL                         |      ROLES      | ARCHITECTURE | FAILURE DOMAIN | DESCRIPTION |  STATUS   |            MESSAGE             |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
| incus01 | https://[2602:fc62:b:8007:1266:6aff:fe46:8bd]:8443  | database-leader | x86_64       | default        |             | ONLINE    | Fully operational              |
|         |                                                     | database        |              |                |             |           |                                |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
| incus02 | https://[2602:fc62:b:8007:1266:6aff:fe02:fa52]:8443 | database        | x86_64       | default        |             | ONLINE    | Fully operational              |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
| incus03 | https://[2602:fc62:b:8007:1266:6aff:fed2:70e9]:8443 | database        | x86_64       | default        |             | EVACUATED | Unavailable due to maintenance |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
stgraber@dakara:~ (incus:dev-cluster01/default)$ incus cluster list
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
|  NAME   |                         URL                         |      ROLES      | ARCHITECTURE | FAILURE DOMAIN | DESCRIPTION |  STATUS   |            MESSAGE             |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
| incus01 | https://[2602:fc62:b:8007:1266:6aff:fe46:8bd]:8443  | database-leader | x86_64       | default        |             | ONLINE    | Fully operational              |
|         |                                                     | database        |              |                |             |           |                                |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
| incus02 | https://[2602:fc62:b:8007:1266:6aff:fe02:fa52]:8443 | database        | x86_64       | default        |             | ONLINE    | Fully operational              |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
| incus03 | https://[2602:fc62:b:8007:1266:6aff:fed2:70e9]:8443 | database        | x86_64       | default        |             | RESTORING | Unavailable due to maintenance |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+-----------+--------------------------------+
stgraber@dakara:~ (incus:dev-cluster01/default)$ incus cluster list
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
|  NAME   |                         URL                         |      ROLES      | ARCHITECTURE | FAILURE DOMAIN | DESCRIPTION | STATUS |      MESSAGE      |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
| incus01 | https://[2602:fc62:b:8007:1266:6aff:fe46:8bd]:8443  | database-leader | x86_64       | default        |             | ONLINE | Fully operational |
|         |                                                     | database        |              |                |             |        |                   |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
| incus02 | https://[2602:fc62:b:8007:1266:6aff:fe02:fa52]:8443 | database        | x86_64       | default        |             | ONLINE | Fully operational |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
| incus03 | https://[2602:fc62:b:8007:1266:6aff:fed2:70e9]:8443 | database        | x86_64       | default        |             | ONLINE | Fully operational |
+---------+-----------------------------------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+

インスタンスの移行なしでのクラスターのリストア

クラスターの退避についてもう一点、サーバーをオンラインに戻す際に、インスタンスを移動させたり再起動させたりしないようにできるようになりました。

stgraber@dakara:~ (incus:dev-cluster01/default)$ incus cluster evacuate incus02
Are you sure you want to evacuate cluster member "incus02"? (yes/no) [default=no]: yes
stgraber@dakara:~ (incus:dev-cluster01/default)$ incus cluster restore incus02 --action=skip
Are you sure you want to restore cluster member "incus02"? (yes/no) [default=no]: yes

インスタンス起動時のメトリクス

インスタンスの uptime を追跡できるように、新たにいくつかメトリクスを追加しました。

具体的には :
- incus_boot_time_seconds インスタンス起動時の UNIX タイムスタンプ
- incus_time_seconds 現在の UNIX タイムスタンプ

これは node-exporter で使われている同じメトリクスをモデルにしています。

stgraber@dakara:~$ incus list a1
+------+---------+---------------------+---------------------------------------------+-----------+-----------+
| NAME |  STATE  |        IPV4         |                    IPV6                     |   TYPE    | SNAPSHOTS |
+------+---------+---------------------+---------------------------------------------+-----------+-----------+
| a1   | RUNNING | 172.17.0.177 (eth0) | 2602:fc62:c:1000:1266:6aff:fe2d:30e5 (eth0) | CONTAINER | 0         |
+------+---------+---------------------+---------------------------------------------+-----------+-----------+
stgraber@dakara:~$ incus query /1.0/metrics | grep a1 | grep time
incus_boot_time_seconds{name="a1",project="default",type="container"} 1.772214792e+09
incus_time_seconds{name="a1",project="default",type="container"} 1.772216491e+09

ドキュメント : https://linuxcontainers.org/incus/docs/main/reference/provided_metrics/

すべての変更点

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

すべてのChangeLogを見る
  • Translated using Weblate (French)
  • incusd/device/nic: Fix connected logic for non-NIC QEMU devices
  • doc: Update config
  • incusd/instance/qmp: Prevent setting link up at initialization
  • incusd/instance/qemu: Properly initialize connected status
  • incusd/storage/zfs: Set IncusOS storage usage property
  • Fix typo: Supported cConditions to Supported Conditions
  • Translated using Weblate (Japanese)
  • shared/util: Fix SingleQuote to actually quote
  • Translated using Weblate (French)
  • cmd/incus: Fix get-client-certificate ignoring per-remote certs
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • incusd/storage/lvm: Move IncusOS check to pool creation
  • Translated using Weblate (French)
  • Translated using Weblate (Portuguese)
  • Translated using Weblate (French)
  • incus-migrate: Allow running as non-root
  • incus-migrate: Add URL imports
  • doc: Ignore broken links on Alpine gitlab
  • doc: Ignore broken links on docbook website
  • github: Deal with new Github images
  • tests: Fix SR-IOV attached key test
  • incusd/device/nic_physical: Allow migration of managed devices
  • shared/cliconfig: Don't pass scheme to OCI creds helper
  • incusd/cluster: Allow restoring a cluster without its instances
  • incus/cluster: Add --action for restore
  • i18n: Update translation templates
  • internal/instance; Correct doc for boot.autostart.priority
  • doc: Update config
  • incusd/cluster: Restrict join token to database servers
  • incusd/storage/lvm: Prevent use of lvmcluster with loop files
  • incusd/operations: Prevent concurrent access to metadata
  • incusd/storage: Add support for renaming qcow2 volumes
  • incusd/storage/drivers: Load NBD module for lvmcluster
  • incusd/instance/drivers: Pass information about whether migration is live
  • incusd/storage: Add support for qcow2 volume migration
  • incusd/storage: Add snapshot mount paths parameter to the task function
  • incusd/device/nic_riov: Retry MAC setting logic
  • Translated using Weblate (Portuguese)
  • doc/howto/instances: Mention keeping agent drive attached
  • incusd/instances/agent-loader: Silence semanage
  • incusd/cluster: Also transfer public key on join
  • doc/cloud-init: Fix bad link
  • incusd: Search OVS switch external_interfaces
  • api: nic_sriov_security_trusted
  • incusd/ip/link: Add support for virtual function trusted property
  • incusd/device/nic: Add security.trusted configuration key
  • internal/instance: Add volatile.<name>.last_state.vf.trusted
  • tests: Add tests for SR-IOV security.trusted property
  • doc: Update config for SR-IOV security.trusted
  • doc/backup: Fix MarkdownLint warnings
  • incusd/storage_volumes_snapshot: Treat pongo templates as unique
  • incusd/instance/drivers: Propagate error when adding qcow2 backing block device
  • incusd/instancewriter: Make signature more generic
  • client/instances: Add direct backup capability
  • client/storage_volumes: Add direct backup capability
  • client/storage_buckets: Add direct backup capability
  • incusd/response: Add pipe response
  • incus/export: Add direct backup capability
  • incus/storage_volume: Add direct backup capability
  • incus/storage_bucket: Add direct backup capability
  • incusd/backup: Refactor S3 upload
  • incusd/instance_backup: Add direct backup capability
  • incusd/storage_volumes_backup: Add direct backup capability
  • incusd/storage_buckets_backup: Add direct backup capability
  • doc/rest-api: Refresh swagger YAML
  • api: direct_backup
  • incusd/instance/qemu: gofumpt
  • incusd/device/disk: Add IsSpecialDisk
  • incusd/instance/lxc: Skip metrics on special disks
  • github: Resolve /dev/scratch symlink when consumed
  • api: instance_snapshot_disk_only_restore
  • shared/api: Add DiskOnly option in InstancePut
  • incusd/instance_put: Add DiskOnly option and check for mismatching options
  • incusd/instance/qemu: Implement disk-only restore logic in qemu driver
  • incusd/instance/lxc: Implement disk-only restore logic in lxc driver
  • incusd/instance: Adjust interface for diskOnly parameter
  • doc/rest-api: Refresh swagger YAML
  • client: Check for diskOnly api extension when invoked
  • incus/snapshot: Add disk only restore
  • i18n: Update translation templates
  • incusd/storage: Prevent moving shared storage volumes
  • incus/image: Add generate-metadata
  • i18n: Update translation templates
  • doc: Update incus-migrate documentation
  • incusd: Validate that instance can be migrated
  • incusd/instance/drivers: Add writable argument to NBDBlockExportAdd
  • incusd/instance/drivers/qmp: Add NBDUnixServerStart
  • incusd/instance: Add ExportQcow2Disk
  • incusd/storage: Support live migration of qcow2 volumes
  • doc: Add information about lvmcluster limitations
  • incusd/instance: Add QCOW2 live migration support for instances with snapshots
  • incusd/storage: Add QCOW2 live migration support for instances with snapshots
  • incusd: Remove ensureMigratable as checks are no longer valid
  • doc: Remove outdated doc about live QCOW2 migration limitation
  • incusd/instance/drivers: Propagate live migration information
  • incusd/storage: Skip final filesystem sync for VMs during migration
  • doc/requirements: Bump minimal requirements
  • Validate requested storage pool during instance migration
  • incusd/instance/qemu: Rename onDisconnectEvent to initialized
  • incusd/instance/qemu: Add EventVMReset
  • incusd/instance/qemu: Use standard QEMU actions and catch in handler
  • internal/instance: Add volatile.vm.needs_reset
  • incusd/instance/qemu: Implement fast reboot
  • doc: Update config
  • incusd/instance/qmp: Fix cross-server live-migration
  • incusd/instance/qemu: Report QEMU error on VM restore
  • incus-migrate: Fix URL detection
  • incusd/instance/drivers: Remove instance volume on revert after failed live migration
  • incusd/instance/drivers: Propagate target migration failure to source using context cancellation
  • incusd/storage: Prevent concurrent QCOW2 snapshot deletions
  • incusd/instance/qemu: Require full restart after eject
  • incusd/storage: Prevent concurrent snapshot deletions
  • incus: Refactor CLI usage strings
  • i18n: Update translation templates
  • incusd/instance/qemu: Force a real reboot after applying templates
  • incusd/storage/ceph: Use the standard error for unsupported disk usage
  • api: unix_hotplug_pci
  • incusd/devices/unix_hotplug: Allow selecting by PCI bus
  • doc: Update config
  • incusd/instance/qmp: Fix gofumpt
  • incusd/storage/qcow2: Wait for qemu-nbd to be ready
  • incusd/instance/drivers: Fix backing block device ordering when fetching from QEMU
  • internal/server/instance/drivers: Get vsock client for Windows
  • cmd/incus-agent: Add serial communication for Windows
  • incusd/storage/drivers: Delete mount paths when deleting snapshots
  • cmd/incus-agent: Only use TCP agent for macOS
  • cmd/incus-agent: Use vsock for Windows agent
  • Use vsock fork
  • incusd/fsmonitor: Read multiple fanotify events
  • doc/instance_units: Mention common units
  • incusd/instance/qemu: Clarify CPU hotplug error
  • incusd/instance/qmp: Add MemoryConfiguration
  • incusd/instance/qemu: Improve error message on memory hotplug
  • doc/instance: Cover CPU and memory hotplug limits
  • incusd/storage/drivers: Allow creation of qcow2 custom volumes
  • incusd/instance/drivers: Support detaching qcow2 custom volumes
  • incusd/storage: Add snapshot management for qcow2 custom volumes
  • incusd/device: Pass backing path information for disk devices
  • incusd/storage: Block custom volume snapshot create/delete when attached to an instance
  • api: cluster_evacuating_restoring
  • incusd/cluster: Implement evacuating and restoring states
  • shared/api: Align JSON and YAML behavior for preseeding
  • client: Update for InitPreseed change
  • incus: Update for InitPreseed change
  • incusd: Update for InitPreseed change
  • doc/rest-api: Refresh swagger YAML
  • incusd/device/nic_ovn: Fix nested NIC state
  • incusd/metrics: Implement incus_boot_time_seconds and incus_time_seconds
  • incus-agent: Implement incus_boot_time_seconds and incus_time_seconds
  • incusd/instance/lxc: Implement time metrics
  • doc: Add description of incus_boot_time_seconds and incus_time_seconds
  • incusd/storage/linstor: Propagate error when volume filler fails
  • shared/validate: Allow a specific set of compressors
  • incusd: Validate CompressionAlgorithm everywhere it's received
  • tests: Check compression algorithm validation
  • incusd/project: Prevent restricted projects from pulling data
  • api: projects_restricted_image_servers
  • incusd/project: Introduce restricted.images.servers
  • doc: Update config
  • incusd/project: Implement image server restrictions
  • incusd/images: Check project restrictions on image download
  • incusd/db: Turn NodeSpecificStorageConfig into driver aware function
  • incusd: Switch usages to NodeSpecificStorageConfig function
  • incusd/storage: Add support for expanding lvmcluster storage pool
  • incusd/storage: Add DisallowedStorageConfigForCreation and ClusterWideStorageConfig
  • incusd: Add additional checks fro re-sizing lvmcluster pool
  • api: Add storage_lvmcluster_size extension
  • doc: Update config
  • incusd/certificates: Store full API objects in the cache
  • incusd/project: Update permissions test for new certificate cache
  • incusd/certificate: Allow to retrieve a single API certificate
  • incusd/auth/scriptlet: Expose API certificate and request TLS chain to the scriptlet
  • doc/authorization: Document new scriptlet details fields
  • api: authorization_scriptlet_cert
  • incusd/images: Simplify image URL check
  • api: lvmcluster_remove_snapshots
  • incusd/storage/drivers: Add 'lvmcluster.remove_snapshots' config key
  • incusd/storage: Handle snapshot restore when 'lvmcluster.remove_snapshots' is set
  • doc: Update config
  • incus: Add validation before starting sshSFTPserver
  • tests: Add validation for sftp checks
  • i18n: Update translation templates
  • incusd: Pass volume type to daemonStorageValidate
  • api: daemon_storage_logs
  • incusd/config: Add storage logs_volume option
  • incusd/daemon_storage: Add storage operation for 'storage.logs_volume'
  • incusd/api: Add validation and management of 'storage.logs_volume'
  • incusd/instance/common: Use logs folder when configured
  • incusd/instance/lxc: Use LogPath for forkstart
  • incusd/instance_logs: Use LogPath
  • doc: Update config
  • incus/server/network/util: Add ipInPoinerRanges util function
  • incusd/network/bridge: Trigger dependency notifcation on changes
  • incusd/network/ovn: Resetup network on change of uplink ovn range/gateway
  • incusd/apparmor/instance: Fix logs volume handling
  • incus/server/network/ovn/nb: Overwrite static mac bindings if it already exists
  • incusd/api_cluster: Fix database-client count logic
  • incusd/instances: Properly instruct to reset NVRAM when changing secure boot config
  • incusd/instance/config: Propagate volatile.apply_nvram to copied instances
  • incusd/network/acl: Use 'allow-related' instead of 'allow' for default egress action
  • incusd/daemon_storage: Don't fail on log volume unmount failure
  • incusd/cluster: Handle evacuation on single-node clusters
  • internal/instance: Add volatile.hotplug.memory
  • doc: Update config
  • incusd/instance/qemu: Record and re-use base memory configuration
  • incusd/device/nic_bridged: Lookup ACLs in the correct project
  • ncusd/network/zone: Include records from all relevant projects
  • tests: Update for network zone filtering
  • incusd/response: Store original Host in forwardedResponse
  • shared/tls: Support multiple domains in ACME functions
  • incusd/acme: Support multiple domains
  • incusd/network/zone: Allow wildcard records
  • incusd/cluster: Don't stop local networking on healing
  • incusd/db/networks: Set Project in getPartialNetworkByProjectAndName
  • Makefile: Bump minimum to Go 1.25
  • gomod: Update dependencies

ドキュメント

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.22.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

Incus 6.21 リリースのお知らせ

2026/01/23

はじめに

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

2026 年はいくつかのセキュリティ修正からスタートしますが、それだけではありません。長く要望があった CLI の改善、ネットワークカードで SR-IOV を使用する場合の使いやすさの向上、起動パフォーマンスの改善なども行っています!

image|690x374

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

Enjoy!

セキュリティ修正

synk.io の Rory McNamara から、重大度 High の脆弱性が 2 件報告されました。

これらの脆弱性はいずれも、incus グループに属するローカルユーザーや、制限付き TLS クライアント証明書や同等の OpenFGA/スクリプトレット設定を使用するリモートユーザーなど、通常は権限が制限されている Incus ユーザーが権限を昇格できます。

  • CVE-2026-23953 (環境変数における改行文字インジェクション)
  • CVE-2026-23954 (テンプレートを通したファイルの読み取り・書き込みが可能となる脆弱性)

これらの問題はいずれも本リリースで修正済みです。そして、Incus 6.0.x ブランチにもバックポートが利用可能になっており、各種 Linux ディストリビューションを通してもセキュリティーアップデートが順次公開されています。

新機能

incus wait コマンド

新たに incus wait コマンドが導入されました。このコマンドは、現時点では、次の複数の状況が発生するまで待機できます:

  • インスタンスが特定の状態に到達した
  • VM エージェントが準備完了状態になった
  • インスタンスが IP アドレスを取得した

この機能は将来的にはさらに拡張され、一般的な追加条件にも対応する予定です。

stgraber@castiana:~$ incus launch images:debian/13 v1 --vm && incus wait v1 agent && incus exec v1 -- echo "Hello world"
Launching v1
Hello world

ネットワークインタフェースの自動 SR-IOV 選択

SR-IOV ネットワークインターフェースにも、GPU 向けに導入された動的選択ロジックと同様の機能が実装されました。

これにより、NIC の製造元やモデルに基づいて SR-IOV ネットワークインターフェースを追加できるようになりました。システム上に複数の物理インターフェースが存在する場合でも、Incus はインスタンスに最適な物理カードを選択し、各カードおよびポート間で VF をバランシングします。

stgraber@dakara:~$ incus create images:debian/13 sriov
Creating sriov
stgraber@dakara:~$ incus config device add sriov eth0 nic nictype=sriov vendorid=8086 productid=10fb
Device eth0 added to sriov
stgraber@dakara:~$ incus start sriov

ドキュメント : https://linuxcontainers.org/incus/docs/main/reference/devices_nic/#id2

ネットワークインターフェースの attachedconnected プロパティー

ほとんどの NIC デバイスについて、新たなプロパティが 2 つ利用可能になりました。

  • attached は、NIC が現在インスタンスに接続されているかどうかを制御します。これを false に設定すると、NIC の設定を保持したまま、デバイスをインスタンスから完全に切り離せます
  • connected は、ネットワークリンクが接続されているかどうかを制御します。これを false に設定すると、ネットワークインターフェースはインスタンス内に保持されますが、接続性は失われます

次に実際の使用例を示します:

stgraber@dakara:~$ incus launch images:debian/13 v1 --vm
Launching v1
stgraber@dakara:~$ incus exec v1 -- ping6 -n ipv6.google.com -c1
PING ipv6.google.com (2607:f8b0:4023:1804::71) 56 data bytes
64 bytes from 2607:f8b0:4023:1804::71: icmp_seq=1 ttl=113 time=14.2 ms

--- ipv6.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 14.151/14.151/14.151/0.000 ms
stgraber@dakara:~$ incus config device override v1 eth0 connected=false
Device eth0 overridden for v1
stgraber@dakara:~$ incus exec v1 -- ping6 -n ipv6.google.com -c1
ping6: ipv6.google.com: Temporary failure in name resolution
stgraber@dakara:~$ incus config device set v1 eth0 connected=true
stgraber@dakara:~$ incus exec v1 -- ping6 -n ipv6.google.com -c1
PING ipv6.google.com (2607:f8b0:4023:1804::64) 56 data bytes
64 bytes from 2607:f8b0:4023:1804::64: icmp_seq=1 ttl=111 time=17.0 ms

--- ipv6.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 16.960/16.960/16.960/0.000 ms
stgraber@dakara:~$ incus config device set v1 eth0 attached=false
stgraber@dakara:~$ incus exec v1 -- ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

インスタンスの並列起動

これまで、システム起動時に自動起動するとマークされたインスタンスはすべて、定義された優先度と遅延時間にしたがって、順番に起動していました。

大規模システムでの処理速度をアップさせるため、Incus は各プロジェクトのインスタンスリストをチェックし、インスタンスが優先度と遅延時間を使用していないプロジェクトについては、システムで利用可能な 4 CPU スレッドごとに 1 インスタンスずつ並列に起動するようになりました(例えば 16 スレッドのシステムでは、4 インスタンスを同時に起動します)。

OIDC クレームによるネットワーク制限

OIDC 認証を使っているユーザー向けに、新たに高度なオプションとして incus.allowed_subnets というクレームが追加されました。このクレームは、クライアントが API との通信が許可されるために接続する必要がある CIDR サブネットをカンマ区切りで指定できます。

この機能は、特定のユーザーグループが常に VPN 経由や物理サイトから接続する必要がある環境で特に便利です。IdP は必要に応じてこのクレームをセットするように設定でき、Incus はすべてのリクエストでこのクレームを検証します。

ドキュメント : https://linuxcontainers.org/incus/docs/main/authentication/#openid-connect-authentication

ネットワークゾーンにおける SOA レコードのサポート強化

生成する DNS ネットワークゾーンで、より標準的な SOA レコードが生成されるようになりました。これには、最初に構成された DNS サーバーをプライマリー DNS サーバーとして利用することや、ゾーン内の連絡先フィールドをカスタマイズする新たな dns.contact 設定オプションの導入が含まれます。

ドキュメント : https://linuxcontainers.org/incus/docs/main/howto/network_zones/

API での強制(再帰的)ファイル削除機能のサポート

Incus では、インスタンスとカスタムボリューム内のファイルへのアクセスのために、2 つの異なる API をサポートしています。
最新のクライアントは、より新しい SFTP ベースの API を利用しており、これにより非常に色々なファイルシステム操作ができます。一方、よりシンプルで従来型のクライアントは、ファイル操作に基本的な REST API を使用しています。

SFTP では簡単に利用できるものの、REST API では利用できない機能に、ファイルシステムツリーの強制削除機能がありました。これは実質的には再帰的な削除処理を実行します。

SFTP を使用しないユーザーがより簡単に操作できるよう、DELETE 操作用に、新たに X-Incus-force HTTP ヘッダーを導入しました。このヘッダーは、incus file delete -f 操作と同様に、サーバーサイドで再帰的な削除を実行します。

すべての変更点

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

すべてのChangeLogを見る
  • doc/openfga: Improve required config keys
  • incusd/network/ovn: Drop now obsolete DNS check
  • incusd/storage/truenas: fix SetVolumeQuota issue when growing FS volumes
  • cmd/incus-user: Don't reset setup if user has access
  • api: oidc_allowed_subnets
  • incusd/auth/oidc: Introduce incus.restricted_subnets
  • doc/authentication: Mentioned incus.allowed_subnets claim
  • internal/instance: Tweak handling of boot.autostart
  • doc: Update configs
  • incusd/instances: Support last-state value for boot.autostart
  • incusd/network/physical: Allow parent re-use for bridges
  • Translated using Weblate (Italian)
  • Translated using Weblate (Italian)
  • Translated using Weblate (Swedish)
  • Translated using Weblate (Swedish)
  • Translated using Weblate (Tamil)
  • Translated using Weblate (Dutch)
  • Translated using Weblate (Dutch)
  • Translated using Weblate (Chinese (Traditional Han script))
  • Translated using Weblate (Chinese (Traditional Han script))
  • Translated using Weblate (Spanish)
  • Translated using Weblate (Spanish)
  • Translated using Weblate (German)
  • Translated using Weblate (German)
  • Translated using Weblate (German)
  • Translated using Weblate (German)
  • Translated using Weblate (German)
  • Translated using Weblate (Portuguese (Brazil))
  • Translated using Weblate (Portuguese (Brazil))
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (Indonesian)
  • Translated using Weblate (Indonesian)
  • Translated using Weblate (Norwegian Bokmål)
  • Translated using Weblate (Norwegian Bokmål)
  • Translated using Weblate (Russian)
  • Translated using Weblate (Portuguese)
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Portuguese)
  • incusd/network/physical: Allow vlan.tagged
  • incusd/device: Add vlan.tagged to physical NICs
  • doc: Update configs
  • incusd/device/nic_physical: Fix internal bridge handling
  • incusd: Add X-Incus-force header for file operations
  • doc/rest-api: Refresh swagger YAML
  • api: file_delete_force
  • doc/network_ovn: Add note about advanced external_interfaces syntax
  • incusd: Parallelize instance startup on daemon start
  • incusd/instance/drivers: Add size parameter to UpdateBlockSize method
  • incusd/storage/drivers: Export roundAbove function
  • incusd/storage/drivers: Add Qcow2Resize and export isQcow2Block function
  • Translated using Weblate (Swedish)
  • incusd/storage: Add support for resizing qcow2 volumes
  • generate-database: Respect "primary" config for Identifier in mappings
  • Added a few more environment variables. PATHEXT and COMPUTERNAME were needed for 'shutdown.exe'. Meanwhile, I've connected as SYSTEM with PsExec to show the environment variables by default and added them.
  • Add pires/go-proxyproto
  • internal/server/endpoints/listeners: Use new proxyproto package
  • generate-database: fix import type for association tables
  • incusd/instance/drivers: Fix adding disk with a device name longer than 31 bytes
  • incusd/instance/drivers: Add tests for hashName
  • shared/validate: Don't allow $ in API names
  • Translated using Weblate (Japanese)
  • shared/util: Add SingleQuote
  • incusd/instance/lxc: Use SingleQuote instead of Quote
  • incusd/device/disk: Use isRequired
  • incusd/device/disk: Move check for attached property
  • incusd/device/disk: Handle required=false on custom volumes
  • incusd/api_internal: Block instance hooks until daemon is ready
  • incusd/instance_console: Align cleanup logic with exec
  • incusd: pass firmware opt from device/pci to instance/qemu
  • incusd/device: Move reusable code into getNumaNodeSet helper
  • incusd/network: Add SRIOVCountFreeVirtualFunctions
  • incusd/device: Add support for nic SR-IOV selection by vendorid, productid and pci
  • doc: Update configs
  • api: Add 'nic_sriov_select_ext' extension
  • incusd/storage/drivers: Allow setting 'vg_name' for non-clustered LVM during init
  • doc: Fix build failure
  • incus: Implement "incus wait"
  • i18n: Update translation templates
  • internal/instance: Prevent line breaks in environment variables
  • incusd/instance/drivers: Rename hashName to hashValue
  • incusd/instance/drivers: Hash serial value if it exceeds the maximum length
  • doc/linstor: Add documentation for source parameter.
  • doc: Update configs
  • incusd/network/bridge: Skip dnsmasq on non-routed IPv6
  • Update Rocky Linux instructions
  • incusd/network/zone: Use the standard SOA format
  • incusd/network/zone: Allow setting DNS admin contact
  • doc: Update configs
  • api: network_zones_dns_contact
  • Translated using Weblate (Portuguese)
  • incusd/network: Remove automatic increasing of SR-IOV VF count
  • doc: Add warning about long device names
  • incusd/device/nic: Add attached configuration key
  • incusd/device/nic: Add connected configuration key
  • incusd/instance/qemu: Properly update detached devices
  • incusd/instance/lxc: Properly update detached devices
  • incusd/device/nic_ovn: Factor common options
  • incusd/device/nic_p2p: Fix boot.priority spelling in gendoc
  • incusd/instance/qemu: Implement NIC connected config key
  • incusd/ip/link: Relax parent detection logic
  • incusd/instance/lxc: Implement NIC connected config key
  • api: nic_attached_connected
  • doc: Update config
  • incusd/instance/lxc: Restrict path of template files and targets
  • tests: Add NIC tests for attached and connected keys
  • Makefile: Bump to Go 1.24.12
  • gomod: Update dependencies
  • mini-oidc: Update for newer Zitadel
  • incusd/cluster: Skip first re-balance
  • incusd/auth/tls: Fix handling of GetPermissionChecker
  • incusd/instance: Report clear error on concurent migrations

ドキュメント

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.21.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

Incus 6.20 リリースのお知らせ

2025/12/19

はじめに

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

このリリースは 2025 年の最後のリリースであり、休暇の真っ最中にリリースされることがないように、短めの開発サイクルになっています。

image|690x383

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

Enjoy!

新機能

クラスター化 LVM 上の QCOW2 フォーマットのボリューム

LVM クラスター上の Incus の実装における厄介な制限は、VM スナップショットが、すべての LVM バージョンで確実に動作しないということでした。

新しい LVM バージョンでは、アクティベーションモードの制限が導入され、共有ロックモードが使えなくなり、ライブマイグレーションが実行できなくなっていました。

Incus 6.18 では、クラスター化 LVM 上で実行されているすべてのブロックボリュームのスナップショットを事実上オフにすることで、一貫したユーザーエクスペリエンスを実現し、ユーザーがオペレーションシステムを新しいメジャーバージョンにアップグレードする際の問題を回避しました。

Incus では、ついにクラスター化 LVM でのスナップショットの新しいソリューションを実装しました。このソリューションでは、LV に標準の RAW フォーマットではなく、QCOW2 フォーマットを使用します。これにより、LVM LV の構成をマニュアルで扱い、正しい VM 状態に至るスナップショットチェーンを作成できるようになります。

新しいフォーマットは、新しい VM で自動的に使われます。既存の VM は RAW ディスクフォーマットのままであるため、スナップショットはサポートされません。インスタンスを別のストレージプールに移動させ、その後もとに戻すことで、QCOW2 に変換できます。

ドキュメント : https://linuxcontainers.org/incus/docs/main/reference/storage_lvm/

スタンドアローンの incus cluster join コマンド

この機能は IncusOS 由来の機能で、Incus とのすべてのやりとりは Incus コマンドラインまたは UI を使ってリモートで実行する必要があります。ユーザーは incus cluster enable を使って、リモートから新しいクラスターを初期化できましたが、追加で IncusOS サーバーをそのクラスターに参加させるのはかなり困難でした。

この作業を可能な限り簡単にするため、新たに incus cluster join コマンドが追加されました。このコマンドは、既存のクラスターと参加するサーバーの両方を引数として指定します。そして、サーバーがクラスターに参加できるように incus admin init コマンドと同様な質問が表示されます。

stgraber@castiana:~$ incus cluster join incus01: incus02:
What IP address or DNS name should be used to reach this server? [default=10.244.64.185]:·
What member name should be used to identify this server in the cluster? [default=eb7bbd3f-d385-4a06-919f-d66a7c52b058]: incus02
All existing data is lost when joining a cluster, continue? (yes/no) [default=no] yes
Choose "source" property for storage pool "local": local/incus
Choose "zfs.pool_name" property for storage pool "local": local/incus

stgraber@castiana:~$ incus cluster list incus01:
+---------+----------------------------+------------------+--------------+----------------+-------------+--------+-------------------+
|  NAME   |            URL             |      ROLES       | ARCHITECTURE | FAILURE DOMAIN | DESCRIPTION | STATUS |      MESSAGE      |
+---------+----------------------------+------------------+--------------+----------------+-------------+--------+-------------------+
| incus01 | https://10.244.64.183:8443 | database-leader  | x86_64       | default        |             | ONLINE | Fully operational |
|         |                            | database         |              |                |             |        |                   |
+---------+----------------------------+------------------+--------------+----------------+-------------+--------+-------------------+
| incus02 | https://10.244.64.185:8443 | database-standby | x86_64       | default        |             | ONLINE | Fully operational |
+---------+----------------------------+------------------+--------------+----------------+-------------+--------+-------------------+

stgraber@castiana:~$ incus cluster join incus01: incus03:
What IP address or DNS name should be used to reach this server? [default=10.244.64.60]:·
What member name should be used to identify this server in the cluster? [default=ef50a39f-289d-46c4-989f-9466f8f8ae58]: incus03
All existing data is lost when joining a cluster, continue? (yes/no) [default=no] yes
Choose "source" property for storage pool "local": local/incus
Choose "zfs.pool_name" property for storage pool "local": local/incus

stgraber@castiana:~$ incus cluster list incus01:
+---------+----------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
|  NAME   |            URL             |      ROLES      | ARCHITECTURE | FAILURE DOMAIN | DESCRIPTION | STATUS |      MESSAGE      |
+---------+----------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
| incus01 | https://10.244.64.183:8443 | database-leader | x86_64       | default        |             | ONLINE | Fully operational |
|         |                            | database        |              |                |             |        |                   |
+---------+----------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
| incus02 | https://10.244.64.185:8443 | database        | x86_64       | default        |             | ONLINE | Fully operational |
+---------+----------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
| incus03 | https://10.244.64.60:8443  | database        | x86_64       | default        |             | ONLINE | Fully operational |
+---------+----------------------------+-----------------+--------------+----------------+-------------+--------+-------------------+
stgraber@castiana:~$

VM エージェントの設定ファイル

Incus エージェントを通して実行できるアクションの種類が制限できるようになりました。これは、有効な機能をリストしたシステム設定ファイルを通して行います。ファイルが存在し、機能リストが存在する場合、明示的に有効化されない限り、すべての機能が無効化されます。

ドキュメント : https://linuxcontainers.org/incus/docs/main/howto/instances_create/#configure-the-incus-agent

Reverse DNS records in OVN

非常に小さな機能ですが、非常に役立つ機能の追加です。OVN で実行しているすべてのインスタンスで、そのインスタンスのアドレスに対して DNS の正引きと逆引きレコードの両方が生成されるようになりました。

stgraber@castiana:~ (incus:dev-cluster/default)$ incus list c
+------+---------+--------------------+-----------------------------------------------+-----------+-----------+----------+
| NAME |  STATE  |        IPV4        |                     IPV6                      |   TYPE    | SNAPSHOTS | LOCATION |
+------+---------+--------------------+-----------------------------------------------+-----------+-----------+----------+
| c1   | RUNNING | 10.20.162.2 (eth0) | fd42:e9ac:c3e5:65f:1266:6aff:fef6:b217 (eth0) | CONTAINER | 0         | incus01  |
+------+---------+--------------------+-----------------------------------------------+-----------+-----------+----------+
| c2   | RUNNING | 10.20.162.3 (eth0) | fd42:e9ac:c3e5:65f:1266:6aff:fea4:5936 (eth0) | CONTAINER | 0         | incus02  |
+------+---------+--------------------+-----------------------------------------------+-----------+-----------+----------+
stgraber@castiana:~ (incus:dev-cluster/default)$ incus exec c1 bash
root@c1:~# host c2.incus
c2.incus has address 10.20.162.3
c2.incus has IPv6 address fd42:e9ac:c3e5:65f:1266:6aff:fea4:5936
Host c2.incus not found: 3(NXDOMAIN)
Host c2.incus not found: 3(NXDOMAIN)
root@c1:~# host 10.20.162.3
3.162.20.10.in-addr.arpa domain name pointer c2.incus.
root@c1:~# host fd42:e9ac:c3e5:65f:1266:6aff:fea4:5936
6.3.9.5.4.a.e.f.f.f.a.6.6.6.2.1.f.5.6.0.5.e.3.c.c.a.9.e.2.4.d.f.ip6.arpa domain name pointer c2.incus.
root@c1:~#

すべての変更点

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

すべてのChangeLogを見る
  • Translated using Weblate (Portuguese)
  • agent-loader/install-linux.sh Fix SELinux issue with agent run path
  • incusd/device/nic: Fix link to instances-limit-units
  • doc: fix instances-limit-units reference links
  • Added default environment variables for the Windows agent.
  • instance/drivers/driver_common: Fix cat order bug in selinuxContext()
  • Added translation using Weblate (Swedish)
  • Translated using Weblate (Swedish)
  • Translated using Weblate (Swedish)
  • incusd/instance/lxc: Generate a stable MAC for managed physical bridged networks
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Swedish)
  • Added new Windows environment variable 'SystemDrive'
  • incus/create: Allow reading Ephemeral flag from stdin
  • incusd/device/nic_physical: Fix VLAN for VMs
  • Translated using Weblate (Swedish)
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Japanese)
  • incusd/network/bridge: Don't listen for incoming RAs
  • incusd/network/zone: Allow trailing dot in NS records
  • incusd/device/physical: Allow live-migration of bridged physical NICs
  • shared/tls: Move ACME challenge to shared/tls
  • internal/server/acme: Update certificate renewal call
  • incusd/instance/qemu: Don't attempt agent connections on frozen VMs
  • incusd/instance/qemu: Rework state reporting
  • Translated using Weblate (Chinese (Simplified Han script))
  • incusd/operations: Return a copy of the metadata to avoid concurrent access
  • Attempt to make the Incus Agent on Windows better integrated.
  • incusd/instance/qemu: Fix regression in reported state
  • Translated using Weblate (Japanese)
  • gomod: Update dependencies
  • gomod: Get latest umoci
  • build(deps): bump actions/upload-artifact from 5 to 6
  • incus/io: #2636 fix linter complaints in internal/io
  • generate-database: Allow overwriting the target column for a join
  • incusd/storage_volumes: Fix state handling in getVolumeFull
  • internal/jmap: Refactor Map methods and add comprehensive tests
  • shared/tls: implement Happy Eyeballs (RFC 8305) in RFC3493Dialer
  • incusd/devices/tpm: Make incompatible with live-migration
  • incus/util: #2636 fix linter complaints in internal/filter
  • incus/network_load_balancer: Fix typo in cmd info description
  • i18n: Update translation templates
  • api: Add storage_lvmcluster_qcow2 extension
  • incusd/storage/drivers: Add utils for qcow2 manipulation
  • incusd/instance/drivers: Add qcow2 block device utility functions
  • incusd/storage/drivers: Add 'block.type' config and additional validation checks
  • incusd/storage: Implement the creation of qcow2 formatted volumes when on lvmcluster
  • incusd/instance/drivers/qmp: Add QueryNamedBlockNodes and ChangeBackingFile
  • incusd/storage/drivers: Add support for activating and deactivating qcow2-formatted volumes
  • incusd/storage/drivers: Add support for the qcow2 config filesystem snapshots
  • incusd/storage/drivers: Add support for creating and renaming qcow2 volume snapshots
  • incusd/storage/drivers: Add GetQcow2BackingFilePath and Qcow2DeletionCleanup
  • incusd/device/config: Add 'BackingPath' to track backing chain for qcow2 volumes
  • incusd/storage: Add 'BackingPath' to track backing chain for qcow2 volumes
  • incusd/storage: Add support for creating, renaming, restoring and deleting qcow2 instance volumes
  • incusd/instance/drivers: Add support for running instances from a backing chain
  • incusd/instance: Add support for creating/deleting qcow2 snapshots while instance is running
  • incusd/storage/drivers: Show config filesystem only for FS volumes
  • incusd/storage/lvmcluster: Fix activation for containers
  • incusd/storage/lvm: Fix handling of stripe size config
  • incusd/storage/lvmcluster: Set block.filesystem to btrfs
  • incusd/storage: Don't add new volume options on snapshot
  • incusd/storage/drivers/types: Fix gofumpt
  • doc: Update metadata
  • incusd/cluster: Add missing project handling to ConnectIfVolumeIsRemote
  • incusd/storage_volumes: Handle remote volumes in recursion=2
  • incusd/storage/lvm: Fix incorrect activation mode
  • incus/storage: Take project into account during qcow2 operation
  • shared/api: add comprehensive unit tests for URL builder
  • Translated using Weblate (Portuguese)
  • incus/admin/init: Prepare code for adding initialized server to cluster
  • incus/cluster: Add 'cluster join' command
  • i18n: Update translation templates
  • incus-agent: Code cleanup
  • incus-agent: Add OS config path
  • incus-agent: Add system configuration support
  • incus-agent: Add feature checks
  • doc/instances: Cover incus-agent configuration
  • doc/bpf-tokens: Fix markdown
  • gomod: Update dependencies
  • incus/file: Improve error messages
  • i18n: Update translation templates
  • doc/network/firewall: Remove warning against IP forward and Docker
  • incusd/storage: Generate a clean backup.yaml after a backup is generated
  • incusd/api_buckets: Provide fastpath for miniod access
  • incusd: Move ReverseDNS to util
  • incusd/network/ovn: Set PTR records
  • doc/openfga: Clarify required config keys
  • incusd/storage/linstor: Disable volume copie with snapshots
  • tests: Update tests for Linstor limitation

ドキュメント

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.20.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

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

Incus 6.18 リリースのお知らせ

2025/10/31

はじめに

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

このリリースは、かなり盛りだくさんのリリースであり、Incus のあらゆる場所でかなりの数の小さなリリースがあるため、誰にとっても何か関係することがあるはずです。

image|690x259

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

Enjoy!

新機能

systemd クレデンシャル

新しい設定キーが 2 つ利用可能になりました。これは、systemd のクレデンシャルメカニズムを通して、コンテナや VM 内の systemd にデータを簡単に提供できるようになりました。

これは、systemd.credential.XYZsystemd.credential-binary.XYZ です。前者は単純な文字列を渡すための設定、後者は base64 エンコードされたバイナリデータを渡すことをサポートします。

stgraber@dakara:~$ incus create images:debian/13 c1
Creating c1
stgraber@dakara:~$ incus create images:debian/13 v1 --vm
Creating v1
stgraber@dakara:~$ incus config set c1 systemd.credential.foo=bar
stgraber@dakara:~$ incus config set v1 systemd.credential.foo=bar
stgraber@dakara:~$ incus start c1 v1
stgraber@dakara:~$ incus exec c1 -- systemd-creds --system cat foo
bar
stgraber@dakara:~$ incus exec v1 -- systemd-creds --system cat foo
bar

ストレージボリュームのファイル操作

Incus 6.13 では、カスタムストレージボリューム上で初期の SFTP 操作が導入されました。

この機能を使い、インスタンスで利用できる操作と同じ一連のファイル操作をストレージボリュームに対しても提供できるようにしています。

stgraber@dakara:~$ incus storage volume file
Usage:
  incus storage volume file [flags]
  incus storage volume file [command]

Available Commands:
  create      Create files and directories in custom vollume
  delete      Delete files in custom volume
  edit        Edit files in storage volumes
  mount       Mount files from custom storage volumes
  pull        Pull files from custom volumes
  push        Push files into custom volumes

ISO ボリュームのエクスポート

ISO ストレージボリュームは、作成ができず、incus storage volume import を通してのみインポートできるものの、エクスポートして戻すこともできない、少し奇妙な状況でした。

この状況は修正され、incus storage volume export コマンドで Incus から ISO を取得できるようになりました。

stgraber@dakara:~$ incus storage volume export default virtio-drivers
Backup exported successfully!         
stgraber@dakara:~$ file virtio-drivers.iso 
virtio-drivers.iso: ISO 9660 CD-ROM filesystem data 'virtio-win-0.1.271'

BPF トークン委任

Incus は、BPF トークンを通した、いくつかの BPF ケーパビリティの委任をサポートするようになりました。

この機能は、委任されたコマンド、マップ、プログラムをリストできる、一連の security.bpffs 設定キーを通して実装されます。

ドキュメント : https://linuxcontainers.org/incus/docs/main/explanation/bpf-tokens/

Incus エージェントの macOS サポート

Incus は、徐々に x86 プラットフォーム上で macOS を実行する能力を向上させています。
これを達成する方法の詳細はこちらをご覧ください: https://github.com/macOS-on-Incus

しかし、今回の Incus リリースにおけるエキサイティングな開発の 1 つは、Incus エージェントが macOS 上でビルド・実行できるようになったことです。つまり、Incus エージェントは、Linux、Windows、macOS で動作するようになりましたが、機能は若干異なります。

macOS の場合、完全なコマンド実行(対話型と非対話型)、ファイル転送、さらに共有ストレージ(9p 使用)のパススルー機能も備えています。エージェントはほとんどのシステム情報を Incus に報告できます。

エージェントをインストールするには、image.osMacOS に設定されていることを確認し、macOS インストール内から config 9p ドライブをマウントし、そこからエージェントを起動できるようになります。

VM の VirtIO サウンドカード

少し前に QEMU に VirtIO サウンドカードタイプが追加され、デフォルトのデバイスセットに追加されました。ただし、このデバイスはマイグレーション可能なデバイスではないので、ライブマイグレーションが無効になっているデバイスでは、このデバイスが存在しないことに注意してください。

仮想サウンドカードは SPICE に接続されているため、デスクトップサウンドを VGA コンソール経由で送り返すことができます。

現在、Windows にはこのデバイスのためのドライバーがないため、現時点では Linux ユーザーにとって役に立つ機能です。

USB デバイスを削除せずにデタッチする機能のサポート

USB デバイスをゲストから切断した状態でも VM 構成に保持できるようになりました。これは、attached プロパティーを false に設定することで実現できます。

stgraber@dakara:~$ incus config device set v1 usb0 attached=false

OVN ネットワークの dns.mode

従来のブリッジと同様に、dns.mode プロパティを設定することで、OVN ネットワーク上の組み込み DNS レコードを無効化できるようになりました。

root@server01:~# incus network set default dns.mode=none
root@server01:~#

設定可能な MAC アドレスパターン


MAC アドレスのパターンをグローバルにもプロジェクトごとにも調整できるようになりました。
これにより、独自の MAC アドレス割り当てを購入した組織は、デフォルトの Zabbly のレンジではなく、組織の MAC アドレスを使うことができます。

変更すると、新しいパターンは新しく作成されたすべてのネットワークとインスタンスに適用されます。

stgraber@dakara:~$ incus launch images:debian/13 c1
Launching c1
stgraber@dakara:~$ incus info c1 | grep MAC
      MAC address: 10:66:6a:d6:80:3b
stgraber@dakara:~$ incus config set network.hwaddr_pattern 00:16:3e:xx:xx:xx
stgraber@dakara:~$ incus launch images:debian/13 c2
Launching c2
stgraber@dakara:~$ incus info c2 | grep MAC
      MAC address: 00:16:3e:a4:54:24

拡張された IncusOS CLI

incus admin os で使う IncusOS CLI は Incus CLI に完全なクライアントを実装するのではなく、IncusOS リポジトリーから直接取得したロジックを使うように作り直しました。

その一環として、サーバーのシャットダウンや再起動から TPM やストレージ固有のアクションに至るまで、すべての API アクションが CLI で公開されるように機能を充実させました。

stgraber@dakara:~$ incus admin os system
WARNING: The IncusOS API and configuration is subject to change

Usage:
  incus admin os system [flags]
  incus admin os system [command]

Available Commands:
  backup                        Backup the system
  check-update                  Check for updates
  delete-storage-pool           Delete the storage pool
  edit                          Edit system configuration
  factory-reset                 Factory reset the system
  import-storage-encryption-key Import the storage encryption key
  list                          List system configuration sections
  poweroff                      Power off the system
  reboot                        Reboot the system
  restore                       Restore a system backup
  show                          Show system configuration details
  tpm-rebind                    Rebind the TPM (after using recovery key)
  wipe-drive                    Wipe the drive

次のリリースでは、もう少し構造を再構築する予定です。その時点で、IncusOS の CLI はもう少し安定するはずです。

すべての変更点

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

すべてのChangeLogを見る
  • api: Add ConfigMap type to better support unmarshaling numbers and bools to map[string]string
  • api: Use ConfigMap type for map[string]string
  • api: Handle pre initialized targed ConfigMap (default values)
  • filter: Add support for api.ConfigMap
  • server: Fix test with api.ConfigMap
  • doc/rest-api: Refresh swagger YAML
  • golangci-lint: Do not require period in Example comments
  • doc: Add description for database-client role
  • incusd/network/driver: Add support for dns.mode to OVN network
  • incusd/network/ovn: Destroy DNS entry in CleanupLogicalSwitchPort
  • doc: Update config
  • doc: Change command to snapshot delete
  • incusd: Use 'Patch' method for PATCH requests
  • internal/server: Add tables on sql dump
  • incusd: Add tables on sql dump
  • incus/admin/sql: Add tables on sql dump
  • i18n: Update translation templates
  • incus/admin/os: Update for current API prefix
  • Translated using Weblate (Portuguese)
  • Fixed grammar in README.md
  • incus: Add a date format with second granularity
  • incus/admin/os: Improve debug log command
  • i18n: Update translation templates
  • incusd/cluster: Don't use proxy when joining
  • incusd/device/usb: Add attached configuration key
  • doc: Update metadata
  • doc: Remove outdated warning
  • incusd/device/disk: Remove dead code
  • api: usb_attached
  • incusd/storage: Generalize InstanceTarWriter
  • incusd/instancewriter: Add raw instance writer
  • incusd/storage: Add ISO volume export
  • incus: Handle ISO export
  • test: Incus now allows ISO export
  • incusd/storage/generic: Use proper custom volume size for backup if possible
  • i18n: Update translation templates
  • api: backup_iso
  • incusd/metrics: Always include internal metrics
  • incusd/auth: log the error if getting the oidc provider fails
  • Fix file push cmd help typo
  • i18n: Update translation templates
  • incusd/instance/qemu: Remove attached attribute handling for disks
  • incusd/device/disk: Handle attached attribute early
  • incusd/server/drivers: Add gendoc for storage config keys
  • doc: Include doc for storage configuration from config_options.txt file
  • doc: Update metadata
  • incusd/storage/lvm: Clarify doc strings
  • incusd/storage: Don't skip zeroes on qcow2 unpack to LVM
  • incusd/device: Fix gofumpt
  • doc: Update config
  • Update translations from Weblate
  • incusd/network/ovn: Check the correct config on uplink validation
  • incusd/instance/qemu: Add support for SPICE audio
  • incusd/console: Close remote connection on console disconnect
  • Translated using Weblate (Portuguese)
  • shared/resources: Fix caching mechanism
  • shared/validate: Add IsBase64
  • incusd/instance/config: Add systemd.credential. and systemd.credential-binary.
  • incusd/instance/qemu: Add support for systemd credentials through SMBIOS-11
  • incusd/instance/lxc: Add support for systemd credentials through CREDENTIALS_DIRECTORY
  • incusd/instance/lxc: Allow live-updating systemd credentials
  • doc: Update configs
  • incus-agent: Pass more information to osUmount
  • api: instance_systemd_credentials
  • doc/wordlist: Update wordlist
  • test: Add tests for systemd keys
  • incusd/cluster: Disable proxy during cluster join
  • gomod: Add gopsutil
  • agent/darwin: Initial darwin agent implementation
  • doc: Kubernetes and ClusterAPI integration
  • doc: Add API to wordlist
  • github: Re-enable LINSTOR tests
  • internal/server/network: Update libovsdb import path
  • Makefile: Update libovsdb command URL
  • go.mod: Update libovsdb import path
  • internal/server/network/ovn/schema: Update generated schema
  • incus-agent/darwin: Split non-darwin-specific logic
  • incus-agent/windows: Feature parity with Darwin
  • test/mini-oidc: Clarify usage in README.md
  • test/mini-oidc: Extract logic from main
  • test/mini-oidc: Add RunTest for usage in tests
  • test/mini-oidc: Move user file to global var
  • test/mini-oidc: Make linter happy
  • test/mini-oidc: Make poll interval configurable in tests
  • test/mini-oidc: Allow setting expiration for tokens
  • test/mini-oidc: Make linter happy
  • test/mini-oidc: Fix missing support for device control flow
  • incus/admin/os: Add system list command
  • shared/cmd: Move from internal/cmd
  • cmd: Update for shared/cmd
  • incus: Use cli.CheckArgs
  • incus-simplestreams: Use cli.CheckArgs
  • shared/cmd: Add CheckArgs
  • shared/cmd: Add Usage
  • incus: Use cli.Usage
  • shared/cmd: Add TextEditor
  • cmd: Use cli.TextEditor
  • i18n: Update translation templates
  • incus: Switch to shared IncusOS CLI
  • gomod: Update dependencies
  • i18n: Update translation templates
  • incusd: Use ExtendMetadata when possible
  • incusd/instance/qmp: Better protect against write after close
  • doc/rest-api: Refresh swagger YAML
  • Update translations from weblate
  • shared/api: Add 'UsedBy' field to 'ClusterGroup' struct
  • incusd/db: Add 'GetClusterGroupMemberInstances' and check cluster group member usage
  • incusd: Check if cluster group is in use
  • api: Add cluster_group_usedby extension
  • doc/rest-api: Refresh swagger YAML
  • api: Add bpf_token_delegation extension
  • incusd/main_forkbpf: Create forkbpf helper for bpf token delegation.
  • incusd/instance: Add bpf token delegation feature.
  • doc: Update configs
  • doc: Add documentation for bpf token delegation
  • incusd/project: Require lowlevel access for bpffs options
  • tests: Add test for bpf token delegation
  • codespell: Allow attachs (bpffs mount option)
  • incusd/instance: Add GuestOS
  • incusd/device/disk: Rework OS and architecture detection
  • incus-agent/darwin: Implement interactive console
  • incusd/instance/qemu: Add Darwin agent files
  • incus-agent/darwin: Fix typo in comment
  • doc/instance/create: Add details for macOS
  • incusd/network: Check if target_address in forward is a broadcast address of the networks subnet
  • incusd/network: Check if target_address in forward is the networkID of the networks subnet
  • incusd/network: Add doc comment to function; Rename variable to avoid shadowing
  • incusd/network: Make linter happy
  • make: check if run-parts is installed
  • Translated using Weblate (English)
  • Translated using Weblate (German)
  • Translated using Weblate (German)
  • Translated using Weblate (German)
  • Translated using Weblate (German)
  • Translated using Weblate (German)
  • Translated using Weblate (Spanish)
  • Translated using Weblate (Spanish)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (French)
  • Translated using Weblate (Italian)
  • Translated using Weblate (Italian)
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Japanese)
  • Translated using Weblate (Dutch)
  • Translated using Weblate (Dutch)
  • Translated using Weblate (Portuguese (Brazil))
  • Translated using Weblate (Portuguese (Brazil))
  • Translated using Weblate (Russian)
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Chinese (Simplified Han script))
  • Translated using Weblate (Portuguese)
  • Translated using Weblate (Norwegian Bokmål)
  • Translated using Weblate (Norwegian Bokmål)
  • Translated using Weblate (Indonesian)
  • Translated using Weblate (Indonesian)
  • Translated using Weblate (Chinese (Traditional Han script))
  • Translated using Weblate (Chinese (Traditional Han script))
  • Translated using Weblate (Tamil)
  • i18n: Update translation templates
  • gomod: Refresh for latest IncusOS CLI
  • incusd/instance/lxc: Fix handling of credentials on existing instances
  • incusd/instance/lxc: Don't apply credentials update on stopped containers
  • incusd/auth: Reorder 'EntitlementCanAccessFiles' and 'EntitlementCanConnectSFTP' for clarity
  • shared/api: Add lifecycle events for storage volume files management
  • incusd/lifecycle: Add lifecycle events for storage volume files management
  • incusd/storage: Add support for creating SFTP server for storage volume using forkfile
  • incusd: Extract helper function for reuse by storage volumes
  • incusd: Add support for file management in storage volumes
  • incus/file: Extract helper function for reuse by storage volumes
  • incus/storage_volumes: Add support for file management in storage volumes
  • client: Add support for file management in storage volumes
  • tests: Add tests for storage volume files manipulation
  • api: Add 'file_storage_volume' extension
  • doc/rest-api: Refresh swagger YAML
  • i18n: Update translation templates
  • shared/osarch: Add aliases for the various x86_64 versions
  • incus/export: Quiesce output when writing to stdout
  • i18n: Update translation templates
  • build(deps): bump actions/upload-artifact from 4 to 5
  • server/operations: Remove project name from operations executed on other nodes
  • incusd: Remove remaining project remnants from operations
  • shared/validate: Add IsMACPattern
  • incusd/config: Add MAC address pattern key
  • incusd/project: Add MAC address pattern key
  • go.mod: Update github.com/lxc/incus-os/incus-osd
  • incus: Support remotes for "admin os" commands
  • doc: Update configs
  • incusd/instance: Allow customizing MAC address patterns
  • incusd/device: Allow customizing MAC address patterns
  • incusd/network: Allow customizing MAC address patterns
  • api: network_hwaddr_pattern
  • test: Add network.hwaddr_pattern tests
  • incus/file/pull: Respect target name for symlinks
  • incus/file/pull: Allow reading symlink content to stdout
  • incus/file/push: Keep remote owner/mode when present and not overriden
  • incusd/network/ovn: Fix failure on device stop for networks without uplink
  • incusd/network/common: Handle parent field in State
  • doc/clustering: Cover CPU baseline calculation
  • i18n: Update translations from weblate
  • doc/instances: clarify VM definition with abbreviation
  • incusd/network/macvlan: Bring up parent interface and check existence on update
  • incusd/network/macvlan: Please the static analyzer
  • gomod: Update dependencies
  • incusd/storage/drivers/lvmcluster: Restrict snapshotting

ドキュメント

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.18.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

以前のニュース