LXC containers, migrating from snap to rpm


A while ago I’ve set up LXD/LXC using this guide on a Rocky 8 system. It was meant as a test to better utilize that server’s cpu cores and it worked really well so I haven’t touched that setup for more than a year.

However, I noticed that there’s an lxc package in EPEL. So I’m wondering: is installing that package enough to run LXC containers? I can’t find a corresponding package called “lxd”.

And if so, my 2nd question is: is it possible to migrate containers from the snapd-based LXD to the rpm package? lxd --version currently says 5.18 but the lxc packge in EPEL 8 is a lower version (3.0.4). I’ve read about Incus which does have a migration path from LXC. But there’s no package for it yet for Rocky it seems and I don’t want to go bleeding edge anyways.

Thanks in advance

@tilt-x Hello! I’m just seeing this post from a couple of weeks ago. A couple of things to note:

incus >= lxd
lxd != lxc
incus != lxc

Yes, there are underlying commands in lxd/incus that work in lxc, but overall, these packages are NOT the same. Since the license change for LXD, I’ve been waiting and hoping for an incus RPM package to be built. There are a few in the works, but nothing in a stable state as of yet. Using LXD works, as long as you don’t need new container images of things like Rocky Linux. Because of the license change, those images are now only available under incus.

If you have a Ubuntu machine, you still have the possibility to install incus, and convert LXD to incus. Other than installing from source, that isn’t possible on Rocky Linux at the moment.


Thank you, Steve, for clearing up my confusion about lxd vs lxc vs incus.