Skip to content
Reto Gantenbein edited this page Dec 28, 2023 · 20 revisions

Installation Guide

These instructions describe how the LXC/LXD packages built in the ganto/lxc4 COPR project from the spec files hosted in this repository can be used to run LXC or LXD on a Fedora Linux host.

IMPORTANT

These packages are not official Fedora packages and they are only minimally functionally tested. Use them at your own risk and don't forget to create a backup before you perform an update. If you find an issue with the packages, please open a Github issue in this repository. However I won't provide any general LXC/LXD support. For this please check https://discuss.linuxcontainers.org/

Prerequisites

Currently the packages are available for Fedora 32/33/34/Rawhide and the x86_64, aarch64 and armhfp architecture.

Enable the COPR repository:

dnf copr enable ganto/lxc4

LXC

Install LXC including liblxc and the lxc-* command line utilities:

dnf install lxc

If you already have LXC installed from the Fedora repository run:

dnf update lxc

IMPORTANT

This will replace the official lxc packages in case you had previously installed them from the Fedora repositories. However, the release numbers of the COPR packages are chosen in way, that the official lxc packages should replace the COPR packages again once the same (or newer) version is provided by Fedora.

Incus

Incus is a community fork of LXD that was created after LXD has been moved to the Canonical umbrella. Install it via:

dnf install incus

NOTE

This is a first pre-release of Incus. It's not considered stable yet and some things might still be broken.

Container Support

In case you only want to run containers and don't need all the dependencies for virtual machine support simply disable the weak dependencies:

dnf --setopt=install_weak_deps=False install incus

Virtual Machine Support

If you want to install support for virtual machines later run:

dnf install incus-agent

In case you have disabled the weak dependencies in your dnf.conf you still need the following dependencies:

dnf install edk2-ovmf genisoimage qemu-char-spice qemu-device-display-virtio-vga qemu-device-display-virtio-gpu qemu-device-usb-redirect qemu-img qemu-kvm-core

LXD

Install the LXD daemon and the lxc command line client:

dnf install lxd

This is enough to run the traditional Linux containers. However LXD is also able to manage virtual machines (as an alternative to libvirt). For this additional packages are needed (see below).

Virtual Machine Support

If you want to run virtual machines with LXD additional packages are required:

dnf install lxd-agent edk2-ovmf genisoimage qemu-char-spice qemu-device-display-virtio-vga qemu-device-display-virtio-gpu qemu-device-usb-redirect qemu-img qemu-kvm-core

Getting started

For more details please check the upstream documentation:

Clone this wiki locally