python-hwinfo:使用 Linux 系統工具展示硬體信息概況
到目前為止,我們已經介紹了大部分獲取 Linux 系統硬體信息和配置的工具,不過也有許多命令可用於相同目的。
而且,一些工具會顯示所有硬體組件的詳細信息,或只顯示特定設備的信息。
在這個系列中, 今天我們討論一下關於 python-hwinfo, 它是一個展示硬體信息概況的工具之一,並且其配置簡潔。
什麼是 python-hwinfo
這是一個通過解析系統工具(例如 lspci
和 dmidecode
)的輸出,來檢查硬體和設備的 Python 庫。
它提供了一個簡單的命令行工具,可以用來檢查本地、遠程的主機和記錄的信息。用 sudo
運行該命令以獲得最大的信息。
另外,你可以提供伺服器 IP 或者主機名、用戶名和密碼,在遠程的伺服器上執行它。當然你也可以使用這個工具查看其它工具捕獲的輸出(例如 demidecode
輸出的 dmidecode.out
,/proc/cpuinfo
輸出的 cpuinfo
,lspci -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]
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive