virt-inspector - 云端在线

这是 virt-inspector 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


virt-inspector - 显示操作系统版本和有关虚拟的其他信息


概要


virt-inspector [--options] -d 域名

virt-inspector [--选项] -a disk.img [-a disk.img ...]

老款式:

virt-inspector 域名

virt-inspector disk.img [磁盘.img ...]

商品描述


虚拟检查员 检查虚拟机或磁盘映像并尝试确定版本
操作系统和其他有关虚拟机的信息。

Virt-inspector 生成 XML 输出以供其他程序使用。

在正常使用中,使用 "virt-inspector -d domname" 其中 "domname" 是 libvirt 域
(参见:“virsh 列表 --all”)。

您还可以直接在单个虚拟机的磁盘映像上运行 virt-inspector。
使用“virt-inspector -a disk.img”。 在极少数情况下,一个域有多个块设备,在
在这种情况下你应该列出几个 -a 一个接一个的选择,第一个
对应客人的 / dev / sda上的, 客人的第二个 的/ dev / sdb的 等等。

您还可以在安装盘、Live CD、可启动 USB 密钥和类似设备上运行 virt-inspector。

Virt-inspector 只能检查和报告 一种 at a . 检查几个
虚拟机,你必须多次运行 virt-inspector(例如,从 shell
脚本 for 循环)。

因为 virt-inspector 需要直接访问来宾映像,所以它通常不会工作
远程 libvirt 连接。

从 virt-inspector 获得的所有信息也可以通过核心获得
libguestfs 检查 API(参见“INSPECTION” 来宾(3))。 同样的信息也可以
使用 guestfish 或通过许多编程语言中的 libguestfs 绑定获取(请参阅
“从 LIBGUESTFS API 获取检查数据”)。

配置


- 帮帮我
显示简要帮助。

-a 文件
- 添加 文件
添加 文件 这应该是来自虚拟机的磁盘映像。 如果虚拟机
有多个块设备,你必须为它们提供单独的 -a 选项​​。

磁盘映像的格式是自动检测的。 要覆盖它并强制执行
特定格式使用 --格式=.. 选项。

-a 的URI
- 添加 的URI
添加远程磁盘。 请参阅“添加远程存储” 客鱼(1)。

-c 的URI
- 连接 的URI
如果使用 libvirt,请连接到给定的 的URI. 如果省略,那么我们连接到
默认的 libvirt 管理程序。

仅当您在命令行上指定“domname”时才使用 Libvirt。 如果您指定
直接来宾块设备(-a),则根本不使用 libvirt。

-d 客人
- 领域 客人
添加来自命名的 libvirt 来宾的所有磁盘。 可以使用域 UUID 代替
名称。

--回声键
当提示输入密钥和密码时,virt-inspector 通常会关闭回显,因此
您看不到正在输入的内容。 如果您不担心 Tempest 攻击并且
房间里没有其他人,您可以指定此标志以查看您正在键入的内容。

--格式=原始|qcow2|..
- 格式
指定在命令行中给出的磁盘映像格式。 如果省略,则
格式是从磁盘映像的内容中自动检测到的。

如果从 libvirt 请求磁盘映像,则该程序会向 libvirt 请求此
信息。 在这种情况下,格式参数的值将被忽略。

如果使用不受信任的原始格式来宾磁盘映像,您应该确保格式
始终指定。

--来自标准输入的键
从标准输入读取密钥或密码参数。 默认是尝试读取
通过打开来自用户的密码 /开发/ tty.

-v
--详细
启用用于调试的详细消息。

-V
- 版
显示版本号并退出。

-x 启用对 libguestfs API 调用的跟踪。

--xpath 询问
对标准输入上的 XML 执行 XPath 查询,并在标准输出上打印结果。 在这
模式 virt-inspector 只是运行一个 XPath 查询; 所有其他检查功能都是
禁用。 有关一些示例,请参阅下面的“XPATH QUERIES”。

老款式 指挥 LINE 争论


以前版本的 virt-inspector 允许您编写:

virt-inspector disk.img [磁盘.img ...]

or

virt-inspector 来宾名

而在这个版本中你应该使用 -a or -d 分别避免混淆的情况
其中磁盘映像可能与来宾具有相同的名称。

为了兼容性,仍然支持旧样式。

XML FORMAT


virt-inspector XML 在 RELAX NG 模式文件中进行了精确描述 virt-inspector.rng
这是随 libguestfs 提供的。 本节只是一个概述。

顶级元素是,并且它包含一个或多个
元素。 你只会看到不止一个元素如果虚拟
机器是多引导的,这在现实世界的虚拟机中是非常罕见的。


在里面标签是描述操作的各种可选字段
系统、它的架构、描述性的“产品名称”字符串、操作系统的类型等等,
如本例所示:



/开发/ sda2/根>
视窗
i386
视窗
Windows 7 企业版
客户
6
1
/视窗
已安装

简单来说, 是操作系统的类(类似于“linux”或“windows”),
是发行版(例如“fedora”,但可以识别许多其他发行版)和
是来宾架构。 其他字段是不言自明的,但是
因为这些字段是直接从 libguestfs 检查 API 中获取的,您可以找到
来自“检查”中的精确信息 来宾(3)。

这element 是根文件系统设备,但从 libguestfs 的角度来看
(块设备在 VM 内部可能有完全不同的名称)。


Un*x-like 来宾通常有多个文件系统,它们安装在不同的位置
挂载点,这些在看起来像这样的元素:



...

/
/启动


与,设备是从libguestfs的角度来看的,可能已经完全
客人内部的不同名称。 只有可挂载的文件系统出现在这个列表中,而不是
诸如交换设备之类的东西。


就好像但涵盖 所有 属于来宾的文件系统,
包括交换分区和空分区。 (在罕见的多引导客户机的情况下,它涵盖
属于此操作系统或与此操作系统和其他操作系统共享的文件系统)。

您可能会看到如下内容:



...


分机4
Fedora-13-x86_64
<uuid>e6a4db1e-15c2-477b-ac2a-699181c396aa</uuid>


内的可选元素是文件系统类型、标签和
用户名。


相关要素, 和描述
安装在虚拟机中的应用程序。

,如果存在,描述所使用的包装系统。 典型值将
是“rpm”和“deb”。

,如果存在,描述包管理器。 典型值包括
“yum”、“up2date”和“apt”

列出安装的软件包或应用程序。



...


核心工具
8.5
1


某些类型的来宾可能无法使用版本和发布字段。 其他领域
是可能的,请参阅“guestfs_inspect_list_applications” 来宾(3)。


对于像 Windows 这样使用驱动器号的操作系统,virt-inspector 能够找到
了解驱动器号如何映射到文件系统。



...

/开发/ sda2
/开发/sdb1


在上面的示例中,驱动器 C 映射到第一个分区的第二个分区上的文件系统
磁盘,驱动器 E 映射到第二个磁盘上第一个分区上的文件系统。

请注意,这仅涵盖永久的本地文件系统映射,而不包括网络之类的东西
分享。 此外,此处可能未列出 NTFS 卷挂载点。


Virt-inspector 有时能够为来宾提取图标或徽标。 图标是
作为 base64 编码的 PNG 数据返回。 注意图标可以很大很大很高
质量。



...

iVBORw0KGgoAAAANSUhEUgAAAGAAAABg[......]
[...多行base64数据...]


要显示图标,您必须提取它并将 base64 数据转换回二进制
文件。 使用 XPath 查询或简单的编辑器来提取数据,然后使用 coreutils
base64(1) 转换回 PNG 文件的程序:

base64 -i -d < icon.data > icon.png

检查 载点 磁盘, 演出活动 光盘
Virt-inspector 可以检测安装盘、Live CD、
可启动的 USB 密钥等。

在这种情况下标签将包含“安装程序”,其他字段可能会出现在
表示 Live CD、网络安装程序或多部分 CD 的一部分。 例如:



/开发/ sda/根>
linux
i386
乌本图
Ubuntu 10.10“特立独行的猫鼬”
10
10
安装人员


路径 查询


Virt-inspector 包括对运行 XPath 查询的内置支持。 的原因
直接在 virt-inspector 中包含 XPath 支持只是没有好处和
可以执行 XPath 查询的广泛可用的命令行程序。 唯一好的一个是
小明星(1) 并且在 Red Hat Enterprise Linux 上不可用。

要执行 XPath 查询,请使用 --xpath 选项。 注意在这种模式下,virt-inspector
简单地从标准输入读取 XML 并在标准输出上输出查询结果。 所有其他检查
在此模式下禁用功能。

例如:

$ virt-inspector -d 访客 | virt-inspector --xpath '//文件系统'


分机4
[...]

$ virt-inspector -d 访客 |
virt-inspector --xpath "string(//filesystem[@dev='/dev/sda1']/type)"
ext4

$ virt-inspector -d 访客 |
virt-inspector --xpath 'string(//icon)' | base64 -i -d | 展示 -
[显示客人图标,如果有的话]

抵达 检查 数据 来宾 API


在 libguestfs 的早期版本中,virt-inspector 是一个大型 Perl 脚本,其中包含
检查客人的许多启发式方法。 这有几个问题:为了做到
来自其他工具(如 guestfish)的检查,我们不得不调用这个 Perl 脚本; 和
它使 Perl 优于 libguestfs 支持的其他语言。

在 libguestfs 1.8 中,我们用 C 重写了 Perl 代码,并将其全部合并到
核心 libguestfs API (来宾(3))。 现在 virt-inspector 只是一个精简的 C 程序
核心 C API。 所有的检查信息都可以从所有编程语言中获得
libguestfs 支持,来自guestfish。

有关 C 检查 API 的说明,请阅读 来宾(3)。

例如使用 C 检查 API 的代码,请查找 检查-vm.c 随附
libguestfs。

检查-vm.c 还被翻译成其他语言。 例如, 检查_vm.pl is
Perl 翻译,还有 OCaml、Python 等的其他翻译。请参阅“使用
具有其他编程语言的 LIBGUESTFS” 来宾(3) 获取手册页列表
包含此示例代码。

抵达 检查 数据 客鱼
如果你使用guestfish -i 选项,然后在主要的 C 检查 API "guestfs_inspect_os" 中
来宾(3) 被称为。 这相当于来宾鱼命令“inspect-os”。 你可以
也可以手动调用这个 guestfish 命令。

“inspect-os”对当前磁盘镜像执行检查,返回列表
找到的操作系统。 每个操作系统都由其根文件系统设备表示。 在里面
大多数情况下,此命令不打印任何内容(未找到操作系统)或单个根设备,
但请注意,如果有多个操作系统或有多个操作系统,它可以打印多行
安装附加到来宾的 CD。

$ guestfish --ro -a F15x32.img
> 跑
> 检查操作系统
/dev/vg_f15x32/lv_root

使用根设备,您可以获取有关来宾的更多信息:

> 检查获取类型 /dev/vg_f15x32/lv_root
Linux的
> 检查-get-distro /dev/vg_f15x32/lv_root
软呢帽
> 检查获取主要版本/dev/vg_f15x32/lv_root
15
> 检查获取产品名称 /dev/vg_f15x32/lv_root
Fedora 版本 15 (Lovelock)

guestfish 的局限性使得很难将根设备分配给变量(因为
guestfish 没有变量),所以如果你想重复地这样做,你会更好
使用 libguestfs API 支持的其他语言之一编写脚本。

要列出应用程序,您必须首先安装磁盘:

> 检查-获取-挂载点/dev/vg_f15x32/lv_root
/:/dev/vg_f15x32/lv_root
/启动:/dev/vda1
> mount-ro /dev/vg_f15x32/lv_root /
> mount-ro /dev/vda1 /启动

然后调用检查列表应用程序 API:

> 检查列表应用程序 /dev/vg_f15x32/lv_root | 头-28
[0] = {
app_name:控制台套件
app_display_name:
app_epoch:0
app_version:0.4.5
应用程序发布:1.fc15
应用安装路径:
app_trans_path:
应用发布者:
应用网址:
app_source_package:
应用摘要:
应用描述:
}
[1] = {
app_name:ConsoleKit-libs
app_display_name:
app_epoch:0
app_version:0.4.5
应用程序发布:1.fc15
应用安装路径:
app_trans_path:
应用发布者:
应用网址:
app_source_package:
应用摘要:
应用描述:
}

要为来宾显示图标,请注意文件系统也必须按上述方式挂载。
然后你可以这样做:

> 检查-get-icon /dev/vg_f15x32/lv_root | 展示 -

版本 OF 视察员


如上所述,libguestfs 的早期版本带有不同的 virt-inspector
用 Perl 编写的程序(当前版本是用 C 编写的)。 Perl 的 XML 输出
virt-inspector 是不同的,它也可以输出其他格式,如文本。

旧的 virt-inspector 不再支持或随 libguestfs 一起提供。

更令人困惑的是,在 Red Hat Enterprise Linux 6 中,我们提供了两个版本的 virt-
不同名称的检查员:

virt-inspector 旧的 Perl 版本。
virt-inspector2 新的 C 版本。

退出 状态


如果成功,该程序返回 0,如果有错误,则返回非零。

使用 onworks.net 服务在线使用 virt-inspector



最新的 Linux 和 Windows 在线程序