python-hwinfo:使用 Linux 系統工具展示硬體資訊概況

2daygeek發表於2018-01-26

python-hwinfo:使用 Linux 系統工具展示硬體資訊概況

到目前為止,我們已經介紹了大部分獲取 Linux 系統硬體資訊和配置的工具,不過也有許多命令可用於相同目的。

而且,一些工具會顯示所有硬體元件的詳細資訊,或只顯示特定裝置的資訊。

在這個系列中, 今天我們討論一下關於 python-hwinfo, 它是一個展示硬體資訊概況的工具之一,並且其配置簡潔。

什麼是 python-hwinfo

這是一個透過解析系統工具(例如 lspcidmidecode)的輸出,來檢查硬體和裝置的 Python 庫。

它提供了一個簡單的命令列工具,可以用來檢查本地、遠端的主機和記錄的資訊。用 sudo 執行該命令以獲得最大的資訊。

另外,你可以提供伺服器 IP 或者主機名、使用者名稱和密碼,在遠端的伺服器上執行它。當然你也可以使用這個工具檢視其它工具捕獲的輸出(例如 demidecode 輸出的 dmidecode.out/proc/cpuinfo 輸出的 cpuinfolspci -nnm 輸出的 lspci-nnm.out)。

建議閱讀:

  • Inxi:一個功能強大的獲取 Linux 系統資訊的命令列工具
  • Dmidecode:獲取 Linux 系統硬體資訊的簡易方式
  • LSHW (Hardware Lister): 一個在 Linux 上獲取硬體資訊的漂亮工具
  • hwinfo (Hardware Info):一個在 Linux 上檢測系統硬體資訊的漂亮工具
  • 如何使用 lspci、lsscsi、lsusb 和 lsblk 獲取 Linux 系統裝置資訊

Linux 上如何安裝 python-hwinfo

在絕大多數 Linux 發行版,都可以透過 pip 包安裝。為了安裝 python-hwinfo, 確保你的系統已經有 Python 和python-pip 包作為先決條件。

pip 是 Python 附帶的一個包管理工具,在 Linux 上安裝 Python 包的推薦工具之一。

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

$ sudo apt install python-pip

在 RHEL/CentOS 平臺,使用 YUM 命令安裝 pip

$ sudo yum install python-pip python-devel

在 Fedora 平臺,使用 DNF 命令安裝 pip

$ sudo dnf install python-pip

在 Arch Linux 平臺,使用 Pacman 命令安裝 pip

$ sudo pacman -S python-pip

在 openSUSE 平臺,使用 Zypper 命令安裝 pip

$ sudo zypper python-pip

最後,執行下面的 pip 命令安裝 python-hwinfo。

$ 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。
$ sudo hwinfo

Bios Info:

+----------------------+--------------------------------------+
| Key                  | Value                                |
+----------------------+--------------------------------------+
| bios_vendor_name     | IBM                                  |
| system_product_name  | System x3550 M3: -[6102AF1]-         |
| system_serial_number | RS2IY21                              |
| chassis_type         | Rack Mount Chassis                   |
| system_uuid          | 4C4C4544-0051-3210-8052-B2C04F323132 |
| system_manufacturer  | IBM                                  |
| socket_count         | 2                                    |
| bios_release_date    | 10/21/2014                           |
| bios_version         | -[VLS211TSU-2.51]-                   |
| socket_designation   | Socket 1, Socket 2                   |
+----------------------+--------------------------------------+

CPU Info:

+-----------+--------------+------------+-------+----------+------------------------------------------+----------+
| processor |  vendor_id   | cpu_family | model | stepping |                model_name                | cpu_mhz  |
+-----------+--------------+------------+-------+----------+------------------------------------------+----------+
|     0     | GenuineIntel |     6      |   45  |    7     | Intel(R) Xeon(R) CPU E5-1607 0 @ 3.00GHz | 1200.000 |
|     1     | GenuineIntel |     6      |   45  |    7     | Intel(R) Xeon(R) CPU E5-1607 0 @ 3.00GHz | 1200.000 |
|     2     | GenuineIntel |     6      |   45  |    7     | Intel(R) Xeon(R) CPU E5-1607 0 @ 3.00GHz | 1200.000 |
|     3     | GenuineIntel |     6      |   45  |    7     | Intel(R) Xeon(R) CPU E5-1607 0 @ 3.00GHz | 1200.000 |
|     4     | GenuineIntel |     6      |   45  |    7     | Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz | 1200.000 |
+-----------+--------------+------------+-------+----------+------------------------------------------+----------+

Ethernet Controller Info:

+-------------------+-----------+---------------------------------+-----------+-------------------+--------------+---------------------------------+--------------+
|    vendor_name    | vendor_id |           device_name           | device_id |   subvendor_name  | subvendor_id |          subdevice_name         | subdevice_id |
+-------------------+-----------+---------------------------------+-----------+-------------------+--------------+---------------------------------+--------------+
| Intel Corporation |    8086   | I350 Gigabit Network Connection |    1521   | Intel Corporation |     8086     | I350 Gigabit Network Connection |     1521     |
+-------------------+-----------+---------------------------------+-----------+-------------------+--------------+---------------------------------+--------------+

Storage Controller Info:

+-------------------+-----------+----------------------------------------------+-----------+----------------+--------------+----------------+--------------+
|    vendor_name    | vendor_id |                 device_name                  | device_id | subvendor_name | subvendor_id | subdevice_name | subdevice_id |
+-------------------+-----------+----------------------------------------------+-----------+----------------+--------------+----------------+--------------+
| Intel Corporation |    8086   |   C600/X79 series chipset IDE-r Controller   |    1d3c   |      Dell      |     1028     | [Device 05d2]  |     05d2     |
| Intel Corporation |    8086   | C600/X79 series chipset SATA RAID Controller |    2826   |      Dell      |     1028     | [Device 05d2]  |     05d2     |
+-------------------+-----------+----------------------------------------------+-----------+----------------+--------------+----------------+--------------+

GPU Info:

+--------------------+-----------+-----------------------+-----------+--------------------+--------------+----------------+--------------+
|    vendor_name     | vendor_id |      device_name      | device_id |   subvendor_name   | subvendor_id | subdevice_name | subdevice_id |
+--------------------+-----------+-----------------------+-----------+--------------------+--------------+----------------+--------------+
| NVIDIA Corporation |    10de   | GK107GL [Quadro K600] |    0ffa   | NVIDIA Corporation |     10de     | [Device 094b]  |     094b     |
+--------------------+-----------+-----------------------+-----------+--------------------+--------------+----------------+--------------+

怎麼在遠處機器上使用 python-hwinfo

執行下面的命令檢查遠端機器現有的硬體,需要遠端機器 IP,使用者名稱和密碼:

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

如何使用 python-hwinfo 讀取記錄的輸出

執行下面的命令,檢查本地機器現有的硬體。輸出很清楚和整潔,這是我在其他命令中沒有看到的。

$ hwinfo -f [Path to file]

via: https://www.2daygeek.com/python-hwinfo-check-display-system-hardware-configuration-information-linux/

作者:2DAYGEEK 譯者:Torival 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章