動作環境#
LXD は Go 1.18 以上を必要とし、 golang のコンパイラのみでテストされています。 (訳注: 以前は gccgo もサポートされていましたが golang のみになりました)
ビルドには最低 2GB の RAM を推奨します。
必要なカーネルバージョン#
サポートされる最小のカーネルバージョンは 5.4 です。
LXD には以下の機能をサポートするカーネルが必要です。
Namespaces (pid, net, uts, ipc と mount)
Seccomp
以下のオプションの機能はさらなるカーネルオプションを必要とします。
Namespaces (user と cgroup)
AppArmor (mount mediation に対する Ubuntu パッチを含む)
Control Groups (blkio, cpuset, devices, memory, pids と net_prio)
CRIU (正確な詳細は CRIU のアップストリームを参照のこと)
さらに使用している LXC のバージョンで必要とされる他のカーネルの機能も 必要です。
LXC#
LXD は以下のビルドオプションでビルドされた LXC 4.0.0 以上を必要とします。
apparmor (もし LXD の apparmor サポートを使用するのであれば)
seccomp
Ubuntu を含む、さまざまなディストリビューションの最近のバージョンを 動かすためには、 LXCFS もインストールする必要があります。
QEMU#
仮想マシンを利用するには QEMU 6.0 以降が必要です。
追加のライブラリー(と開発用のヘッダ)#
LXD はデータベースとして dqlite
を使用しています。
ビルドしセットアップするためには make deps
を実行してください。
LXD は他にもいくつかの (たいていはパッケージ化されている) C ライブラリーを使用しています。
libacl1
libcap2
liblz4 (
dqlite
で使用)libuv1 (
dqlite
で使用)libsqlite3 >= 3.25.0 (
dqlite
で使用)
ライブラリーそのものとライブラリーの開発用ヘッダ (-dev パッケージ)の全てを インストールしたことを確認してください。