Skip to navigationSkip to content
libvirtd docs
Commands

Manual nav

Search `/` or jump with `g` / `G`.

Portal

  • Home manual
  • Command explorer
Foundations6 sections
  • Overview1
  • Installation2
  • Platform1
  • Concepts5
  • Domains2
  • Domain XML2
Subsystems9 sections
  • Identity1
  • Automation2
  • Daemons3
  • virsh3
  • Networking5
  • Storage4
  • Security3
  • Observability2
  • Remote Access1
Operations6 sections
  • Migration2
  • Backup2
  • Performance3
  • Recovery1
  • Troubleshooting2
  • References2

/ search · g top · G quickstart

maninstallationReviewed July 15, 2026

Install libvirt and establish the first connection

Install the smallest host stack that matches the workload, then validate through the same system URI operators will use later. Install on a RHEL family host Package groups and modular daemon defaults vary by distribution

dnfpackagessystemdqemu-kvm

Install the smallest host stack that matches the workload, then validate through the same system URI operators will use later.

Install on a RHEL-family host

BASH
dnf install qemu-kvm libvirt virt-install libguestfs-tools
systemctl enable --now libvirtd.socket

Package groups and modular-daemon defaults vary by distribution release. Inspect installed units instead of assuming the monolithic service owns every request.

BASH
systemctl list-unit-files 'libvirt*' 'virt*qemu*'
rpm -qa | grep -E '^(libvirt|qemu-kvm|virt-install)'

Establish control-plane proof

BASH
virsh -c qemu:///system uri
virsh -c qemu:///system version
virsh -c qemu:///system nodeinfo

The URI should resolve to qemu:///system; version output should identify both libvirt and QEMU; node information should match the host.

Open only what is required

Local UNIX sockets need no firewall rule. Do not enable legacy unauthenticated TCP merely to make a remote client work. Prefer SSH transport or a deliberately configured TLS endpoint.

Related

  • KVM host readiness
  • Socket activation versus traditional daemon mode
  • virsh connection URIs

On this page

  • Install on a RHEL-family host
  • Establish control-plane proof
  • Open only what is required