Lshw е инструмент за команден ред на Linux за намиране на информация за инсталирания хардуер на вашия компютър/сървър. Lshw може да докладва информация за дънната/дънната платка, процесора, паметта, диска, PCIE, USB и друга хардуерна информация.
Lshw се предлага във всяка дистрибуция на Linux. Така че можете да използвате един и същ инструмент, за да намерите необходимата хардуерна информация за всяка Linux дистрибуция.
В тази статия ще ви покажем как да инсталирате lshw на популярни Linux дистрибуции и да го използвате, за да намерите информация за хардуера.
Тема на съдържанието:
- Инсталиране на Lshw на Ubuntu/Debian/Linux Mint/Kali Linux
- Инсталиране на Lshw на Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream
- Изброяване на наличния хардуер с Lshw
- Филтриране на Lshw изхода с хардуерен клас
- Намиране на подробна информация за хардуера с Lshw
- Скриване на чувствителна информация от изхода Lshw
- Показване на цифровите идентификатори за PCIe и USB устройства
- Премахване на непостоянните времеви клейма от Lshw изхода
- Експортиране на информация за хардуера чрез Lshw
- Пример 1: Намиране на инсталираните графични процесори на вашия компютър/сървър с Lshw
- Пример 2: Намиране на чипсета на мрежовите устройства/интерфейси с Lshw
- Заключение
- Препратки
Инсталиране на Lshw на Ubuntu/Debian/Linux Mint/Kali Linux
Lshw е наличен в официалното хранилище на пакети на Ubuntu/Debian/Linux Mint/Kali Linux. Така че можете лесно да го инсталирате на вашия компютър/сървър.
Първо актуализирайте кеша на хранилището на APT пакети със следната команда:
$ sudo подходяща актуализация
За да инсталирате lshw, изпълнете следната команда:
$ sudo ап Инсталирай -и и т.н
Lshw трябва да бъде инсталиран на вашата Ubuntu/Debian/Linux Mint/Kali Linux система.
Инсталиране на Lshw на Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream
Lshw е наличен в официалното хранилище на пакети на Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Така че можете лесно да го инсталирате на вашия компютър/сървър.
Първо актуализирайте кеша на хранилището на DNF пакети със следната команда:
$ sudo dnf makecache
За да инсталирате lshw, изпълнете следната команда:
$ sudo dnf Инсталирай и т.н
За да потвърдите инсталацията, натиснете “Y” и след това натиснете
Lshw трябва да бъде инсталиран на вашата система Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream.
Изброяване на наличния хардуер с Lshw
Можете да изброите целия наличен хардуер на вашия компютър/сървър с lshw, както следва:
$ sudo и т.н -къс
Целият наличен хардуер на вашия компютър/сървър трябва да бъде изброен в приятен формат.
Тук ще намерите следната информация:
- H/W път : Това е физическият път на хардуера, който е инсталиран на вашия компютър/сървър. Тук /0 е дънната платка, /0/100 е процесорът (свързан към дънната платка), /0/100/
е хардуерът, който е свързан към лентите на процесора и т.н. - устройство : Това е присвоеното от ядрото име/идентификатор на хардуера. Най-често срещаният пример е името/идентификаторът на мрежовите устройства като enp38s0, enp39s0 и др.
- Клас : Целият хардуер на вашия компютър/сървър принадлежи към определена група/клас. Например мрежовите устройства са групирани в мрежовия клас, устройствата за съхранение са групирани в класа за съхранение и т.н. Хардуерният клас може да се използва за филтрирайте изхода на lshw .
- Описание : Това е кратко описание на съответния хардуер.
Ако искате да видите информацията за шината на хардуера вместо хардуерния път (H/W път), изпълнете командата lshw, както следва:
$ sudo и т.н -businfo
Както можете да видите, първата колона сега показва информацията за шината на хардуера вместо хардуерния път.
Информацията за шината на различен хардуер ще показва информацията в различни формати:
- процесор : Шината ID на процесорите ще бъде в cpu@
, Например CPU cpu@0 (процесор AMD Ryzen 9 3900X в моя случай) има ID 0. На повечето настолни компютри и лаптопи, ще имате само един процесор и един CPU запис, който е „cpu@0“. - PCIE устройства: Шината ID на PCIE устройствата ще бъде в pci@<домейн>:<шина>:<слот>.<функция > Номерът
се нарича още номер . Например, PCIE устройството pci@0000:26:00.0 (I211 гигабитово мрежово устройство в нашия случай) има домейн 0000, шина 26, слот/устройство 00 и функция 0. ID номерата са шестнадесетични и подплатени с нули. - SCSI устройства : Шината ID на SCSI устройствата за съхранение ще бъде в scsi@<контролер>:<цел>.
. ,<дял > Например scsi@1:0.0.0 е SCSI/SATA устройство за съхранение, което има контролер 1, цел 0, id 0, lun 0 и няма дялове. Ако SCSI/SATA устройството за съхранение има дялове, идентификаторът на шината ще бъде scsi@1:0.0.0,1 за първия дял, scsi@1:0.0.0,2 за втория дял, scsi@1:0.0.0 ,3 за третия дял и т.н. - USB устройства : Шината ID на USB устройства за съхранение ще бъде в usb@<контролер>:<слот>.<ид > Например, usb@3:6.3 е USB устройство, което има контролер 3, слот 6 и идентификатор 3. Usb@3:1 е USB устройство, което има контролер 3 и слот 1.
Филтриране на Lshw изхода с хардуерен клас
Lshw присвоява клас на всяко хардуерно устройство. Можете да филтрирате изхода на командата „lshw“, за да включите само определени типове хардуер, използвайки тези имена на класове.
Наличните lshw хардуерни класове са:
- система : Дънната платка и PnP устройствата на системата.
- мост : Вътрешните шинни устройства като PCIE, хост мост и др.
- памет : Устройствата с памет като BIOS, RAM, ROM, кешове на процесора, фърмуер и др.
- процесор : Процесорите на вашия компютър и SCSI RAID контролерите.
- адрес : Адресите на паметта за разширение ROM и видео.
- съхранение : SCSI и IDE контролерът.
- диск : Устройствата за съхранение с произволен достъп като HDD, SSD, NVME SSD, CD-ROM, DVD и др.
- сила на звука : Дяловете на вашия диск/устройства за съхранение.
- лента : Устройствата за съхранение с последователен достъп като DAT, DDS и др.
- автобус : Шината за свързване на устройства като USB, SCSI, FireWire и др.
- мрежа : Мрежовите интерфейси като Ethernet, WiFi и др.
- дисплей : Устройствата за показване като вашия GPU.
- вход : Входните устройства като вашите клавиатури, мишки, HDMI/DP портове, HD аудио портове, бутон за захранване, високоговорител за компютър и др.
- принтер : Печатащите устройства, т.е. принтер.
- мултимедия : Аудио и видео устройства като видео карта (GPU), звукова карта, TV изходна карта и др.
- комуникация : Комуникационните устройства като Bluetooth.
- мощност : Източници на енергия като захранване (PSU), вътрешна батерия и др.
- генеричен : Устройствата, които не могат да бъдат класифицирани.
Не всички компютри/сървъри ще имат инсталиран всеки клас хардуер. Така че, за да намерите класовете хардуер, които вашият компютър/сървър има, ви препоръчваме да изпълните командата „lshw“ с опцията „-short“ или „-businfo“.
$ sudo и т.н -къс$ sudo и т.н -businfo
За да филтрирате изхода на командата „lshw“, за да покажете само специфичните типове хардуер (т.е. устройства за съхранение), използвайте опцията „-class“, както следва:
$ sudo и т.н -businfo -клас диск
или
$ sudo и т.н -къс -клас диск
Както можете да видите, lshw изброи само устройствата за съхранение (2x 500GB Samsung 860 EVO SATA SSD), които са инсталирани на нашия компютър.
Можете да използвате опцията „-class“ няколко пъти, за да покажете няколко типа хардуер наведнъж с командата „lshw“.
Например, за да покажете устройствата за съхранение, както и дисковите дялове с помощта на командата „lshw“, използвайте опцията „-class“ два пъти, както следва:
$ sudo и т.н -businfo -клас диск -клас сила на звука
или
$ sudo и т.н -къс -клас диск -клас сила на звука -клас
Както можете да видите, lshw изброи устройствата за съхранение, както и дяловете на тези устройства за съхранение.
Намиране на подробна информация за хардуера с Lshw
За да намерите подробна информация за конкретни видове хардуер (т.е. мрежа), стартирайте lshw с опцията „-class“, както следва:
$ sudo и т.н -клас мрежа
Както можете да видите, се отпечатва много подробна информация за всички мрежови устройства, които са инсталирани на нашия компютър.
Скриване на чувствителна информация от изхода Lshw
По подразбиране командата „lshw“ отпечатва чувствителна информация (напр. MAC адрес на мрежови устройства), докато показва подробна информация за хардуера. Ако трябва да споделите информацията за хардуера с други хора в интернет, за да получите помощ при инсталирането на драйвер например, може да искате да скриете тази чувствителна информация от изхода на lshw.
За да скриете чувствителната информация от подробната информация за хардуера, можете да използвате опцията „-sanitize“ на командата „lshw“, както следва:
$ sudo и т.н - дезинфекцирайте -клас мрежа
Както можете да видите, MAC адресите и IP адресите са премахнати от мрежовите устройства.
Показване на цифровите идентификатори за PCIe и USB устройства
По подразбиране цифровите идентификатори не се показват за PCIe и USB устройствата в изхода на командата „lshw“.
За да покажете цифровите идентификатори на PCIe и USB устройствата в изхода на командата „lshw“, използвайте опцията „-numeric“, както следва:
$ sudo и т.н - числови -клас мрежа
или
$ sudo и т.н - числови -клас автобус
Както можете да видите, цифровите идентификатори се показват за USB устройствата в изхода на командата 'lshw'.
Премахване на непостоянните времеви клейма от Lshw изхода
По подразбиране lshw отпечатва променливите времеви марки (променящи се данни за време) за дискови томове и други устройства. Ако не искате да виждате тези времеви марки, изпълнете командата „lshw“ с опцията „-notime“, както следва:
$ sudo и т.н -няма време -клас сила на звука
Както можете да видите, монтираните данни за клеймо за време се премахват от изхода на lshw, където се използва опцията „-notime“.
Експортиране на информация за хардуера чрез Lshw
Можете да експортирате информацията за хардуера на lshw в различни формати. Към момента на писане на това lshw може да експортира информацията за хардуера в следните формати:
- SQLite база данни
- HTML
- XML
- JSON
За да експортирате информацията за хардуера lshw към файл на SQLite база данни, изпълнете следната команда:
$ sudo и т.н -сметище ~ / данни / lshw.db &>/ разработка / нула
Както можете да видите, файлът с база данни SQLite „lshw.db“ е създаден.
$ ls -лч ~ / данни
Можете да прочетете файла на базата данни „lshw.db“ с SQLite и да отпечатате всички таблици на базата данни, както следва:
$ sudo sqlite3 ~ / данни / lshw.db -- линия '.tables'
Можете да отпечатате информация за мрежовите устройства от файла „lshw.db“ със следната команда SQLite:
$ sudo sqlite3 ~ / данни / lshw.db -- линия 'SELECT * FROM възли WHERE клас LIKE 'мрежа''
За да експортирате информацията за хардуера lshw в HTML файл, изпълнете следната команда:
$ sudo и т.н -html > ~ / данни / lshw.html
Ако искате да дезинфекцирате/скриете и поверителна информация, изпълнете командата за експортиране на lshw HTML, както следва:
$ sudo и т.н - дезинфекцирайте -html > ~ / данни / lshw.html
Както можете да видите, информацията за хардуера на lshw се експортира в HTML файл „lshw.html“.
$ ls -лч ~ / данни
Можете да отворите файла „lshw.html“ с любимия си уеб браузър.
$ firefox ~ / данни / lshw.html
Отворихме файла „lshw.html“ с уеб браузъра Mozilla Firefox и информацията за хардуера се показва, както можете да видите на следната екранна снимка:
За да експортирате информацията за хардуера lshw в XML файл, изпълнете следната команда:
$ sudo и т.н -xml > ~ / данни / lshw.xml
Ако искате да дезинфекцирате/скриете и поверителна информация, изпълнете командата за експортиране на XML lshw, както следва:
$ sudo и т.н - дезинфекцирайте -xml > ~ / данни / lshw.xml
Както можете да видите, информацията за хардуера на lshw се експортира в XML файл „lshw.xml“.
$ ls -лч ~ / данни
Отворихме файла „lshw.xml“ с текстовия редактор на Vim и информацията за хардуера на lshw се показва в XML формат, както можете да видите на следната екранна снимка:
$ защото ~ / данни / lshw.xml
За да експортирате информацията за хардуера lshw в JSON файл, изпълнете следната команда:
$ sudo и т.н -json > ~ / данни / lshw.json
Ако искате да дезинфекцирате/скриете и поверителна информация, изпълнете командата за експортиране на JSON lshw, както следва:
$ sudo и т.н - дезинфекцирайте -json > ~ / данни / lshw.json
Както можете да видите, информацията за хардуера на lshw се експортира в JSON файл „lshw.json“.
$ ls -лч ~ / данни
Отворихме файла „lshw.json“ с текстовия редактор на Vim и информацията за хардуера на lshw се показва във формат JSON, както можете да видите на следната екранна снимка:
$ защото ~ / данни / lshw.json
Опциите lshw -sanitize, -numeric и -notime ще работят за lshw HTML, XML и JSON експорти, но не и за SQLite експорт. За повече информация относно тези опции прочетете предишните раздели на тази статия.
Пример 1: Намиране на инсталираните графични процесори на вашия компютър/сървър с Lshw
След като инсталирате нова операционна система на вашия компютър/сървър, едно от най-важните неща, които трябва да направите, е да намерите графичния процесор (графична карта/процесор), който сте инсталирали на вашия компютър/сървър, и да инсталирате подходящия драйвер за него.
Можете да намерите графичните процесори, които сте инсталирали на вашия компютър/сървър със следната команда „lshw“:
$ sudo и т.н -клас дисплей
Както можете да видите, на нашия компютър имаме инсталирана NVIDIA GeForce RTX 4070 [1] . Използва официалните драйвери на NVIDIA (както го инсталирахме) [2] . Ако имате инсталиран графичен процесор NVIDIA на вашия компютър/сървър, но официалните драйвери на NVIDIA не са инсталирани, вместо това ще видите „driver=nouveau“. В такъв случай ще трябва да инсталирате официалните драйвери на NVIDIA на вашия компютър/сървър, за да можете да използвате всички функции и да получите най-добрата производителност от вашия GPU.
Пример 2: Намиране на чипсета на мрежовите устройства/интерфейси с Lshw
Инсталирането на правилния мрежов драйвер също е съществена част от нова инсталация на Linux. Освен ако не са инсталирани правилните мрежови драйвери, вашите мрежови устройства може да не работят или да работят с ограничена функционалност (може да доведе до много лоша производителност на мрежата). За да можете да инсталирате правилните мрежови драйвери, трябва да знаете чипсета на вашите мрежови устройства.
За да намерите чипсета и друга информация за мрежовите устройства, които са инсталирани на вашия компютър/сървър, изпълнете командата „lshw“, както следва:
$ sudo и т.н -клас мрежа
Както можете да видите, имаме две Ethernet устройства, инсталирани на нашия компютър.
Един от тях е Intel I211 Gigabit мрежов интерфейс [1] . Ядрото на Linux му даде логично име като enp38s0 [2] . Както можете да видите, той използва Intel igb чипсет (driver=igb) [3] . Така че, за да работи този мрежов интерфейс, трябва да инсталирате драйвера/фърмуера на Intel igb на вашия компютър/сървър (ако вече не е инсталиран).
Другият е мрежов интерфейс Realtek RTL8125 2.5GbE [4] . Ядрото на Linux му даде логично име като enp39s0 [5] . Както можете да видите, той използва чипсет Realtek r8169 (driver=r8169) [6] . Така че, за да работи този мрежов интерфейс, трябва да инсталирате драйвера/фърмуера Realtek r8169 на вашия компютър/сървър (ако вече не е инсталиран).
Имаме и USB Ethernet устройство и WiFi адаптер, свързани към нашия компютър.
USB 10/100 mbps LAN мрежов интерфейс [1] има логичното име, enp42s0f3u6u3 [2] . Както можете да видите, той използва чипсет Realtek r8152 (driver=r8152) [6] . Така че, за да работи този мрежов интерфейс, трябва да инсталирате драйвера/фърмуера Realtek r8152 на вашия компютър/сървър (ако вече не е инсталиран).
Мрежовият интерфейс WiFi 802.11n [4] има логичното име като wlp42s0f3u1 [5]. Както можете да видите, той използва чипсета MediaTek mt7601u (driver=mt7601u) [6] . И така, за да работи този мрежов интерфейс, трябва да инсталирате драйвера/фърмуера на MediaTek mt7601u на вашия компютър/сървър (ако вече не е инсталиран).
Заключение
Това е обширно ръководство за lshw. В тази статия ви показахме как да инсталирате lshw на популярни Linux дистрибуции (т.е. Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). Също така ви показахме как да изброите хардуера на вашия компютър, да филтрирате изхода на lshw, за да покажете определени видове хардуер, и да скриете чувствителна хардуерна информация от изхода на lshw. Показахме ви как да покажете цифровия идентификатор за PCIE и USB устройства, както и да премахнете променливите времеви клейма от изхода на lshw. Също така ви показахме как да експортирате информацията за хардуера lshw в базата данни SQLite, HTML, XML и JSON формат и да ги прочетете. Накрая ви показахме как да намерите графичния процесор и мрежовите устройства, които сте инсталирали на вашия компютър, и чипсета, който мрежовите устройства използват с lshw, за да ви помогнем с правилната инсталация на драйвер/фърмуер.