Install libvirtd
This book is primarily about Fedora Atomic Desktop (sway) hosts, but these instructions are generic enough to work on a wide variety of systemd based Linux operating systems, including Fedora Workstation (traditional), Fedora CoreOS, Arch Linux, and Debian (with caveats).
Packages for Fedora Atomic Desktop hosts
Full package installation for Fedora Atomic Desktop hosts are covered in the chapter on Layering packages.
Packages for Fedora CoreOS
sudo rpm-ostree install qemu-kvm libvirt virt-manager virt-viewer \
virt-install libvirt-daemon-config-network libvirt-daemon-kvm \
libguestfs-tools python3-libguestfs virt-top distrobox make
Packages for traditional Fedora Workstation hosts
These are the packages you would need to install on traditional Fedora Workstation (or Server, but not CoreOS nor Atomic hosts)
sudo dnf install qemu-kvm libvirt virt-manager virt-viewer \
virt-install libvirt-daemon-config-network libvirt-daemon-kvm \
libguestfs-tools python3-libguestfs virt-top net-tools
Packages for Arch Linux hosts
For Arch Linux, it is recommended to do a full system update and reboot prior to installing the libvirt packages.
sudo pacman -Syu
sudo reboot
After reboot, install packages:
sudo pacman -S libvirt iptables-nft dnsmasq qemu-base virt-install \
sysfsutils bridge-utils ebtables git make which jq \
dmidecode pkgconf gcc
Packages for Debian/Ubuntu hosts
For Debian (or Ubuntu), it is recommended to do a full system upgrade and reboot prior to installing the libvirt packages.
sudo apt update
sudo apt upgrade
sudo reboot
After reboot, install packages:
sudo apt install --no-install-recommends \
libvirt-daemon-system virtinst libvirt-clients \
dnsmasq sysfsutils bridge-utils ebtables git make \
which jq dmidecode pkgconf gcc curl \
python3 python-is-python3