需求

Go

Incus 需要 Go 1.22 或更高版本,并且仅在 Golang 编译器上测试过。

我们建议至少有 2GiB 的 RAM,以允许构建完成。

内核需求

支持的最低内核版本是 5.4。

Incus 需要具有以下支持的内核

  • 命名空间 (pid, net, uts, ipcmount)

  • Seccomp

  • 原生 Linux AIO (io_setup(2) 等)

以下可选功能也需要额外的内核选项

  • 命名空间 (usercgroup)

  • AppArmor(包括适用于挂载中介的 Ubuntu 补丁)

  • 控制组 (blkio, cpuset, devices, memorypids)

  • CRIU(确切的详细信息在 CRIU 上游中找到)

以及正在使用的 LXC 版本所需的任何其他内核功能。

LXC

Incus 需要 LXC 5.0.0 或更高版本,并具有以下构建选项

  • apparmor(如果使用 Incus 的 AppArmor 支持)

  • seccomp

要运行各种发行版的最新版本,包括 Ubuntu,还需要安装 LXCFS。

OCI

要运行 OCI 容器,Incus 目前依赖于 skopeoumoci。这两个工具都应该在用户的 PATH 中可用。

QEMU

对于虚拟机,需要 QEMU 6.0 或更高版本。

附加库(和开发头文件)

Incus 使用 cowsql 作为其数据库,要构建和设置它,可以运行 make deps

Incus 本身还使用了一些(通常是打包的)C 库

  • libacl1

  • libcap2

  • libuv1(用于 cowsql

  • libsqlite3 >= 3.25.0(用于 cowsql

确保已安装所有这些库本身及其开发头文件 (-dev 包)。