这是 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