|
|
|
|
移动端

python-hwinfo:使用Linux系统工具展示硬件信息概况

今天我们讨论一下关于 python-hwinfo, 它是一个展示硬件信息概况的工具之一,并且其配置简洁。这是一个通过解析系统工具(例如 lspci 和 dmidecode)的输出,来检查硬件和设备的 Python 库。

作者:2daygeek来源:Linux中国|2018-01-26 13:10

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


python-hwinfo:使用Linux系统工具展示硬件信息概况

到目前为止,我们已经介绍了大部分获取 Linux 系统硬件信息和配置的工具,不过也有许多命令可用于相同目的。

而且,一些工具会显示所有硬件组件的详细信息,或只显示特定设备的信息。

在这个系列中, 今天我们讨论一下关于 python-hwinfo, 它是一个展示硬件信息概况的工具之一,并且其配置简洁。

什么是 python-hwinfo

这是一个通过解析系统工具(例如 lspcidmidecode)的输出,来检查硬件和设备的 Python 库。

它提供了一个简单的命令行工具,可以用来检查本地、远程的主机和记录的信息。用 sudo 运行该命令以获得最大的信息。

另外,你可以提供服务器 IP 或者主机名、用户名和密码,在远程的服务器上执行它。当然你也可以使用这个工具查看其它工具捕获的输出(例如 demidecode 输出的 dmidecode.out/proc/cpuinfo 输出的 cpuinfolspci -nnm 输出的 lspci-nnm.out)。

建议阅读:

Linux 上如何安装 python-hwinfo

在绝大多数 Linux 发行版,都可以通过 pip 包安装。为了安装 python-hwinfo, 确保你的系统已经有 Python 和python-pip 包作为先决条件。

pip 是 Python 附带的一个包管理工具,在 Linux 上安装 Python 包的推荐工具之一。

在 Debian/Ubuntu 平台,使用 APT-GET 命令 或者 APT 命令 安装 pip

  1. $ sudo apt install python-pip

在 RHEL/CentOS 平台,使用 YUM 命令安装 pip

  1. $ sudo yum install python-pip python-devel

在 Fedora 平台,使用 DNF 命令安装 pip

  1. $ sudo dnf install python-pip

在 Arch Linux 平台,使用 Pacman 命令安装 pip

  1. $ sudo pacman -S python-pip

在 openSUSE 平台,使用 Zypper 命令安装 pip

  1. $ sudo zypper python-pip

最后,执行下面的 pip 命令安装 python-hwinfo。

  1. $ sudo pip install python-hwinfo

怎么在本地机器使用 python-hwinfo

执行下面的命令,检查本地机器现有的硬件。输出很清楚和整洁,这是我在其他命令中没有看到的。

它的输出分为了五类:

  • Bios Info(BIOS 信息): BIOS 供应商名称、系统产品名称、系统序列号、系统唯一标识符、系统制造商、BIOS 发布日期和BIOS 版本。
  • CPU Info(CPU 信息):处理器编号、供应商 ID,CPU 系列代号、型号、步进编号、型号名称、CPU 主频。
  • Ethernet Controller Info(网卡信息): 供应商名称、供应商 ID、设备名称、设备 ID、子供应商名称、子供应商 ID,子设备名称、子设备 ID。
  • Storage Controller Info(存储设备信息): 供应商名称、供应商 ID、设备名称、设备 ID、子供应商名称,子供应商 ID、子设备名称、子设备 ID。
  • GPU Info(GPU 信息): 供应商名称、供应商 ID、设备名称、设备 ID、子供应商名称、子供应商 ID、子设备名称、子设备 ID。
  1. $ sudo hwinfo
  2.  
  3. Bios Info:
  4.  
  5. +----------------------+--------------------------------------+
  6. | Key | Value |
  7. +----------------------+--------------------------------------+
  8. | bios_vendor_name | IBM |
  9. | system_product_name | System x3550 M3: -[6102AF1]- |
  10. | system_serial_number | RS2IY21 |
  11. | chassis_type | Rack Mount Chassis |
  12. | system_uuid | 4C4C4544-0051-3210-8052-B2C04F323132 |
  13. | system_manufacturer | IBM |
  14. | socket_count | 2 |
  15. | bios_release_date | 10/21/2014 |
  16. | bios_version | -[VLS211TSU-2.51]- |
  17. | socket_designation | Socket 1, Socket 2 |
  18. +----------------------+--------------------------------------+
  19.  
  20. CPU Info:
  21.  
  22. +-----------+--------------+------------+-------+----------+------------------------------------------+----------+
  23. | processor | vendor_id | cpu_family | model | stepping | model_name | cpu_mhz |
  24. +-----------+--------------+------------+-------+----------+------------------------------------------+----------+
  25. | 0 | GenuineIntel | 6 | 45 | 7 | Intel(R) Xeon(R) CPU E5-1607 0 @ 3.00GHz | 1200.000 |
  26. | 1 | GenuineIntel | 6 | 45 | 7 | Intel(R) Xeon(R) CPU E5-1607 0 @ 3.00GHz | 1200.000 |
  27. | 2 | GenuineIntel | 6 | 45 | 7 | Intel(R) Xeon(R) CPU E5-1607 0 @ 3.00GHz | 1200.000 |
  28. | 3 | GenuineIntel | 6 | 45 | 7 | Intel(R) Xeon(R) CPU E5-1607 0 @ 3.00GHz | 1200.000 |
  29. | 4 | GenuineIntel | 6 | 45 | 7 | Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz | 1200.000 |
  30. +-----------+--------------+------------+-------+----------+------------------------------------------+----------+
  31.  
  32. Ethernet Controller Info:
  33.  
  34. +-------------------+-----------+---------------------------------+-----------+-------------------+--------------+---------------------------------+--------------+
  35. | vendor_name | vendor_id | device_name | device_id | subvendor_name | subvendor_id | subdevice_name | subdevice_id |
  36. +-------------------+-----------+---------------------------------+-----------+-------------------+--------------+---------------------------------+--------------+
  37. | Intel Corporation | 8086 | I350 Gigabit Network Connection | 1521 | Intel Corporation | 8086 | I350 Gigabit Network Connection | 1521 |
  38. +-------------------+-----------+---------------------------------+-----------+-------------------+--------------+---------------------------------+--------------+
  39.  
  40. Storage Controller Info:
  41.  
  42. +-------------------+-----------+----------------------------------------------+-----------+----------------+--------------+----------------+--------------+
  43. | vendor_name | vendor_id | device_name | device_id | subvendor_name | subvendor_id | subdevice_name | subdevice_id |
  44. +-------------------+-----------+----------------------------------------------+-----------+----------------+--------------+----------------+--------------+
  45. | Intel Corporation | 8086 | C600/X79 series chipset IDE-r Controller | 1d3c | Dell | 1028 | [Device 05d2] | 05d2 |
  46. | Intel Corporation | 8086 | C600/X79 series chipset SATA RAID Controller | 2826 | Dell | 1028 | [Device 05d2] | 05d2 |
  47. +-------------------+-----------+----------------------------------------------+-----------+----------------+--------------+----------------+--------------+
  48.  
  49. GPU Info:
  50.  
  51. +--------------------+-----------+-----------------------+-----------+--------------------+--------------+----------------+--------------+
  52. | vendor_name | vendor_id | device_name | device_id | subvendor_name | subvendor_id | subdevice_name | subdevice_id |
  53. +--------------------+-----------+-----------------------+-----------+--------------------+--------------+----------------+--------------+
  54. | NVIDIA Corporation | 10de | GK107GL [Quadro K600] | 0ffa | NVIDIA Corporation | 10de | [Device 094b] | 094b |
  55. +--------------------+-----------+-----------------------+-----------+--------------------+--------------+----------------+--------------+
  56.  

怎么在远处机器上使用 python-hwinfo

执行下面的命令检查远程机器现有的硬件,需要远程机器 IP,用户名和密码:

  1. $ hwinfo -m x.x.x.x -u root -p password

如何使用 python-hwinfo 读取记录的输出

执行下面的命令,检查本地机器现有的硬件。输出很清楚和整洁,这是我在其他命令中没有看到的。

  1. $ hwinfo -f [Path to file] 

【编辑推荐】

  1. 如何在Linux中轻松隐藏文件和文件夹
  2. 如何通过Linux命令行连接WiFi
  3. 都说不会这27道Linux面试题,一定不是好运维!
  4. 如何在Linux中从PDF创建视频
  5. 一秒内诊断Linux服务器的性能
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

SOA 原理•方法•实践

本书并不是关于Web服务的又一本开发手册,抑或是开发技术的宝典之类的读物。本书的作者来自于IBM软件开发中心的SOA技术中心,作为最早的一...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊