Hvordan installere Lshw på Linux og bruke den til å finne maskinvareinformasjon

Hvordan Installere Lshw Pa Linux Og Bruke Den Til A Finne Maskinvareinformasjon



Lshw er et Linux-kommandolinjeverktøy for å finne informasjon om den installerte maskinvaren til datamaskinen/serveren din. Lshw kan rapportere hovedkort/hovedkort, CPU, minne, disk, PCIE, USB og annen maskinvareinformasjon.

Lshw er tilgjengelig på alle Linux-distribusjoner der ute. Så du kan bruke det samme verktøyet for å finne nødvendig maskinvareinformasjon på hver Linux-distribusjon.







I denne artikkelen vil vi vise deg hvordan du installerer lshw på populære Linux-distribusjoner og bruker den til å finne maskinvareinformasjonen.



Innholdsemne:

Installere Lshw på Ubuntu/Debian/Linux Mint/Kali Linux

Lshw er tilgjengelig i det offisielle pakkelageret til Ubuntu/Debian/Linux Mint/Kali Linux. Så du kan enkelt installere den på datamaskinen/serveren din.



Først oppdaterer du APT-pakkelageret med følgende kommando:





$ sudo passende oppdatering



For å installere lshw, kjør følgende kommando:

$ sudo apt installere -og etc

Lshw bør være installert på ditt Ubuntu/Debian/Linux Mint/Kali Linux-system.

Installere Lshw på Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream

Lshw er tilgjengelig i det offisielle pakkelageret til Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Så du kan enkelt installere den på datamaskinen/serveren din.

Først oppdaterer du DNF-pakkelageret med følgende kommando:

$ sudo dnf makecache

For å installere lshw, kjør følgende kommando:

$ sudo dnf installere etc

For å bekrefte installasjonen, trykk 'Y' og trykk deretter .

Lshw bør være installert på ditt Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream-system.

Liste over tilgjengelig maskinvare med Lshw

Du kan liste opp all tilgjengelig maskinvare på datamaskinen/serveren din med lshw som følger:

$ sudo etc -kort

All tilgjengelig maskinvare på datamaskinen/serveren din bør være oppført i et fint format.

Du finner følgende informasjon her:

  1. H/W sti : Dette er den fysiske banen til maskinvaren som er installert på datamaskinen/serveren din. Her er /0 hovedkortet, /0/100 er prosessoren (koblet til hovedkortet), /0/100/ er maskinvaren som er koblet til prosessorbanene, og så videre.
  2. Enhet : Dette er det kjernetildelte navnet/identifikatoren til maskinvaren. Det vanligste eksemplet er enhetsnavnet/identifikatoren til nettverksenhetene som enp38s0, enp39s0, etc.
  3. Klasse : All maskinvaren til datamaskinen/serveren din tilhører en bestemt gruppe/klasse. For eksempel er nettverksenhetene gruppert i nettverksklassen, lagringsenhetene er gruppert i lagringsklassen, og så videre. Maskinvareklassen kan brukes til filtrer utgangen av lshw .
  4. Beskrivelse : Det er en kort beskrivelse av den respektive maskinvaren.

Hvis du vil se bussinformasjonen til maskinvaren i stedet for maskinvarebanen (H/W-bane), kjør lshw-kommandoen som følger:

$ sudo etc -bussinfo

Som du kan se, viser den første kolonnen nå bussinformasjonen til maskinvaren i stedet for maskinvarebanen.

Bussinformasjonen til forskjellig maskinvare vil vise informasjonen i forskjellige formater:

  • prosessor : Buss-IDen til CPU-ene vil være i cpu@ , For eksempel har CPU cpu@0 (AMD Ryzen 9 3900X-prosessor i mitt tilfelle) ID 0. På de fleste stasjonære datamaskiner og bærbare datamaskiner, du vil bare ha én prosessor og én CPU-oppføring som er “cpu@0”.
  • PCIE-enheter: Buss-IDen til PCIE-enhetene vil være i pci@: :. -nummeret kalles også -nummer. For eksempel har PCIE-enheten pci@0000:26:00.0 (I211 gigabit nettverksenhet i vårt tilfelle) domenet 0000, buss 26, spor/enhet 00 og funksjon 0. ID-numrene er heksadesimale og polstret med nuller.
  • SCSI-enheter : Buss-IDen til SCSI-lagringsenheter vil være i scsi@:. ., For eksempel er scsi@1:0.0.0 en SCSI/SATA-lagringsenhet som har kontroller 1, mål 0, id 0, lun 0 og ingen partisjoner. Hvis SCSI/SATA-lagringsenheten har partisjoner, vil buss-IDen være scsi@1:0.0.0,1 for den første partisjonen, scsi@1:0.0.0,2 for den andre partisjonen, scsi@1:0.0.0 ,3 for den tredje partisjonen, og så videre.
  • USB-enheter : Buss-IDen til USB-lagringsenheter vil være i usb@:. For eksempel er usb@3:6.3 en USB-enhet som har kontroller 3, spor 6 og id 3. Usb@3:1 er en USB-enhet som har kontroller 3 og spor 1.

Filtrering av Lshw-utgangen med maskinvareklasse

Lshw tildeler en klasse til hver maskinvareenhet. Du kan filtrere utdataene til 'lshw'-kommandoen til å inkludere bare visse typer maskinvare ved å bruke disse klassenavnene.

De tilgjengelige lshw maskinvareklassene er:

  • system : Hovedkortet og PnP-enhetene til systemet.
  • bro : De interne bussenhetene som PCIE, vertsbro, etc.
  • hukommelse : Minneenheter som BIOS, RAM, ROM, CPU-cacher, fastvare, etc.
  • prosessor : Prosessorene til datamaskinen og SCSI RAID-kontrollere.
  • adresse : Minneadressene for utvidelses-ROM og video.
  • Oppbevaring : SCSI- og IDE-kontrolleren.
  • disk : Tilfeldig tilgang lagringsenheter som HDD, SSD, NVME SSD, CD-ROM, DVD, etc.
  • volum : Partisjonene til disken/lagringsenhetene dine.
  • teip : Lagringsenheter med sekvensiell tilgang som DAT, DDS, etc.
  • buss : Enheten kobler til buss som USB, SCSI, FireWire, etc.
  • Nettverk : Nettverksgrensesnittene som Ethernet, WiFi, etc.
  • vise : Skjermenhetene som din GPU.
  • input : Inndataenheter som tastaturer, mus, HDMI/DP-porter, HD-lydporter, strømknapp, PC-høyttaler, etc.
  • skriver : Utskriftsenhetene, dvs. skriveren.
  • multimedia : Lyd- og videoenheter som skjermkort (GPU), lydkort, TV-utgangskort, etc.
  • kommunikasjon : Kommunikasjonsenheter som Bluetooth.
  • makt : Energikildene som strømforsyning (PSU), internt batteri, etc.
  • generisk : Enhetene som ikke kan klassifiseres.

Ikke alle datamaskiner/servere vil ha alle typer maskinvare installert. Så for å finne maskinvareklassene som datamaskinen/serveren din har, anbefaler vi at du kjører kommandoen 'lshw' med alternativet '-short' eller '-businfo'.

$ sudo etc -kort

$ sudo etc -bussinfo

For å filtrere utdataene fra 'lshw'-kommandoen til å vise bare de spesifikke maskinvaretypene (dvs. lagringsenheter), bruk '-class'-alternativet som følger:

$ sudo etc -bussinfo -klasse disk

eller

$ sudo etc -kort -klasse disk

Som du kan se, listet lshw bare opp lagringsenhetene (2x 500 GB Samsung 860 EVO SATA SSD-er) som er installert på datamaskinen vår.

Du kan bruke '-class'-alternativet flere ganger for å vise flere typer maskinvare samtidig med 'lshw'-kommandoen.

For for eksempel å vise lagringsenhetene så vel som diskpartisjonene ved å bruke 'lshw'-kommandoen, bruk alternativet '-class' to ganger som følger:

$ sudo etc -bussinfo -klasse disk -klasse volum

eller

$ sudo etc -kort -klasse disk -klasse volum -klasse

Som du kan se, listet lshw opp lagringsenhetene så vel som partisjonene til disse lagringsenhetene.

Finne den detaljerte maskinvareinformasjonen med Lshw

For å finne detaljert informasjon om spesifikke typer maskinvare (dvs. nettverk), kjør lshw med '-class'-alternativet som følger:

$ sudo etc -klasse Nettverk

Som du kan se, skrives det ut en svært detaljert informasjon om alle nettverksenhetene som er installert på datamaskinen vår.

Skjuler sensitiv informasjon fra Lshw-utgangen

Som standard skriver 'lshw'-kommandoen ut en sensitiv informasjon (dvs. MAC-adressen til nettverksenheter) mens den viser detaljert maskinvareinformasjon. Hvis du trenger å dele maskinvareinformasjonen med andre personer på internett for å få hjelp til å installere en driver for eksempel, kan det være lurt å skjule den sensitive informasjonen fra lshw-utdataene.

For å skjule den sensitive informasjonen fra den detaljerte maskinvareinformasjonen, kan du bruke '-sanitize'-alternativet til 'lshw'-kommandoen som følger:

$ sudo etc -rense -klasse Nettverk

Som du kan se, fjernes MAC-adressene og IP-adressene fra nettverksenhetene.

Viser de numeriske ID-ene for PCIe- og USB-enheter

Som standard vises ikke numeriske ID-er for PCIe- og USB-enhetene i utgangen til 'lshw'-kommandoen.

For å vise de numeriske ID-ene til PCIe- og USB-enhetene i utgangen til 'lshw'-kommandoen, bruk alternativet '-numeric' som følger:

$ sudo etc -numerisk -klasse Nettverk

eller

$ sudo etc -numerisk -klasse buss

Som du kan se, vises de numeriske ID-ene for USB-enhetene i utgangen til 'lshw'-kommandoen.

Fjerne de flyktige tidsstemplene fra Lshw-utgangen

Som standard skriver lshw ut de flyktige tidsstemplene (endringstidsdata) for diskvolumer og andre enheter. Hvis du ikke vil se disse tidsstemplene, kjør kommandoen 'lshw' med alternativet '-notime' som følger:

$ sudo etc -ingen tid -klasse volum

Som du kan se, fjernes de monterte tidsstempeldataene fra lshw-utgangen der alternativet '-notime' brukes.

Eksportere maskinvareinformasjonen ved å bruke Lshw

Du kan eksportere lshw-maskinvareinformasjonen i forskjellige formater. Når dette skrives, kan lshw eksportere maskinvareinformasjonen i følgende formater:

  • SQLite database
  • HTML
  • XML
  • JSON

For å eksportere lshw-maskinvareinformasjonen til en SQLite-databasefil, kjør følgende kommando:

$ sudo etc -dump ~ / data / lshw.db &>/ dev / null

Som du kan se, er 'lshw.db' SQLite-databasefilen opprettet.

$ ls -lh ~ / data

Du kan lese 'lshw.db'-databasefilen med SQLite og skrive ut alle databasetabellene som følger:

$ sudo sqlite3 ~ / data / lshw.db --linje '.tabeller'

Du kan skrive ut informasjon om nettverksenhetene fra filen 'lshw.db' med følgende SQLite-kommando:

$ sudo sqlite3 ~ / data / lshw.db --linje 'VELG * FRA noder WHERE klasse LIKE 'nettverk''

For å eksportere lshw-maskinvareinformasjonen til en HTML-fil, kjør følgende kommando:

$ sudo etc -html > ~ / data / lshw.html

Hvis du også vil rense/skjule en sensitiv informasjon, kjører du lshw HTML-eksportkommandoen som følger:

$ sudo etc -rense -html > ~ / data / lshw.html

Som du kan se, eksporteres lshw-maskinvareinformasjonen til en 'lshw.html' HTML-fil.

$ ls -lh ~ / data

Du kan åpne filen 'lshw.html' med din favoritt nettleser.

$ firefox ~ / data / lshw.html

Vi åpnet filen 'lshw.html' med Mozilla Firefox nettleser og maskinvareinformasjonen vises som du kan se i følgende skjermbilde:

For å eksportere lshw-maskinvareinformasjonen til en XML-fil, kjør følgende kommando:

$ sudo etc -xml > ~ / data / lshw.xml

Hvis du også vil rense/skjule en sensitiv informasjon, kjører du lshw XML-eksportkommandoen som følger:

$ sudo etc -rense -xml > ~ / data / lshw.xml

Som du kan se, eksporteres lshw-maskinvareinformasjonen til en 'lshw.xml' XML-fil.

$ ls -lh ~ / data

Vi åpnet 'lshw.xml'-filen med Vim-tekstredigereren og lshw-maskinvareinformasjonen vises i XML-format som du kan se i følgende skjermbilde:

$ fordi ~ / data / lshw.xml

For å eksportere lshw-maskinvareinformasjonen til en JSON-fil, kjør følgende kommando:

$ sudo etc -json > ~ / data / lshw.json

Hvis du også vil rense/skjule en sensitiv informasjon, kjører du lshw JSON-eksportkommandoen som følger:

$ sudo etc -rense -json > ~ / data / lshw.json

Som du kan se, eksporteres lshw-maskinvareinformasjonen til en 'lshw.json' JSON-fil.

$ ls -lh ~ / data

Vi åpnet 'lshw.json'-filen med Vim-tekstredigereren og lshw-maskinvareinformasjonen vises i JSON-format som du kan se i følgende skjermbilde:

$ fordi ~ / data / lshw.json

Alternativene lshw -sanitize, -numeric og -notime vil fungere for lshw HTML-, XML- og JSON-eksporter, ikke for SQLite-eksport. For mer informasjon om disse alternativene, les de forrige delene av denne artikkelen.

Eksempel 1: Finne de installerte GPUene til datamaskinen/serveren med Lshw

Etter å ha installert et nytt operativsystem på datamaskinen/serveren din, er en av de viktigste tingene å gjøre å finne GPUen (grafikkkortet/prosessoren) som du installerte på datamaskinen/serveren og installere riktig driver for den.

Du kan finne GPU-ene du installerte på datamaskinen/serveren din med følgende 'lshw'-kommando:

$ sudo etc -klasse vise

Som du kan se, har vi en NVIDIA GeForce RTX 4070 installert på datamaskinen vår [1] . Den bruker de offisielle NVIDIA-driverne (slik vi installerte den) [2] . Hvis du har en NVIDIA GPU installert på datamaskinen/serveren, men de offisielle NVIDIA-driverne ikke er installert, vil du se 'driver=nouveau' i stedet. I så fall må du installere de offisielle NVIDIA-driverne på datamaskinen/serveren din for å kunne bruke alle funksjonene og få best mulig ytelse fra GPUen din.

Eksempel 2: Finne brikkesettet til nettverksenheter/grensesnitt med Lshw

Installering av riktig nettverksdriver er også en viktig del av en ny Linux-installasjon. Med mindre de riktige nettverksdriverne er installert, kan det hende at nettverksenhetene ikke fungerer eller fungerer med begrenset funksjonalitet (kan føre til svært dårlig nettverksytelse). For å kunne installere de riktige nettverksdriverne, må du kjenne brikkesettet til nettverksenhetene dine.

For å finne brikkesettet og annen informasjon på nettverksenhetene som er installert på datamaskinen/serveren din, kjør kommandoen 'lshw' som følger:

$ sudo etc -klasse Nettverk

Som du kan se, har vi to Ethernet-enheter installert på datamaskinen vår.

En av dem er et Intel I211 Gigabit nettverksgrensesnitt [1] . Linux-kjernen ga den et logisk navn som enp38s0 [2] . Som du kan se, bruker den Intel igb-brikkesettet (driver=igb) [3] . Så for å få dette nettverksgrensesnittet til å fungere, må du installere Intel igb-driveren/fastvaren på datamaskinen/serveren din (hvis den ikke allerede er installert).

Den andre er et Realtek RTL8125 2,5 GbE nettverksgrensesnitt [4] . Linux-kjernen ga den et logisk navn som enp39s0 [5] . Som du kan se, bruker den Realtek r8169-brikkesettet (driver=r8169) [6] . Så for å få dette nettverksgrensesnittet til å fungere, må du installere Realtek r8169-driveren/fastvaren på datamaskinen/serveren din (hvis den ikke allerede er installert).

Vi har også en USB Ethernet-enhet og en WiFi-adapter koblet til datamaskinen vår.

USB 10/100 mbps LAN nettverksgrensesnitt [1] har det logiske navnet enp42s0f3u6u3 [2] . Som du kan se, bruker den Realtek r8152-brikkesettet (driver=r8152) [6] . Så for å få dette nettverksgrensesnittet til å fungere, må du installere Realtek r8152-driveren/fastvaren på datamaskinen/serveren din (hvis den ikke allerede er installert).

WiFi 802.11n-nettverksgrensesnittet[4] har det logiske navnet wlp42s0f3u1[5]. Som du kan se, bruker den MediaTek mt7601u-brikkesettet (driver=mt7601u) [6] . Så for å få dette nettverksgrensesnittet til å fungere, må du installere MediaTek mt7601u-driveren/fastvaren på datamaskinen/serveren din (hvis den ikke allerede er installert).

Konklusjon

Dette er en omfattende veiledning om lshw. I denne artikkelen viste vi deg hvordan du installerer lshw på populære Linux-distribusjoner (dvs. Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). Vi viste deg også hvordan du viser maskinvaren til datamaskinen din, filtrerer utdataene til lshw for å vise visse typer maskinvare og skjuler sensitiv maskinvareinformasjon fra lshw-utdataene. Vi viste deg hvordan du viser den numeriske ID-en for PCIE- og USB-enheter samt fjerner de flyktige tidsstemplene fra lshw-utgangen. Vi viste deg også hvordan du eksporterer lshw-maskinvareinformasjonen i SQLite-databasen, HTML-, XML- og JSON-formatene og leser dem. Til slutt viste vi deg hvordan du finner GPUen og nettverksenhetene du installerte på datamaskinen din og brikkesettet som nettverksenhetene bruker med lshw for å hjelpe deg med riktig driver/fastvareinstallasjon.

Referanser: