11# LXC
22
3- The [ Linux Containers project] ( https://linuxcontainers.org/ ) includes three
4- subprojects: [ LXC] ( https://linuxcontainers.org/lxc/introduction/ ) ,
5- [ LXD] ( https://linuxcontainers.org/lxd/introduction/ ) and
6- [ LXCFS] ( https://linuxcontainers.org/lxcfs/introduction/ ) . The project also
7- included the CGManager project, which has been deprecated in favor of the CGroup
8- namespace in recent kernels.
3+ The [ Linux Containers project] ( https://linuxcontainers.org/ ) includes four
4+ subprojects: [ Incus] ( https://linuxcontainers.org/incus/introduction/ ) ,
5+ [ LXC] ( https://linuxcontainers.org/lxc/introduction/ ) ,
6+ [ LXCFS] ( https://linuxcontainers.org/lxcfs/introduction/ ) and
7+ [ distrobuilder] ( https://linuxcontainers.org/distrobuilder/introduction/ ) .
8+
9+ The project also formerly included the CGManager and
10+ [ LXD] ( https://canonical.com/lxd ) projects. CGManager has been deprecated in
11+ favor of the CGroup namespace in recent kernels. LXD has become a Canonical
12+ project. Incus was forked from LXD to be a community driven alternative, and is
13+ oled and maintained by many of the original creators.
914
1015## Configuring LXC
1116
@@ -114,6 +119,40 @@ access to other containers. To isolate containers from each other, alter the
114119create each container. Trying to fix permissions on a container created with the
115120wrong map is possible, but inconvenient.
116121
122+ ## Incus
123+
124+ Incus provides an alternative interface to LXC's ` lxc-* ` utilities. However, it
125+ does not require the configuration described in [ the previous section] ( #lxc ) .
126+
127+ Edit ` /etc/rc.conf ` and set the ` CGROUP_MODE ` variable to ` unified ` . Install the
128+ ` incus ` package, and [ enable] ( ../services/index.md#enabling-services ) the
129+ ` incus ` service.
130+
131+ Incus users must be belong to the ` _incus-admin ` group.
132+
133+ Optionally enable some users to have limited acces to incus as described
134+ [ here] ( https://linuxcontainers.org/incus/docs/main/howto/projects_confine/#confine-projects-to-specific-incus-users ) .
135+ Add users to the ` _incus ` group, and enable the ` incus-user ` service
136+
137+ Note that ` incus-user ` will initialize the default incus profile when it is
138+ started. To avoid default configuration initialize incus for youself with `incus
139+ admin init` before enabling ` incus-user`.
140+
141+ ** WARNING:** ` incus-user ` will also replace the networking config of the default
142+ profile if it appears invalid. runit does not have socket activation so this
143+ happens when when the machine boots instead of when a user attempts to access
144+ it. If the default profile uses a [ bridge
145+ interface] ( ../network/index.md#bridge-interfaces ) ` incus-user ` may replace it on
146+ boot.
147+
148+ To migrate existing LXD setups to incus use the 'lxd-to-incus' binary from the
149+ ` incus-tools ` package as described
150+ [ here] ( https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/ ) .
151+
152+ To migrate existing LXC containers to incus use the 'lxc-to-incus' binary from
153+ the ` incus-tools ` package as described
154+ [ here] ( https://linuxcontainers.org/incus/docs/main/howto/migrate_from_lxc/ ) .
155+
117156## LXD
118157
119158LXD provides an alternative interface to LXC's ` lxc-* ` utilities. However, it
@@ -125,4 +164,4 @@ the `lxd` service.
125164LXD users must belong to the ` lxd ` group.
126165
127166Use the ` lxc ` command to manage instances, as described
128- [ here] ( https://linuxcontainers.org /lxd/getting-started-cli/#lxd-client ) .
167+ [ here] ( https://documentation.ubuntu.com /lxd/en/latest/howto/ ) .
0 commit comments