discover — 硬件检测工具
概要
discover [数据选项] [显示选项] [--bus-summary] [总线 ...]
discover [数据选项] [显示选项] --type-summary [类型 ...]
discover [数据选项] --data-path=path/to/data ... [--data-version=version] [--normalizewhitespace] [--format=format string] [类型 | id ...]
数据选项
-d | --disable-bus=总线
-e | --enable-bus=总线
--insert-url=url
--append-url=url
-v | --verbose
显示选项
--model | --no-model
--model-id | --no-model-id
--vendor | --no-vendor
--vendor-id | --no-vendor-id
描述
discover 提供了一个可扩展的硬件检测和报告接口。硬件信息存储在 XML 数据格式中,并且可以跨网络检索。
基本操作模式:
通过 --type-summary 或 --bus-summary(后者是默认行为)显示硬件设备列表,基于设备类型或设备所在的系统总线。
通过 --data-path 查询附加硬件的指定数据。
选项
-h | --help
显示简单的帮助信息。
-v | --verbose
指示该工具在运行过程中提供反馈。这将影响输出,因为 discover 在解析某些参数时会这样做,因此它应该出现在命令行中。
-V | --version
显示工具名称和版本。
-b | --bus-summary
这是默认行为:显示关于适当总线上的所有设备的基本信息。请参见“选择总线”>。
-t | --type-summary
按硬件类别汇总设备。有效设备类型的示例包括宽带、固定磁盘、显示和网络。请参见“设备类型”>。
--data-path=path/to/data
查询匹配的设备以获取详细信息。设备特定的数据以分层方式存储,并且查询参数包含命名该层次中每个级别的字符串。
通常,数据路径的顶层组件将是需要信息的“平台”,例如 linux 或 xfree86。例如,要检索硬件的 Linux 内核模块名称,则 --data-path 参数将为 linux/module/name。
如果给出了多个 --data-path 参数,并且没有提供格式字符串(请参见 --format),则仅使用最后一个路径。
另请参见 --data-version 参数。
--data-version=version
为将使用由 --data-path 参数指定的信息的平台指定一个版本字符串。
此字符串必须采用点分十进制表示法,以便与一系列值进行匹配,因此它可以短于实际版本。
--format=format string
指定由 --data-path 参数指定的查询结果的输出格式。此格式字符串应遵循 [printf]({filename}../../printf)(3) 规范,尽管仅支持 %s 以及适当的标志、精度和宽度值(或者有意义);也可以使用文字和 %%。字符串格式不佳时的行为是未定义的。另请参阅 --normalize-whitespace。
-d | --disable-bus=bus
使用此选项以覆盖 discover.conf 中定义的默认扫描总线列表。使用 all 作为参数以禁用所有总线;这只有在后面跟有 --enable-bus(或 -e)参数时才有用。
-e | --enable-bus=bus
指定要扫描的总线。
--insert-url=url
将 URL 插入到要包含在搜索硬件信息的网络资源列表的开头。较早的数据会覆盖较晚的数据;要覆盖本地数据源,请将 URL 插入到列表中。另请参阅 --append-url。
--append-url=url
将 URL 附加到要搜索硬件信息的网络资源列表的末尾。另请参阅 --insert-url。
--model
在摘要信息中包含型号描述。默认情况下启用。
--model-id
在摘要信息中包含数字型号标识符。
--no-model
不在摘要信息中包含型号描述。
--no-model-id
不包含数字型号标识符。这是默认设置。
--vendor
在摘要信息中包含供应商描述。默认情况下启用。
--vendor-id
在摘要信息中包含数字供应商标识符。
--no-vendor
不在摘要信息中包含供应商描述。
--no-vendor-id
不包含数字供应商标识符。这是默认设置。
--normalize-whitespace
合并 --data-path 查询结果中的空格。默认情况下不进行此操作,而是忠实地再现原始 XML 数据中的所有文本。
启用此选项后,将删除前导和尾随空格,并将任何连续的内部空格压缩为一个空格字符。
选择总线
discover.conf 定义了两个系统总线列表:一个用于默认扫描(由 discover 命令使用),另一个永远不扫描(由 Discover 库使用)。
可以使用 --disable-bus 和 --enable-bus 覆盖和/或扩展默认总线列表。无法通过更改 discover.conf 来覆盖不扫描的总线列表,因此该列表应仅用于可能危险的探查总线。
两个参数都接受字符串 \`\`all'' 作为值。
如果正在执行总线摘要,这表示通过存在 --bus-summary 或不存在 --type-summary 和 --data-path,命令行上的任何未附加的参数都将被解释为唯一要扫描的总线。这等效于在调用 --enable-bus 之前使用 --disable-bus all。
Discover 当前支持以下总线:
ata
pci
pcmcia
scsi
usb
设备类型
Discover 定义了自己的设备类型,并将每种总线使用的设备类型映射到这些设备类型。 Discover 目前识别以下设备类型:
audio
能够产生模拟或数字声音信号的设备是音频设备。
通常,任何通常被称为“声卡”的设备都由 Discover 归类为音频设备。
bridge
提供对不同类型设备的访问权限的设备,通常位于不同的总线上,是桥接设备。 例如,消费级 PCI 芯片组通常具有连接到 ATA(也称为 IDE)设备的桥接。
broadband
一种实现于并非专门为此目的设计的技术之上的计算机通信网络接口设备是宽带设备。 示例包括 ISDN 终端适配器以及 DSL 和有线“调制解调器”;模拟电话线调制解调器不包括在此分类中(请参见“调制解调器”)。
display
由主机 CPU 控制并能够产生用于输出目的的模拟或数字视频信号的设备是显示设备。 通常,任何通常被称为“显卡”的设备都由 Discover 归类为显示设备。
fixeddisk
高速固定磁存储设备,如硬盘驱动器,是固定磁盘设备。 可移动介质设备,如软盘驱动器、CD-ROM 驱动器、磁光设备、磁带驱动器和 Compact Flash 读卡器,不包括在此分类中。
humaninput
一种接收来自人的触觉输入以用于指导计算机活动的设备是人机输入设备。 示例包括键盘、鼠标、轨迹球、操纵杆、游戏手柄、用触控笔或手指操作的数字平板电脑等。 依赖于非触觉手段来确定人的意图的输入设备,如语音识别设备或摄像头,不包括在此分类中。
imaging
一种用于输入目的捕获静态图像的设备是成像设备。 扫描仪和数码相机是成像设备的示例。 运动捕捉设备,如电视调谐卡、网络摄像头和数字摄像机,不包括在此分类中。
miscellaneous
任何不能逻辑地归类为其他设备类型的设备都是其他设备。
modem
Discover 将模拟电话线调制解调器归类为调制解调器设备。 没有其他类型的设备被归类为这种类型。
network
一种连接到传统计算机数据通信网络的接口设备,不需要使用终端适配器,是网络设备。 例如,以太网和令牌环网络接口卡是网络设备。 模拟电话线调制解调器;用于 ISDN 和 DSL 等技术的终端适配器;以及“有线调制解调器”不属于“网络”设备。
optical
一种光学技术存储设备,通常使用只读介质,是一种光学设备。其中最常见的例子是 CD-ROM 和 DVD-ROM 驱动器,包括可以“刻录”(写入)光学光盘的这些驱动器的版本。
printer
一种将视觉输出以永久或半永久方式渲染到物理介质上的设备,是一种打印机。通常,任何口语上被称为“打印机”的设备也被 Discover 归类为打印机。
removabledisk
存储设备,其特点是使用可移动介质,采用除磁带、CD-ROM 和 DVD-ROM 驱动器之外的任何技术,都是可移动磁盘设备。示例包括软盘驱动器、磁光驱动器和 Compact Flash 卡读卡器。
tape
一种使用磁带的顺序访问大容量存储设备,是一种磁带设备。DAT 驱动器常用于存档和备份,是磁带设备的示例。
video
一种产生用于输入的实时数字视频信号的设备,是一种视频设备。网络摄像头、数字摄像机和电视调谐器是视频设备的示例。请注意,带有“电影”功能的静态数码相机除非可以实时将视频信号传输到主机,否则不被认为是视频设备。
示例
扫描本地总线
# discover
Intel Corporation 82815 Chipset Host Bridge and Memory Controller Hub
unknown unknown
unknown unknown
unknown unknown
Intel Corporation 82815 Chipset IDE controller
Intel Corporation 82815 Chipset USB (A)
Intel Corporation 82815 System Management bus controller
ATI Technologies, Inc. Rage 128 Pro GL [PF]
3om Corporation 3c905C-TX [Fast Etherlink]
Ensoniq ES1371 [AudioPCI-97]
unknown unknown
查看 PCI 显卡
# discover -v --type-summary --disable-bus all --enable-bus pci display
Disabled pci
Disabled pcmcia
Disabled scsi
Disabled usb
Enabled pci
Loading XML data... pci Done
Scanning buses... pci Done
ATI Technologies, Inc. Rage 128 Pro GL [PF]
查询 XFree86 服务器版本 4.2.0 的驱动程序模块
# discover --data-path=xfree86/server/device/driver --data-version=4.2.0 display
ati
按类型获取型号和供应商信息
$ discover -t --no-model
Intel Corporation
NVIDIA Corporation
3om Corporation
$ discover -t --no-vendor
82815System Management bus controller
Vanta [NV6]
3905C-TX [Fast Etherlink]
文件
/etc/discover.conf.d
包含控制 Discover 工具和 Discover 库的默认行为的配置文件。
file:///lib/discover/list.xml
一个包含硬件信息的 URL 的 XML 文件。可以使用 --append-url 和 --extend-url 扩展此列表。
作者
Josh Bressers、John R. Daily 和 G. Branden Robinson 为 Progeny Linux Systems 开发了当前版本的 Discover。
Linux 实现的系统相关接口是从 MandrakeSoft SA 的 detect 派生而来。
另请参阅
discover.conf(5), discover-modprobe(8)