Centos7.6 下编译安装 Libvirt 7.5
2023-02-24 本文已影响0人
frytea
libvirt 是目前使用最为广泛的对 KVM 虚拟机进行管理的工具和 API 。 Libvirtd 是一个 daemon 进程,可以被本地的 virsh 调用,也可以被远程的 virsh 调用, Libvirtd 调用 qemu-kvm 操作虚拟机。下面介绍 Centos7.6 下编译安装 Libvirt 7.5 的方法。
环境准备
yum install -y meson
yum install -y gcc
yum install qemu-kvm
编译步骤-7.5
首先下载源码文件:
# Compiling a release tarball
wget https://libvirt.org/sources/libvirt-7.5.0.tar.xz
tar -xvf libvirt-7.5.0.tar.xz
cd libvirt-7.5.0
编译前可以查看一下当前系统下 virsh 的安装位置
[root@compute-01 stl]# find / -name "virsh"
/usr/bin/virsh
可以看到是安装在 .usr/bin 这个 PATH 路径下,因此在编译安装时,可使用如下命令指定安装位置(默认安装在 /usr/local/bin 目录下):
$ meson build --prefix=/usr
$ ninja -C build
$ sudo ninja -C build install
下面是官网给出的几种安装模式,包括直接使用 release 包安装,安装到您的个人目录下,或是根据系统自动安装到相应位置,可以按需选择。
# Compiling a release tarball
$ xz -dc libvirt-x.x.x.tar.xz | tar xvf -
$ cd libvirt-x.x.x
$ meson build
$ meson build [possible options]
$ ninja -C build
$ sudo ninja -C build install
# build & install libvirt to your home directory
$ meson build --prefix=$HOME/usr
$ ninja -C build
$ sudo ninja -C build install
# To produce a build that is compatible with normal OS vendor prefixes, use
$ meson build -Dsystem=true
$ ninja -C build
编译步骤-6.0
这里给出简单的 6.0 版本编译方法。
wget https://libvirt.org/sources/libvirt-6.0.0.tar.xz
tar -xvf
cd libvirt-6.0.0
mkdir build
cd build
../autogen.sh --system
$ make
$ sudo make install
疑难解决
- ERROR: Program 'rpcgen portable-rpcgen' not found
wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.2/rpcsvc-proto-1.4.2.tar.xz
./configure --sysconfdir=/etc &&
make
make install
- Program 'rst2html5 rst2html5.py rst2html5-3' not found
$ yum install python -y
$ pip install rst2html5
- Dependency "glib-2.0" not found, tried pkgconfig and cmake
yum install glib2-devel
- Dependency "gnutls" not found, tried pkgconfig and cmake
yum install gnutls-devel
- Dependency "libxml-2.0" not found, tried pkgconfig and cmake
yum install libxml2-devel -y
- 致命错误:rpc/rpc.h:没有那个文件或目录
yum -y install libtirpc-devel
# 修改生成的编译配置文件
find / -name "rpc.h"
vim meson.build
# 在 headers 增加 rpc 头文件绝对路径
headers = [
...
'/usr/include/tirpc/rpc/rpc.h',
]