欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > CentOS7编译安装QEMU与libvirt

CentOS7编译安装QEMU与libvirt

2025/4/23 21:16:16 来源:https://blog.csdn.net/dillanzhou/article/details/143479153  浏览:    关键词:CentOS7编译安装QEMU与libvirt

CentOS7等老OS在国内仍然大量使用,近期多次在CentOS7上编译安装高版本QEMU与libvirt,遇到不少问题,在这里做个记录。

步骤1:卸载所有与qemu和libvirt相关的包,删除/usr/local/bin/等目录下自行安装的相关二进制文件

步骤2:export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/:/usr/local/lib/pkgconfig/:/usr/lib/pkgconfig/

步骤3:编译安装openssl1.1.1w,https://openssl-library.org/source/old/1.1.1/index.html。配置命令./config --prefix=/usr/local/openssl11 --openssldir=/usr/local/openssl11 shared zlib

步骤4:手工安装Python3,版本>=3.8。CentOS7没有找到Python 3.6以上的可用安装源,所以直接从github下载高版本Python3代码编译安装即可。这里使用了3.12版本。编译需要指定使用openssl 1.1版本,命令为./configure --with-openssl=/usr/local/openssl11

步骤5:安装依赖包,yum install libxml2-devel libpciaccess-devel yajl-devel libtirpc-devel,pip3 install docutils

步骤6:下载qemu与其依赖的子项目代码。建议优先从Download QEMU - QEMU下载官方打包好的代码,其中包含了大部分依赖的子项目代码,不需要在编译时再通过git获取。个别子项目(例如dtc)可能仍然需要编译时获取。由于国内通过git获取github和gitlab仓库不稳定,可以从网页直接下载依赖项目的代码包,然后解压到qemu/subprojects下的对应项目路径中。这里下载了官方的8.2.7代码包。

步骤7:编译qemu。qemu的编译相对简单,按文档操作即可。这里使用了配置参数./configure --prefix=/usr/local/ --target-list=x86_64-softmmu --enable-kvm --enable-vnc。

步骤8:下载编译glib,版本>=2.58.0。同样建议下载Releases · GNOME / GLib · GitLab中的release archive打包版。这里使用了2.81.1。

步骤9:下载编译gmp,这里使用版本6.3.0

步骤10:下载编译libnettle,这里使用从Index of /gnu/nettle下载的3.10版本。需要注意使用./configure --enable-public-key --with-lib-path=/usr/local/lib来包含gmp支持,只有这样才会编译gnutls需要的libhogweed。

步骤11:下载编译libtasn,从Index of /gnu/libtasn1下载4.19.0版本。

步骤12:下载编译gnutls,这里使用从ftp.gnupg.org:gcrypt/gnutls/v3.7下载的3.7.11版本。使用配置命令LDFLAGS='-L/usr/local/lib -L/usr/local/lib64' ./configure --prefix=/usr --with-included-unistring --without-p11-kit。编译中可能遇到许多库版本冲突的问题,可以通过config.log中的日志辅助判断解决。

步骤13:下载编译libvirt,这里使用10.5.0版本。使用配置命令meson setup build -Dsystem=true -Ddriver_qemu=enabled -Ddriver_libvirtd=enabled -Ddriver_remote=enabled。错误日志在build/meson-logs/meson-log.txt中。

步骤14:修改/usr/lib/systemd/system/libvirtd.service,删除其中的Environment="LIBVIRTD_ARGS=--timeout 120"这一行,这个功能在centos7的systemd上不成立。之后执行systemctl daemon-reload;systemctl restart libvirtd,启动libvirtd服务。

步骤15:安装virt-manager和virt-install,yum install virt-manager virt-install

步骤16:重新执行libvirt的安装命令ninja -C build install。因为上一步可能会同时安装依赖包libvirt-client等,覆盖掉自己编译的libvirt文件。或者也可以在上一步安装时指定--nodeps参数来避免安装依赖包。

步骤17:使用virt-install或virsh创建虚拟机,使用virt-manager完成虚拟机安装。

通过上述步骤,可以在CentOS7上完成新版本qemu和libvirt安装,使用支持最新虚拟化特性的虚拟机。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词