CentOS7编译安装QEMU与libvirt

news2024/12/5 23:57:56

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安装,使用支持最新虚拟化特性的虚拟机。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2235325.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS 7 软件/程序安装示例

安装软件/程序 wget,前提需要用 root 用户 1、搜索软件/程序 yum search wget 搜索到软件/程序。 2、安装软件/程序 yum -y install wget 安装完成。 ---------------------------------------------------------------------------------------------------…

MySQL详细安装教程

一、从MySQL官网安装 可以翻译成中文看起来就舒服多了 下载并打开安装包,能看到版本是8.0.36,双击运行或者右键选择打开,打开后是一个安装向导,这个安装向导会先帮我们安装一个 mysql-installer 的程序,再通过该程序安…

Dubbo使用Nacos作为注册中心

使用 Nacos 作为注册中心实现自动服务发现 本示例演示 Nacos 作为注册中心实现自动服务发现&#xff0c;示例基于 Spring Boot 应用展开&#xff0c;可在此查看 完整示例代码 1 基本配置 1.1 增加依赖 增加 dubbo、nacos-client 依赖&#xff1a; <dependencies><…

洗衣小程序/洗鞋小程序 洗衣店系统,洗衣系统源码

多城市洗衣店小程序&#xff0c;对接京东物流&#xff0c;支持城市合伙人&#xff0c;支持在线商城&#xff0c;在线预约下单 支持抖音验券支持 支持电子券 支持水洗码

数据结构 —— 红黑树

目录 1. 初识红黑树 1.1 红黑树的概念 1.2 红⿊树的规则 1.3 红黑树如何确保最长路径不超过最短路径的2倍 1.4 红黑树的效率:O(logN) 2. 红黑树的实现 2.1 红黑树的基础结构框架 2.2 红黑树的插⼊ 2.2.1 情况1&#xff1a;变色 2.2.2 情况2&#xff1a;单旋变色 2.2…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.11

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第四周 特殊应用&#xff1a;人脸识别和神经风格转换&#xff08;Special applications: Face recognition &Neural style transfer&#xff09;4.11 一维到三维推广&#xff08;1D and 3…

unity3d————四元数概念

一、定义与表示 四元数是由一个实数部分和三个虚数部分组成&#xff0c;通常表示为q w xi yj zk&#xff0c;其中w是实数&#xff0c;x、y、z是实数系数&#xff0c;i、j、k是虚数单位&#xff0c;满足以下关系&#xff1a; i j k -1ij k&#xff0c;ji -kjk i&…

大数据分库分表方案

分库分表介绍 分库分表应用场景 分库分表介绍 大数据分库分表是一种数据库架构技术&#xff0c;旨在应对大数据量场景下的数据库性能瓶颈。以下是对大数据分库分表的详细解释&#xff1a; 一、定义与背景 定义&#xff1a; 分库&#xff1a;将一个大型数据库按照一定的规则…

可重入函数 volatile SIGCHLD

目录 1. 可重入函数2. volatile3. SIGCHLD 信号 1. 可重入函数 场景&#xff1a;当我们在全局区定义一个链表&#xff08;不带头结点&#xff09;&#xff0c;然后对链表做头插结点的操作&#xff0c;即插入 node1 结点&#xff08;如上图所示&#xff09;。在插入 node1 时需要…

『VUE』20. 组件嵌套关系page(详细图文注释)

目录 VUE的自带组件结构新建文件搭建结构app与Main Header Aside结构App.vueHeader.vueMain.vueAside.vue Main 与Article.Aside与Item结构Article.vueItem.vue 总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 因为前面已经有…

【Hive sql面试题】找出连续活跃3天及以上的用户

表数据如下&#xff1a; 要求&#xff1a;求出连续活跃三天及以上的用户 建表语句和插入数据如下&#xff1a; create table t_useractive(uid string,dt string );insert into t_useractive values(A,2023-10-01 10:10:20),(A,2023-10-02 10:10:20),(A,2023-10-03 10:16…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-16

文件下载与邀请翻译者 学习英特尔开发手册&#xff0c;最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册&#xff0c;会是一件耗时费力的工作。如果有愿意和我一起来做这件事的&#xff0c;那么&#xff…

Vulnhub靶机——DC-3

#环境准备 dc-3 虚拟机&#xff1a;网卡NAT模式 kali攻击机&#xff1a;网卡NAT模式 #信息收集 nmap轻车熟路扫一下dc3的地址&#xff0c;识别出joomla系统 面向百度渗透&#xff0c;得知有一个joomla的扫描器&#xff0c;直接安排上&#xff0c;这下有版本号和后台登录地址…

数据结构:七种排序及总结

文章目录 排序一插入排序1直接插入排序2希尔排序二选择排序3直接选择排序4堆排序三 交换排序5冒泡排序6快速排序四 归并排序7归并排序源码 排序 我们数据结构常见的排序有四大种&#xff0c;四大种又分为七小种&#xff0c;如图所示 排序&#xff1a;所谓排序&#xff0c;就是…

基于STM32H7XX的Bootloader启动与FOTA

1. Bootloader是如何工作的: 2.正常情况下,程序从flash启动时的启动流程,如下图所示: 首先程序从flash启动,根据中断向量表找到复位中断处理函数的地址(0x0800 0004处是中断向量表的起始地址,记录了复位中断处理函数的地址)。执行复位中断处理函数,初始化系统环境之后…

语音 AI 迎来爆发期,也仍然隐藏着被低估的机会丨RTE2024 音频技术和 Voice AI 专场

在人工智能快速发展的今天&#xff0c;语音交互技术正经历一场革命性的变革。从语音识别到语音合成&#xff0c;再到端到端的语音对话系统&#xff0c;这一领域的创新正以前所未有的速度推进。这些进步不仅提升了技术指标&#xff0c;更为实时翻译、虚拟数字人、智能客服等实时…

【自学笔记】神经网络(1)

文章目录 介绍模型结构层&#xff08;Layer&#xff09;神经元 前向传播反向传播Q1: 为什么要用向量Q2: 不用激活函数会发生什么 介绍 我们已经学习了简单的分类任务和回归任务&#xff0c;也认识了逻辑回归和正则化等技巧&#xff0c;已经可以搭建一个简单的神经网络模型了。 …

在内蒙考驾照需要注意什么呢?

一、报名条件 年满18周岁&#xff0c;具有完全民事行为能力的中国公民。持有有效的身份证明文件。身体健康&#xff0c;无妨碍驾驶机动车的疾病&#xff0c;并需要通过体检。 二、选择驾校 可以先向身边已经拿到驾照的朋友咨询&#xff0c;了解驾校的距离、位置、口碑等信息。…

C++builder中的人工智能(8)什么是神经网络中的恒等激活函数?

在这篇文章中&#xff0c;我们将回答以下问题&#xff1a; 你想了解神经网络中最简单的激活函数是什么吗&#xff1f;什么是恒等函数&#xff1f;作为AI术语&#xff0c;我们需要了解激活函数和转移函数的哪些知识&#xff1f;激活函数与净输入函数是一回事吗&#xff1f;是否…

django图书管理系统-计算机毕业设计源码00648

摘要 图书管理系统在数字化阅读趋势、图书馆自动化管理、用户体验需求和信息技术应用等方面具有重要的研究意义。图书馆自动化管理系统的引入和应用提高了图书借阅过程的效率和准确性&#xff0c;减少了对手工操作和纸质记录的需求。用户对系统的易用性、查询速度、借还流程有更…