CentOS9源码编译libvirtd工具
卸载原有版本libvirt
[root@centos9 ~]# yum remove libvirt
Centos9配置网络源
[root@centos9 ~]# dnf config-manager --set-enabled crb
[root@centos9 ~]# dnf install epel-release epel-next-release
安装依赖包
[root@centos9 ~]# yum install -y libtirpc-devel libxml2-devel glib2-devel python3-docutils rpcgen gnutls-devel libpciaccess-devel yajl-devel device-mapper-devel meson
[root@centos9 ~]# meson configure --includedir /usr/include/tirpc/rpc/
libtirpc的rpc.h在/usr/include/tirpc/rpc/rpc.h,必须要手动告诉meson其目录位置,不然后面ninja -C build的时候会报错:rpc/rpc.h:没有那个文件或目录。
重新下载源码、编译安装
[root@centos9 ~]# wget http://libvirt.org/sources/ libvirt-9.0.0.tar.xz
[root@centos9 ~]# tar -xvf libvirt-9.0.0.tar.xz
[root@centos9 ~]# cd libvirt-9.0.0
[root@centos9 libvirt-9.0.0]# mkdir build && cd build
[root@centos9 build]# meson build
• # build & install libvirt to your home directory
• $ meson build --prefix=$HOME/usr
[root@centos9 build]# ninja -C build
[root@centos9 build]# ninja -C build install
然后查看一下版本是不是更新了
[root@centos9 ~]# libvirtd --version
libvirtd (libvirt) 9.0.0
[root@centos9 ~]# virsh --version
9.0.0
安装完成检查。
[root@centos9 ~]# cd libvirt-9.0.0/build/src/
[root@centos9 src]# systemctl status libvirtd
[root@centos9 src]# cp *.service /etc/systemd/system/
[root@centos9 src]# cp *socket /etc/systemd/system/
[root@centos9 src]# systemctl daemon-reload
[root@centos9 src]# systemctl restart libvirtd
[root@centos9 src]# systemctl enable libvirtd
[root@centos9 src]# systemctl status libvirtd
运行virsh命令查看机器上的虚拟机列表,提示未能连接到hypervisor
[root@localhost ~]# virsh list --all
error: failed to connect to the hypervisor
error: Failed to connect socket to ‘/usr/local/var/run/libvirt/libvirt-sock’: No such file or directory
出现这一情况的原因可能是没有开启libvirtd服务,用下面的命令查看是否开启
[root@localhost ~]# ps -le | grep libvirtd
显示libvirtd服务并没有开启,所以手动开启一下
[root@localhost ~]# libvirtd -d
现在再看一下,libvirtd服务已经启动了
[root@localhost ~]# ps -le | grep libvirtd
1 S 0 7171 1 23 80 0 - 143264 poll_s ? 00:00:00 libvirtd
验证virsh命令此时就已经可用了
[root@localhost ~]# virsh list --all
编译后没有 vir-install 命令
yum install virt-install virt-manager virt-viewer virt-top
systemd 无法启动
libvirtd.service 存在于 /usr/lib/systemd/system/ 文件夹下,而在 /etc/systemd/system/ 文件夹下有该文件的软连接,表明这是自动启动的。
尝试启动该服务时会报错,因为其中指定环境变量有问题,其中的大部分内容不需要改动,就是下面的文件的路径需要改,因为手动编译安装的 libvirt 安装路径在 /usr/local/sbin/libvirtd 或是 /usr/sbin/libvirtd ,修改以下两处:
[Service]
…
EnvironmentFile=/etc/sysconfig/libvirtd
ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS
…
需根据您系统中实际位置查找到对应位置,如果按照本文建议流程则路径同上,否则需自行查找,之后再次尝试启动即可,有可能需要重新加载一下服务。
systemctl daemon-reload
systemctl reload libvirtd
systemctl start libvirtd
即可启动成功。
virt-manager 启动提示 virt qemu-sock no such file or directory
检查后应该是 virtqemud 服务没起来导致的,编译安装默认生成的服务路径在 /usr/local/* 下,而我们指定了安装在默认位置 /usr ,参考 systemd 无法启动的解决方法即可解决该问题。
首先看一下 /usr/sbin/virtqemud 这个文件是存在的,下面继续操作,首先使能该服务。
$ systemctl enable virtqemud
创建了改服务的软连接,宣告自启,此时服务配置有问题,直接修改该软连接指定的文件
vim /usr/local/lib/systemd/system/virtqemud.service
#类比 libvirtd 的修改这两行,指定正确服务位置
[Service]
…
EnvironmentFile=-/etc/sysconfig/virtqemud
ExecStart=/usr/sbin/virtqemud $VIRTQEMUD_ARGS
之后重新加载服务,再启动
systemctl daemon-reload
systemctl reload virtqemud
systemctl start virtqemud
不出意外的话就能启动了
报错1:
ERROR internal error: process exited while connecting to monitor: Cannot set up guest memory ‘pc.ram’: Cannot allocate memory
解决办法:
#vim /etc/libvirt/qemu.conf
user = “root” # 该项去星号
group = “root” # 该项去星号
#这个问题是你的虚拟机的内存有点小,虚拟机的内存小的同时还再来带一台机器,肯定带不起来所以会报错。
#刚开始我设置的内存是24G(出错),后来设置成16G(出错),后来设置成10G(也出错了),后来设置成2G能起来了
#后来我把VMware的内存调到32G后就能正常的创建4G内存的虚机了
报错2:
错误:将插槽连接到 ‘/var/run/libvirt/libvirt-sock’ 失败: 没有那个文件或目录
解决办法:
systemctl status libvirtd 查看该服务状态
systemctl start libvirtd 启动该服务
systemctl enable libvirtd 开机自启动
报错3:
错误:将插槽连接到 ‘/var/run/libvirt/virtqemud-sock’ 失败: 没有那个文件或目录
[root@centos9 ~]# find / -name ‘virtqemud-sock’
/var/local/run/libvirt/virtqemud-sock
需要创建一个软连接
[root@centos9 ~]# ln -s /var/local/run/libvirt/virtqemud-sock /var/run/libvirt/virtqemud-sock
该报错就算创建软连接,只在当前会话有效,重启后libvirtd服务也是dead状态,软连接也不存在了,该问题还未查找到原因。
相关文章:
CentOS9源码编译libvirtd工具
卸载原有版本libvirt [rootcentos9 ~]# yum remove libvirt Centos9配置网络源 [rootcentos9 ~]# dnf config-manager --set-enabled crb [rootcentos9 ~]# dnf install epel-release epel-next-release 安装依赖包 [rootcentos9 ~]# yum install -y libtirpc-devel libxml2-de…...
搭建内网穿透
文章目录摘要npsfrp服务提供商摘要 内网穿透是一种方便的技术,可以让用户随时随地访问内网设备。有两种方式可以使用内网穿透:自己搭建,使用nps/frps软件;购买服务,快速享受内网穿透带来的便利。 nps 内网穿透。参考…...

vue3组件库项目学习笔记(八):Git 使用总结
目前组件库的开发已经接近尾声,因为这次是使用 git 进行协作的开发模式,在团队协作的时候遇到很多的问题,开发过程中发现小伙伴们对于 git 的使用还不是很熟练,这里就简单总结一下常用的 git 的操作,大致有:…...

ISO7320FCQDRQ1数字隔离器LMG1025QDEETQ1半桥GaN驱动器
1、数字隔离器 DGTL ISO 3000VRMS 2CH 8SOIC型号:ISO7320FCQDRQ1批次:新技术:容性耦合类型:通用隔离式电源:无通道数:2输入 - 侧 1/侧 2:2/0通道类型:单向电压 - 隔离:30…...

openmmlab 语义分割算法基础
本文是openmmlab AI实战营的第六次课程的笔记,以下是我比较关注的部分。简要介绍语义分割:如下图,左边原图,右边语义分割图,对每个像数进行分类应用语义分割在个各种场景下都非常重要,特别是在自动驾驶和医…...

2023年深圳/东莞/惠州CPDA数据分析师认证报名入口
CPDA数据分析师认证是中国大数据领域有一定权威度的中高端人才认证,它不仅是中国较早大数据专业技术人才认证、更是中国大数据时代先行者,具有广泛的社会认知度和权威性。 无论是地方政府引进人才、公务员报考、各大企业选聘人才,还是招投标加…...
RabbitMQ-客户端源码之AMQChannel
AMQChannel是一个抽象类,是ChannelN的父类。其中包含唯一的抽象方法: /*** Protected API - called by nextCommand to check possibly handle an incoming Command before it is returned to the caller of nextCommand. If this method* returns true…...

注意力机制(SE,ECA,CBAM) Pytorch代码
注意力机制1 SENet2 ECANet3 CBAM3.1 通道注意力3.2 空间注意力3.3 CBAM4 展示网络层具体信息1 SENet SE注意力机制(Squeeze-and-Excitation Networks):是一种通道类型的注意力机制,就是在通道维度上增加注意力机制,主要内容是是…...

Vue2笔记03 脚手架(项目结构),常用属性配置,ToDoList(本地存储,组件通信)
Vue脚手架 vue-cli 向下兼容可以选择较高版本 初始化 全局安装脚手架 npm install -g vue/cli 创建项目:切换到项目所在目录 vue create xxx 按照指引选择vue版本 创建成功 根据指引依次输入上面指令即可运行项目 也可使用vue ui在界面上完成创建&…...

Java程序的执行顺序、简述对线程池的理解
点个关注,必回关 文章目录一、Java程序是如何执行的二、合理利用线程池能够带来三个好处一、Java程序是如何执行的 我们日常的工作中都使用开发工具(IntelliJ IDEA 或 Eclipse 等)可以很方便的调试程序,或者是通 过打包工具把项目…...

【前言】嵌入式系统简介
随手拍拍💁♂️📷 日期: 2022.12.01 地点: 杭州 介绍: 2022.11.30下午两点时,杭州下了一场特别大的雪。隔天的12月路过食堂时,边上的井盖上发现了这个小雪人。此时边上的雪已经融化殆尽,只有这个雪人依旧维持着原状⛄…...

React设计原理—1框架原理
阅读前须知 本文是笔者学习卡颂的《React设计原理》的读书笔记,对书中有价值内容以Q&A方式进行呈现,同时结合了自己的理解🤔阅读时推荐先看问题,想想自己的答案,再和答案比对一下本文属于前端框架科普,…...

(C00034)基于Springboot+html前后端分离技术的宿舍管理系统-有文档
基于Springboothtml技术的宿舍管理系统-有文档项目简介项目获取开发环境项目技术运行截图项目简介 基于Springboothtml的前后端分离技术的宿舍管理系统项目为了方便对学生宿舍进行管理而设计,分为后勤、宿管、学生三种用户,后勤对整体宿舍进行管理、宿管…...

Flink面试题
一 基础篇Flink的执行图有哪几种?分别有什么作用Flink中的执行图一般是可以分为四类,按照生成顺序分别为:StreamGraph-> JobGraph-> ExecutionGraph->物理执行图。1)StreamGraph顾名思义,这里代表的是我们编写…...

Python学习笔记
前言:又从仓库翻出来了一些以前总结的文档,以下内容是我初学Python时网上找的或是图书馆借书抄写的笔记,现在再看有点零散不成体系,但是也还是纪念一下子吧。 Python学习笔记 对于初学编程的人来说,Python可以缩短编…...

最适合入门的100个深度学习实战项目
🚨注意🚨:最近经粉丝反馈,发现有些订阅者将此专栏内容进行二次售卖,特在此声明,本专栏内容仅供学习,不得以任何方式进行售卖,未经作者许可不得对本专栏内容行使发表权、署名权、修改…...

AssertionError: 618 columns passed, passed data had 508 columns【已解决】
问题描述 程序中断,报错如下AssertionError: 618 columns passed, passed data had 508 columns Exception has occurred: ValueError 618 columns passed, passed data had 508 columns AssertionError: 618 columns passed, passed data had 508 columnsThe abo…...

166_技巧_Power BI 窗口函数处理连续发生业务问题
166_技巧_Power BI 窗口函数处理连续发生业务问题 一、背景 在生产经营的数据监控中,会有一类指标需要监控是否连续发生,从而根据其在设定区间中的连续频次来评价业务。 例如: 员工连续迟到天数。销售金额连续上升或者下降。用户连续登陆…...

电子科技大学人工智能期末复习笔记(五):机器学习
目录 前言 监督学习 vs 无监督学习 回归 vs 分类 Regression vs Classification 训练集 vs 测试集 vs 验证集 泛化和过拟合 Generalization & Overfitting 线性分类器 Linear Classifiers 激活函数 - 概率决策 ⚠线性回归 决策树 Decision Trees 决策树构建递归…...

使用DDD指导业务设计的总结思考
领域驱动设计(DDD) 是 Eric Evans 提出的一种软件设计方法和思想,主要解决业务系统的设计和建模。DDD 有大量难以理解的概念,尤其是翻译的原因,某些词汇非常生涩,例如:模型、限界上下文、聚合、…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...