Skip to navigationSkip to content
libvirtd docs
InteractiveCommands

Manual nav

Search `/` · tty `~` · g top · G bottom

Portal

  • Manual index
  • Interactive lab
  • Command explorer
Foundations5 sections
  • libvirtd Overview1
  • Host & Installation2
  • Architecture & Concepts6
  • Domains2
  • Domain XML2
Subsystems6 sections
  • Daemons3
  • virsh3
  • Virtual Networking5
  • Virtual Storage4
  • Virtualization Security3
  • Remote libvirt1
Operations5 sections
  • Migration2
  • Snapshots & Backup2
  • Performance3
  • Troubleshooting2
  • Reference2
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