Distribution packaging
This page describes the rationale behind the libvirt distribution
packaging in RPM format. The RPM specfile provided with libvirt targets
all Fedora and RHEL releases. It is split up into a number of sub-RPMs
in order to facilitate minimal installations, targetting specific
feature sets.
The so called "real" packages provide the actual file payloads
related to libvirt. If very specific / targetted functionality
is required, then applications can depend on one or more of these
real packages.
- libvirt-client
- This package provides the main libvirt.so library along with
the virsh command line tool. If a C based application only wants
to be able to manage remote hypervisors, this is all that they
need depend on
- libvirt-devel
- This package provides the header files and libraries required
to compile and link C applications using libvirt
- libvirt-python
- This package provides the Python binding to the C libraries.
It will pull in the libvirt-client RPM. If a Python application
only wants to be able to manage remote hypervisors, this is all
that they need depend on
- libvirt-daemon
- This package provides server side libvirtd daemon, which is
required in order to manage any stateful hypervisors (currently
QEMU, KVM, Xen, LXC and UML).
- libvirt-daemon-config-network
- This package provides the standard configuration files for
setting up a NAT based network
- libvirt-daemon-config-nwfilter
- This package provides the standard configuration files for
network filter rules for ensuring clean VM traffic.
The virtual packages provide convenient targets for application dependencies to
pull in functionality related to specific hypervisors. Since the packaging of
the libvirt-daemon
RPM is expected to change in the future to split
each hypervisor driver out into a separate RPM, applications are strongly
recommended to depend on one of the following virtual packages, instead of
depending directly on libvirt-daemon
- libvirt
- This package, simply pulls in every single other server side RPM.
If an application wants to ensure all possible libvirt drivers are installed,
this is what they should depend on
- libvirt-daemon-qemu
- This package pulls in the server side daemon, drivers and the QEMU TCG binaries
required to provide emulation of non-native architectures
- libvirt-daemon-kvm
- This package pulls in the server side daemon, drivers and the KVM binaries
required to provide hardware accelerated virtualization of the native
architectures
- libvirt-daemon-lxc
- This package pulls in the server side daemon and drivers required to
run native Linux containers
- libvirt-daemon-uml
- This package pulls in the server side daemon and drivers required to
run User Mode Linux. The application must still provide the actual
UML binary kernels
- libvirt-daemon-xen
- This package pulls in the server side daemon and drivers required to
run guests on the Xen hypervisor.
- libvirt-qemu
- This package pulls in the server side daemon, drivers and the QEMU TCG binaries
required to provide emulation of non-native architectures
- libvirt-kvm
- This package pulls in the server side daemon, drivers and the KVM binaries
required to provide hardware accelerated virtualization of the native
architectures
- libvirt-lxc
- This package pulls in the server side daemon, drivers and default
configuration files required to run native Linux containers
- libvirt-uml
- This package pulls in the server side daemon, drivers and default
configuration files required to run User Mode Linux. The application
must still provide the actual UML binary kernels
- libvirt-xen
- This package pulls in the server side daemon, drivers and default
configuration files required to run guests on the Xen hypervisor.