libvirtd-desktop
libvirtd
, qemu
, swtpm
, virt-install
and guestfs-tools
for desktop
usage.
See the Virtual Machine Manager Flatpak.
How to use
- Install the sysext
- Create the
qemu
user:$ sudo systemd-sysusers /usr/lib/sysusers.d/libvirt-qemu.conf
- Copy the some default config:
$ sudo cp -a /usr/etc/mdevctl.d /etc/
- Optional: Copy the default libvirtd config (note that it won’t be updated automatically):
$ sudo cp -a /usr/etc/libvirt /etc/
- Optional: Setup auth via polkit (example):
$ sudo cat /etc/polkit-1/rules.d/50-libvirt.rules polkit.addRule(function(action, subject) { if (action.id == "org.libvirt.unix.manage" && subject.isInGroup("wheel")) { return polkit.Result.YES; } });
- Restart libvirtd (via virtqemud, virtnetworkd & virtstoraged):
$ sudo systemctl restart virtqemud.socket virtnetworkd.socket virtstoraged.socket
Versions available
See the libvirtd-desktop versions.
Usage instructions
First time setup
Run those commands if you have not yet installed any sysext on your system:
sudo install -d -m 0755 -o 0 -g 0 /var/lib/extensions /var/lib/extensions.d
sudo restorecon -RFv /var/lib/extensions /var/lib/extensions.d
Installation
Define a helper function:
install_sysext() {
SYSEXT="${1}"
URL="https://extensions.fcos.fr/extensions"
sudo install -d -m 0755 -o 0 -g 0 /etc/sysupdate.${SYSEXT}.d
sudo restorecon -RFv /etc/sysupdate.${SYSEXT}.d
curl --silent --fail --location "${URL}/${SYSEXT}.conf" \
| sudo tee "/etc/sysupdate.${SYSEXT}.d/${SYSEXT}.conf"
sudo /usr/lib/systemd/systemd-sysupdate update --component "${SYSEXT}"
}
Install the sysext:
install_sysext libvirtd-desktop
Merging
Note that this will merge all installed sysexts unconditionally:
sudo systemctl restart systemd-sysext.service
systemd-sysext status
Updates
Update this sysext using:
sudo /usr/lib/systemd/systemd-sysupdate update --component libvirtd-desktop
If you want to use the new version immediately, make sure to refresh the merged sysexts:
sudo systemctl restart systemd-sysext.service
systemd-sysext status
To update all sysexts on a system:
for c in $(/usr/lib/systemd/systemd-sysupdate components --json=short | jq --raw-output '.components[]'); do
sudo /usr/lib/systemd/systemd-sysupdate update --component "${c}"
done