動作環境

Go

Incus は Go 1.25 以上を必要とし、Go 言語のコンパイラのみでテストされています。

ビルドには最低 2GB の RAM を推奨します。

必要なカーネルバージョン

サポートされる最小のカーネルバージョンは 6.12 です。

Incus には以下の機能をサポートするカーネルが必要です。

  • Control Groups (blkiocpusetdevicesfreezermemorypids

  • Namespaces (cgroupipcpidmountnetuseruts

  • Seccomp

  • Native Linux AIO (io_setup(2)など)

以下のオプションの機能はさらなるカーネルオプションを必要とします。

  • AppArmor

  • CRIU (正確な詳細は CRIU のアップストリームを参照のこと)

  • SELinux

さらに使用している Incus のバージョンで必要とされるほかのカーネルの機能も必要です。

LXC

Incus は以下のビルドオプションでビルドされた LXC 6.0.0 以上を必要とします。

  • apparmor (もし Incus の AppArmor サポートを使用するのであれば)(最低バージョン:3.0.0)

  • seccomp

  • selinux (もし Incus の SELinux サポートを使用するのであれば)

コンテナ内のリソース消費を適切にレポートするために、LXCFSのインストールを強く推奨します。

OCI

OCIコンテナを動かすには、レジストリとのやり取りのためにIncusは現状ではskopeoに依存しています。

QEMU

仮想マシンを利用するには QEMU 8.2 以降が必要です。

virtiofsdを使用する場合、virtiofsdRustでのリライトのみサポートされます。

ネットワーク

ネットワークに関するツールの最小バージョンは以下のとおりです:

  • nftables: 1.0.0

  • dnsmasq: 2.90

IncusでOVNネットワークを使う際に必要なOVSとOVNの最小バージョンは以下のとおりです:

  • openvswitch: 2.15.0

  • ovn: 23.03.0

ストレージ

ストレージドライバーの最小バージョンは以下のとおりです:

  • zfs: 2.1.0

  • lvm: 2.03.11

  • linstor-drbd: 9.0

  • truenas-incus-ctl: 0.7.7

追加のライブラリ(と開発用のヘッダ)

Incus はデータベースとしてcowsqlを使用しています。 ビルドしセットアップするためにはmake depsを実行してください。

Incus はほかにもいくつかの (たいていはパッケージ化されている)C ライブラリを使用しています。

  • libacl1

  • libcap2

  • libuv1cowsqlで使用)

  • libsqlite3 >= 3.25.0(cowsqlで使用)

ライブラリそのものとライブラリの開発用ヘッダ (-dev パッケージ)のすべてをインストールしたことを確認してください。