Paano Mag-install ng Lshw sa Linux at Gamitin Ito Para Maghanap ng Impormasyon sa Hardware

Paano Mag Install Ng Lshw Sa Linux At Gamitin Ito Para Maghanap Ng Impormasyon Sa Hardware



Ang Lshw ay isang Linux command-line tool upang makahanap ng impormasyon sa naka-install na hardware ng iyong computer/server. Maaaring iulat ng Lshw ang motherboard/mainboard, CPU, memory, disk, PCIE, USB, at iba pang impormasyon ng hardware.

Available ang Lshw sa bawat pamamahagi ng Linux doon. Kaya, maaari mong gamitin ang parehong tool upang mahanap ang kinakailangang impormasyon ng hardware sa bawat pamamahagi ng Linux.







Sa artikulong ito, ipapakita namin sa iyo kung paano i-install ang lshw sa mga sikat na distribusyon ng Linux at gamitin ito upang mahanap ang impormasyon ng hardware.



Paksa ng Nilalaman:

Pag-install ng Lshw sa Ubuntu/Debian/Linux Mint/Kali Linux

Ang Lshw ay magagamit sa opisyal na imbakan ng pakete ng Ubuntu/Debian/Linux Mint/Kali Linux. Kaya, madali mo itong mai-install sa iyong computer/server.



Una, i-update ang APT package repository cache gamit ang sumusunod na command:





$ sudo angkop na pag-update



Upang mai-install ang lshw, patakbuhin ang sumusunod na command:

$ sudo apt i-install -at atbp

Dapat na mai-install ang Lshw sa iyong Ubuntu/Debian/Linux Mint/Kali Linux system.

Pag-install ng Lshw sa Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream

Ang Lshw ay magagamit sa opisyal na imbakan ng pakete ng Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Kaya, madali mo itong mai-install sa iyong computer/server.

Una, i-update ang DNF package repository cache gamit ang sumusunod na command:

$ sudo dnf makecache

Upang mai-install ang lshw, patakbuhin ang sumusunod na command:

$ sudo dnf i-install atbp

Upang kumpirmahin ang pag-install, pindutin ang 'Y' at pagkatapos ay pindutin .

Dapat na mai-install ang Lshw sa iyong Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream system.

Paglilista ng Magagamit na Hardware sa Lshw

Maaari mong ilista ang lahat ng magagamit na hardware ng iyong computer/server gamit ang lshw tulad ng sumusunod:

$ sudo atbp -maikli

Ang lahat ng magagamit na hardware ng iyong computer/server ay dapat na nakalista sa magandang format.

Makikita mo ang sumusunod na impormasyon dito:

  1. H/W na landas : Ito ang pisikal na landas ng hardware na naka-install sa iyong computer/server. Dito, /0 ang motherboard, /0/100 ang processor (nakakonekta sa motherboard), /0/100/ ang hardware na konektado sa processor lane, at iba pa.
  2. Device : Ito ang kernel-assigned name/identifier ng hardware. Ang pinakakaraniwang halimbawa ay ang pangalan ng device/identifier ng mga device sa network gaya ng enp38s0, enp39s0, atbp.
  3. Klase : Ang lahat ng hardware ng iyong computer/server ay kabilang sa isang partikular na grupo/klase. Halimbawa, ang mga network device ay pinagsama-sama sa klase ng network, ang mga storage device ay naka-grupo sa storage class, at iba pa. Maaaring magamit ang klase ng hardware salain ang output ng lshw .
  4. Paglalarawan : Ito ay isang maikling paglalarawan ng kani-kanilang hardware.

Kung gusto mong makita ang impormasyon ng bus ng hardware sa halip na ang hardware path (H/W path), patakbuhin ang lshw command gaya ng sumusunod:

$ sudo atbp -businfo

Gaya ng nakikita mo, ipinapakita na ngayon ng unang column ang impormasyon ng bus ng hardware sa halip na ang path ng hardware.

Ipapakita ng impormasyon ng bus ng iba't ibang hardware ang impormasyon sa iba't ibang format:

  • CPU : Ang bus ID ng mga CPU ay nasa cpu@ , Halimbawa, ang CPU cpu@0 (AMD Ryzen 9 3900X processor sa aking kaso) ay may ID 0. Sa karamihan ng mga desktop computer at laptop, magkakaroon ka lamang ng isang processor at isang CPU entry na 'cpu@0'.
  • Mga PCIE device: Ang bus ID ng mga PCIE device ay nasa pci@: :. Ang number ay tinatawag ding number. Halimbawa, ang PCIE device pci@0000:26:00.0 (I211 gigabit network device sa aming kaso) ay may domain na 0000, bus 26, slot/device 00, at function na 0. Ang mga numero ng ID ay hexadecimal at may padded na mga zero.
  • Mga aparatong SCSI : Ang bus ID ng mga SCSI storage device ay nasa scsi@:. ., Halimbawa, ang scsi@1:0.0.0 ay isang SCSI/SATA storage device na may controller 1, target 0, id 0, lun 0, at walang partition. Kung ang SCSI/SATA storage device ay may mga partition, ang bus ID ay magiging scsi@1:0.0.0,1 para sa unang partition, scsi@1:0.0.0,2 para sa pangalawang partition, scsi@1:0.0.0 ,3 para sa ikatlong partisyon, at iba pa.
  • Mga USB device : Ang bus ID ng mga USB storage device ay nasa usb@:. Halimbawa, ang usb@3:6.3 ay isang USB device na may controller 3, slot 6, at id 3. Ang usb@3:1 ay isang USB device na may controller 3 at slot 1.

Pag-filter ng Lshw Output gamit ang Hardware Class

Nagtatalaga ang Lshw ng klase sa bawat hardware device. Maaari mong i-filter ang output ng command na 'lshw' upang isama lamang ang ilang uri ng hardware gamit ang mga pangalan ng klase na ito.

Ang magagamit na mga klase ng hardware ng lshw ay:

  • sistema : Ang motherboard at PnP device ng system.
  • tulay : Ang panloob na mga kagamitan sa bus tulad ng PCIE, host bridge, atbp.
  • alaala : Ang mga memory device tulad ng BIOS, RAM, ROM, CPU cache, firmware, atbp.
  • processor : Ang mga processor ng iyong computer at SCSI RAID controllers.
  • address : Ang mga address ng memorya para sa extension ROM at video.
  • imbakan : Ang SCSI at IDE controller.
  • disk : Ang mga random na access na storage device tulad ng HDD, SSD, NVME SSD, CD-ROM, DVD, atbp.
  • dami : Ang mga partisyon ng iyong disk/mga storage device.
  • tape : Ang mga sequential access storage device tulad ng DAT, DDS, atbp.
  • bus : Ang device na kumukonekta sa bus tulad ng USB, SCSI, FireWire, atbp.
  • network : Ang mga interface ng network tulad ng Ethernet, WiFi, atbp.
  • display : Ang mga display device tulad ng iyong GPU.
  • input : Ang mga input device tulad ng iyong mga keyboard, mouse, HDMI/DP port, HD audio port, power button, PC speaker, atbp.
  • printer : Ang mga kagamitan sa pag-print, ibig sabihin, printer.
  • multimedia : Ang mga audio at video device tulad ng video card (GPU), sound card, TV output card, atbp.
  • komunikasyon : Ang mga aparatong pangkomunikasyon tulad ng Bluetooth.
  • kapangyarihan : Ang mga pinagmumulan ng enerhiya tulad ng power supply (PSU), panloob na baterya, atbp.
  • generic : Ang mga device na hindi maaaring uriin.

Hindi lahat ng computer/server ay magkakaroon ng bawat klase ng hardware na naka-install. Kaya, upang mahanap ang mga klase ng hardware na mayroon ang iyong computer/server, inirerekumenda namin sa iyo na patakbuhin ang command na 'lshw' na may opsyon na '-short' o '-businfo'.

$ sudo atbp -maikli

$ sudo atbp -businfo

Upang i-filter ang output ng command na 'lshw' upang ipakita lamang ang mga partikular na uri ng hardware (i.e. mga storage device), gamitin ang opsyong '-class' tulad ng sumusunod:

$ sudo atbp -businfo -klase disk

o

$ sudo atbp -maikli -klase disk

Gaya ng nakikita mo, nakalista lang ang lshw ng mga storage device (2x 500GB Samsung 860 EVO SATA SSDs) na naka-install sa aming computer.

Maaari mong gamitin ang opsyong '-class' nang maraming beses upang magpakita ng maraming uri ng hardware nang sabay-sabay gamit ang command na 'lshw'.

Halimbawa, upang ipakita ang mga storage device pati na rin ang mga disk partition gamit ang command na 'lshw', gamitin ang opsyong '-class' nang dalawang beses tulad ng sumusunod:

$ sudo atbp -businfo -klase disk -klase dami

o

$ sudo atbp -maikli -klase disk -klase dami -klase

Gaya ng nakikita mo, inilista ng lshw ang mga storage device pati na rin ang mga partisyon ng mga storage device na iyon.

Paghahanap ng Detalyadong Impormasyon ng Hardware gamit ang Lshw

Upang mahanap ang detalyadong impormasyon sa mga partikular na uri ng hardware (i.e. network), patakbuhin ang lshw gamit ang opsyong '-class' tulad ng sumusunod:

$ sudo atbp -klase network

Tulad ng nakikita mo, ang isang napaka detalyadong impormasyon sa lahat ng mga aparato sa network na naka-install sa aming computer ay naka-print.

Pagtatago ng Sensitibong Impormasyon mula sa Lshw Output

Bilang default, ang command na 'lshw' ay nagpi-print ng sensitibong impormasyon (i.e. MAC address ng mga network device) habang ipinapakita ang detalyadong impormasyon ng hardware. Kung kailangan mong ibahagi ang impormasyon ng hardware sa ibang mga tao sa internet upang makakuha ng tulong sa pag-install ng driver halimbawa, maaaring gusto mong itago ang mga sensitibong impormasyon mula sa lshw output.

Upang itago ang sensitibong impormasyon mula sa detalyadong impormasyon ng hardware, maaari mong gamitin ang opsyong '-sanitize' ng command na 'lshw' tulad ng sumusunod:

$ sudo atbp -maglinis -klase network

Tulad ng nakikita mo, ang mga MAC address at IP address ay tinanggal mula sa mga aparato ng network.

Pagpapakita ng mga Numeric ID para sa PCIe at USB Device

Bilang default, hindi ipinapakita ang mga numerong ID para sa PCIe at USB device sa output ng command na 'lshw'.

Upang ipakita ang mga numeric ID ng PCIe at USB device sa output ng command na 'lshw', gamitin ang opsyong '-numeric' tulad ng sumusunod:

$ sudo atbp -numero -klase network

o

$ sudo atbp -numero -klase bus

Tulad ng nakikita mo, ang mga numerong ID ay ipinapakita para sa mga USB device sa output ng command na 'lshw'.

Pag-alis ng Volatile Timestamp mula sa Lshw Output

Bilang default, ini-print ng lshw ang pabagu-bago ng mga timestamp (pagbabago ng data ng oras) para sa mga volume ng disk at iba pang mga device. Kung ayaw mong makita ang mga timestamp na iyon, patakbuhin ang command na 'lshw' gamit ang opsyong '-notime' tulad ng sumusunod:

$ sudo atbp -walang oras -klase dami

Gaya ng nakikita mo, ang naka-mount na data ng timestamp ay tinanggal mula sa lshw output kung saan ginagamit ang opsyong '-notime'.

Pag-export ng Impormasyon ng Hardware Gamit ang Lshw

Maaari mong i-export ang impormasyon ng lshw hardware sa iba't ibang mga format. Sa oras ng pagsulat na ito, maaaring i-export ng lshw ang impormasyon ng hardware sa mga sumusunod na format:

  • SQLite database
  • HTML
  • XML
  • JSON

Upang i-export ang lshw hardware na impormasyon sa isang SQLite database file, patakbuhin ang sumusunod na command:

$ sudo atbp -tapon ~ / datos / lshw.db &>/ dev / wala

Gaya ng nakikita mo, nilikha ang 'lshw.db' SQLite database file.

$ ls -lh ~ / datos

Maaari mong basahin ang 'lshw.db' database file gamit ang SQLite at i-print ang lahat ng mga talahanayan ng database tulad ng sumusunod:

$ sudo sqlite3 ~ / datos / lshw.db --linya '.tables'

Maaari kang mag-print ng impormasyon sa mga network device mula sa 'lshw.db' na file gamit ang sumusunod na SQLite command:

$ sudo sqlite3 ~ / datos / lshw.db --linya 'PUMILI * MULA sa mga node KUNG SAAN ang klase TULAD ng 'network''

Upang i-export ang impormasyon ng lshw hardware sa isang HTML file, patakbuhin ang sumusunod na command:

$ sudo atbp -html > ~ / datos / lshw.html

Kung gusto mong i-sanitize/itago rin ang isang sensitibong impormasyon, patakbuhin ang lshw HTML export command gaya ng sumusunod:

$ sudo atbp -maglinis -html > ~ / datos / lshw.html

Tulad ng nakikita mo, ang impormasyon ng lshw hardware ay na-export sa isang 'lshw.html' HTML file.

$ ls -lh ~ / datos

Maaari mong buksan ang “lshw.html” file gamit ang iyong paboritong web browser.

$ firefox ~ / datos / lshw.html

Binuksan namin ang 'lshw.html' na file gamit ang Mozilla Firefox web browser at ang impormasyon ng hardware ay ipinapakita tulad ng nakikita mo sa sumusunod na screenshot:

Upang i-export ang impormasyon ng lshw hardware sa isang XML file, patakbuhin ang sumusunod na command:

$ sudo atbp -xml > ~ / datos / lshw.xml

Kung gusto mong i-sanitize/itago din ang isang sensitibong impormasyon, patakbuhin ang lshw XML export command gaya ng sumusunod:

$ sudo atbp -maglinis -xml > ~ / datos / lshw.xml

Tulad ng nakikita mo, ang impormasyon ng lshw hardware ay na-export sa isang 'lshw.xml' XML file.

$ ls -lh ~ / datos

Binuksan namin ang 'lshw.xml' na file gamit ang Vim text editor at ang lshw hardware na impormasyon ay ipinapakita sa XML na format tulad ng makikita mo sa sumusunod na screenshot:

$ kasi ~ / datos / lshw.xml

Upang i-export ang impormasyon ng lshw hardware sa isang JSON file, patakbuhin ang sumusunod na command:

$ sudo atbp -json > ~ / datos / lshw.json

Kung gusto mong i-sanitize/itago rin ang isang sensitibong impormasyon, patakbuhin ang lshw JSON export command gaya ng sumusunod:

$ sudo atbp -maglinis -json > ~ / datos / lshw.json

Tulad ng nakikita mo, ang impormasyon ng lshw hardware ay na-export sa isang 'lshw.json' JSON file.

$ ls -lh ~ / datos

Binuksan namin ang 'lshw.json' na file gamit ang Vim text editor at ang lshw hardware na impormasyon ay ipinapakita sa JSON format gaya ng makikita mo sa sumusunod na screenshot:

$ kasi ~ / datos / lshw.json

Ang lshw -sanitize, -numeric, at -notime na mga opsyon ay gagana para sa lshw HTML, XML, at JSON export, hindi para sa SQLite export. Para sa higit pang impormasyon sa mga opsyong ito, basahin ang mga nakaraang seksyon ng artikulong ito.

Halimbawa 1: Paghahanap ng Mga Naka-install na GPU ng Iyong Computer/Server gamit ang Lshw

Pagkatapos mag-install ng bagong operating system sa iyong computer/server, isa sa pinakamahalagang bagay na dapat gawin ay hanapin ang GPU (graphics card/processor) na iyong na-install sa iyong computer/server at i-install ang naaangkop na driver para dito.

Mahahanap mo ang mga GPU na na-install mo sa iyong computer/server gamit ang sumusunod na command na 'lshw':

$ sudo atbp -klase display

Gaya ng nakikita mo, mayroon kaming NVIDIA GeForce RTX 4070 na naka-install sa aming computer [1] . Ginagamit nito ang mga opisyal na driver ng NVIDIA (habang na-install namin ito) [2] . Kung mayroon kang NVIDIA GPU na naka-install sa iyong computer/server, ngunit hindi naka-install ang mga opisyal na driver ng NVIDIA, makikita mo na lang ang “driver=nouveau”. Sa kasong iyon, kakailanganin mong i-install ang mga opisyal na driver ng NVIDIA sa iyong computer/server para magamit ang lahat ng feature at makuha ang pinakamahusay na performance mula sa iyong GPU.

Halimbawa 2: Paghahanap ng Chipset ng Network Devices/Interfaces sa Lshw

Ang pag-install ng tamang driver ng network ay isa ring mahalagang bahagi ng isang bagong pag-install ng Linux. Maliban kung ang mga tamang driver ng network ay naka-install, ang iyong mga aparato sa network ay maaaring hindi gumana o maaaring gumana nang may limitadong pagpapagana (maaaring magresulta sa isang napakahinang pagganap ng network). Upang makapag-install ng tamang mga driver ng network, kailangan mong malaman ang chipset ng iyong mga device sa network.

Upang mahanap ang chipset at iba pang impormasyon sa mga network device na naka-install sa iyong computer/server, patakbuhin ang command na 'lshw' tulad ng sumusunod:

$ sudo atbp -klase network

Gaya ng nakikita mo, mayroon kaming dalawang ethernet device na naka-install sa aming computer.

Ang isa sa kanila ay isang interface ng network ng Intel I211 Gigabit [1] . Binigyan ito ng Linux kernel ng lohikal na pangalan bilang enp38s0 [2] . Tulad ng nakikita mo, ginagamit nito ang Intel igb chipset (driver=igb) [3] . Kaya, upang gumana ang interface ng network na ito, dapat mong i-install ang driver/firmware ng Intel igb sa iyong computer/server (kung hindi pa ito naka-install).

Ang isa pa ay isang interface ng network ng Realtek RTL8125 2.5GbE [4] . Binigyan ito ng Linux kernel ng lohikal na pangalan bilang enp39s0 [5] . Tulad ng nakikita mo, ginagamit nito ang Realtek r8169 chipset (driver=r8169) [6] . Kaya, upang gumana ang interface ng network na ito, dapat mong i-install ang driver/firmware ng Realtek r8169 sa iyong computer/server (kung hindi pa ito naka-install).

Mayroon din kaming USB ethernet device at WiFi adapter na nakakonekta sa aming computer.

Ang USB 10/100 mbps LAN network interface [1] ay may lohikal na pangalan, enp42s0f3u6u3 [2] . Tulad ng nakikita mo, ginagamit nito ang Realtek r8152 chipset (driver=r8152) [6] . Kaya, upang gumana ang interface ng network na ito, dapat mong i-install ang driver/firmware ng Realtek r8152 sa iyong computer/server (kung hindi pa ito naka-install).

Ang WiFi 802.11n network interface[4] ay may lohikal na pangalan bilang wlp42s0f3u1[5]. Tulad ng nakikita mo, gumagamit ito ng MediaTek mt7601u chipset (driver=mt7601u) [6] . Kaya, upang gumana ang interface ng network na ito, dapat mong i-install ang driver/firmware ng MediaTek mt7601u sa iyong computer/server (kung hindi pa ito naka-install).

Konklusyon

Ito ay isang malawak na gabay sa lshw. Sa artikulong ito, ipinakita namin sa iyo kung paano i-install ang lshw sa mga sikat na distribusyon ng Linux (ibig sabihin, Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). Ipinakita rin namin sa iyo kung paano ilista ang hardware ng iyong computer, i-filter ang output ng lshw upang ipakita ang ilang uri ng hardware, at itago ang isang sensitibong impormasyon ng hardware mula sa output ng lshw. Ipinakita namin sa iyo kung paano ipapakita ang numeric ID para sa PCIE at USB device pati na rin alisin ang mga pabagu-bagong timestamp mula sa lshw output. Ipinakita rin namin sa iyo kung paano i-export ang lshw hardware na impormasyon sa SQLite database, HTML, XML, at JSON na format at basahin ang mga ito. Sa wakas, ipinakita namin sa iyo kung paano hanapin ang GPU at mga network device na na-install mo sa iyong computer at ang chipset na ginagamit ng mga network device sa lshw upang matulungan ka sa tamang pag-install ng driver/firmware.

Mga sanggunian: