Hur man installerar Lshw på Linux och använder den för att hitta hårdvaruinformation

Hur Man Installerar Lshw Pa Linux Och Anvander Den For Att Hitta Hardvaruinformation



Lshw är ett Linux kommandoradsverktyg för att hitta information om den installerade hårdvaran på din dator/server. Lshw kan rapportera information om moderkort/moderkort, CPU, minne, disk, PCIE, USB och annan hårdvara.

Lshw är tillgänglig på alla Linux-distributioner där ute. Så du kan använda samma verktyg för att hitta den nödvändiga hårdvaruinformationen på varje Linux-distribution.







I den här artikeln kommer vi att visa dig hur du installerar lshw på populära Linux-distributioner och använder den för att hitta hårdvaruinformationen.



Ämne för innehåll:

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

Lshw är tillgängligt i det officiella paketförrådet för Ubuntu/Debian/Linux Mint/Kali Linux. Så du kan enkelt installera det på din dator/server.



Uppdatera först APT-paketförvarets cache med följande kommando:





$ sudo passande uppdatering



För att installera lshw, kör följande kommando:

$ sudo benägen Installera -och etc

Lshw bör installeras på ditt Ubuntu/Debian/Linux Mint/Kali Linux-system.

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

Lshw är tillgängligt i det officiella paketförrådet för Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Så du kan enkelt installera det på din dator/server.

Uppdatera först DNF-paketförvarets cache med följande kommando:

$ sudo dnf makecache

För att installera lshw, kör följande kommando:

$ sudo dnf Installera etc

För att bekräfta installationen, tryck på 'Y' och tryck sedan på .

Lshw bör installeras på ditt Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream-system.

Lista tillgänglig maskinvara med Lshw

Du kan lista all tillgänglig hårdvara på din dator/server med lshw enligt följande:

$ sudo etc -kort

All tillgänglig hårdvara på din dator/server bör listas i ett snyggt format.

Du hittar följande information här:

  1. H/W-bana : Detta är den fysiska sökvägen till hårdvaran som är installerad på din dator/server. Här är /0 moderkortet, /0/100 är processorn (ansluten till moderkortet), /0/100/ är hårdvaran som är ansluten till processorbanorna och så vidare.
  2. Enhet : Detta är det kärntilldelade namnet/identifieraren för hårdvaran. Det vanligaste exemplet är enhetsnamnet/identifieraren för nätverksenheterna som enp38s0, enp39s0, etc.
  3. Klass : All hårdvara på din dator/server tillhör en viss grupp/klass. Till exempel är nätverksenheterna grupperade i nätverksklassen, lagringsenheterna grupperas i lagringsklassen och så vidare. Hårdvaruklassen kan användas till filtrera utdata från lshw .
  4. Beskrivning : Det är en kort beskrivning av respektive hårdvara.

Om du vill se bussinformationen för hårdvaran istället för hårdvarusökvägen (H/W-sökväg), kör kommandot lshw enligt följande:

$ sudo etc -bussinfo

Som du kan se visar den första kolumnen nu bussinformationen för hårdvaran istället för hårdvaruvägen.

Bussinformationen för olika hårdvara visar informationen i olika format:

  • CPU : CPU:ernas buss-ID kommer att finnas i cpu@ , Till exempel har CPU cpu@0 (AMD Ryzen 9 3900X-processor i mitt fall) ID 0. På de flesta stationära datorer och bärbara datorer, du kommer bara att ha en processor och en CPU-post som är 'cpu@0'.
  • PCIE-enheter: Buss-ID för PCIE-enheterna kommer att finnas i pci@: :. -numret kallas också för -nummer. Till exempel har PCIE-enheten pci@0000:26:00.0 (I211 gigabit nätverksenhet i vårt fall) domänen 0000, buss 26, kortplats/enhet 00 och funktion 0. ID-numren är hexadecimala och utfyllda med nollor.
  • SCSI-enheter : Buss-ID för SCSI-lagringsenheter kommer att finnas i scsi@:. ., Till exempel är scsi@1:0.0.0 en SCSI/SATA-lagringsenhet som har styrenhet 1, mål 0, id 0, lun 0 och inga partitioner. Om SCSI/SATA-lagringsenheten har partitioner kommer buss-ID:t att vara scsi@1:0.0.0,1 för den första partitionen, scsi@1:0.0.0,2 för den andra partitionen, scsi@1:0.0.0 ,3 för den tredje partitionen och så vidare.
  • USB-enheter : Buss-ID för USB-lagringsenheter kommer att finnas i usb@:. Till exempel är usb@3:6.3 en USB-enhet som har kontroller 3, kortplats 6 och id 3. Usb@3:1 är en USB-enhet som har kontroller 3 och kortplats 1.

Filtrera Lshw-utgången med hårdvaruklass

Lshw tilldelar en klass till varje hårdvaruenhet. Du kan filtrera utdata från kommandot 'lshw' för att endast inkludera vissa typer av hårdvara som använder dessa klassnamn.

De tillgängliga lshw-hårdvaruklasserna är:

  • systemet : Systemets moderkort och PnP-enheter.
  • bro : De interna bussenheterna som PCIE, värdbrygga, etc.
  • minne : Minnesenheter som BIOS, RAM, ROM, CPU-cachar, firmware, etc.
  • processor : Processorerna på din dator och SCSI RAID-kontroller.
  • adress : Minnesadresserna för tilläggs-ROM och video.
  • lagring : SCSI- och IDE-kontrollern.
  • disk : De slumpmässiga lagringsenheterna som HDD, SSD, NVME SSD, CD-ROM, DVD, etc.
  • volym : Partitionerna för din disk/lagringsenheter.
  • tejp : De sekventiella lagringsenheterna som DAT, DDS, etc.
  • buss : Enheten som ansluter buss som USB, SCSI, FireWire, etc.
  • nätverk : Nätverksgränssnitt som Ethernet, WiFi, etc.
  • visa : Displayenheterna som din GPU.
  • inmatning : Inmatningsenheter som dina tangentbord, möss, HDMI/DP-portar, HD-ljudportar, strömbrytare, PC-högtalare, etc.
  • skrivare : Utskriftsenheterna, dvs skrivaren.
  • multimedia : Ljud- och videoenheter som grafikkort (GPU), ljudkort, TV-utgångskort etc.
  • kommunikation : Kommunikationsenheter som Bluetooth.
  • kraft : Energikällor som strömförsörjning (PSU), internt batteri, etc.
  • generisk : De enheter som inte kan klassificeras.

Inte alla datorer/servrar kommer att ha alla klasser av hårdvara installerade. Så för att hitta de hårdvaruklasser som din dator/server har rekommenderar vi att du kör kommandot 'lshw' med alternativet '-short' eller '-businfo'.

$ sudo etc -kort

$ sudo etc -bussinfo

För att filtrera utdata från kommandot 'lshw' för att endast visa specifika typer av hårdvara (dvs lagringsenheter), använd alternativet '-class' enligt följande:

$ sudo etc -bussinfo -klass disk

eller

$ sudo etc -kort -klass disk

Som du kan se listade lshw endast lagringsenheterna (2x 500GB Samsung 860 EVO SATA SSD) som är installerade på vår dator.

Du kan använda alternativet '-class' flera gånger för att visa flera typer av hårdvara samtidigt med kommandot 'lshw'.

Till exempel, för att visa lagringsenheterna såväl som diskpartitionerna med kommandot 'lshw', använd alternativet '-class' två gånger enligt följande:

$ sudo etc -bussinfo -klass disk -klass volym

eller

$ sudo etc -kort -klass disk -klass volym -klass

Som du kan se listade lshw lagringsenheterna såväl som partitionerna för dessa lagringsenheter.

Hitta den detaljerade hårdvaruinformationen med Lshw

För att hitta detaljerad information om specifika typer av hårdvara (dvs nätverk), kör lshw med alternativet '-class' enligt följande:

$ sudo etc -klass nätverk

Som du kan se skrivs en mycket detaljerad information om alla nätverksenheter som är installerade på vår dator ut.

Döljer känslig information från Lshw-utgången

Som standard skriver kommandot 'lshw' ut en känslig information (dvs. MAC-adressen för nätverksenheter) samtidigt som den detaljerade hårdvaruinformationen visas. Om du behöver dela hårdvaruinformationen med andra personer på internet för att få hjälp med att installera en drivrutin till exempel, kanske du vill dölja den känsliga informationen från lshw-utgången.

För att dölja den känsliga informationen från den detaljerade hårdvaruinformationen kan du använda alternativet '-sanitize' för kommandot 'lshw' enligt följande:

$ sudo etc -sanera -klass nätverk

Som du kan se tas MAC-adresserna och IP-adresserna bort från nätverksenheterna.

Visar numeriska ID:n för PCIe- och USB-enheter

Som standard visas inte numeriska ID:n för PCIe- och USB-enheterna i utgången av kommandot 'lshw'.

För att visa de numeriska ID:n för PCIe- och USB-enheterna i utgången av kommandot 'lshw', använd alternativet '-numeric' enligt följande:

$ sudo etc -numerisk -klass nätverk

eller

$ sudo etc -numerisk -klass buss

Som du kan se visas de numeriska ID:n för USB-enheterna i utgången av kommandot 'lshw'.

Ta bort de flyktiga tidsstämplarna från Lshw-utgången

Som standard skriver lshw ut de flyktiga tidsstämplarna (ändring av tidsdata) för diskvolymer och andra enheter. Om du inte vill se dessa tidsstämplar, kör kommandot 'lshw' med alternativet '-notime' enligt följande:

$ sudo etc -ingen tid -klass volym

Som du kan se tas den monterade tidsstämpeldatan bort från lshw-utgången där alternativet '-notime' används.

Exportera maskinvaruinformationen med Lshw

Du kan exportera lshw-hårdvaruinformationen i olika format. När detta skrivs kan lshw exportera hårdvaruinformationen i följande format:

  • SQLite databas
  • HTML
  • XML
  • JSON

För att exportera lshw-hårdvaruinformationen till en SQLite-databasfil, kör följande kommando:

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

Som du kan se skapas 'lshw.db' SQLite-databasfilen.

$ ls -lh ~ / data

Du kan läsa databasfilen 'lshw.db' med SQLite och skriva ut alla databastabeller enligt följande:

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

Du kan skriva ut information om nätverksenheterna från filen 'lshw.db' med följande SQLite-kommando:

$ sudo sqlite3 ~ / data / lshw.db --linje 'VÄLJ * FRÅN noder WHERE klass LIKE 'nätverk''

För att exportera lshw-hårdvaruinformationen till en HTML-fil, kör följande kommando:

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

Om du också vill rensa/dölja en känslig information, kör kommandot lshw HTML export enligt följande:

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

Som du kan se exporteras lshw-hårdvaruinformationen till en 'lshw.html' HTML-fil.

$ ls -lh ~ / data

Du kan öppna filen 'lshw.html' med din favoritwebbläsare.

$ firefox ~ / data / lshw.html

Vi öppnade filen 'lshw.html' med webbläsaren Mozilla Firefox och maskinvaruinformationen visas som du kan se i följande skärmdump:

För att exportera lshw-hårdvaruinformationen till en XML-fil, kör följande kommando:

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

Om du också vill rensa/dölja en känslig information, kör kommandot lshw XML export enligt följande:

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

Som du kan se exporteras lshw-hårdvaruinformationen till en 'lshw.xml' XML-fil.

$ ls -lh ~ / data

Vi öppnade filen 'lshw.xml' med Vim-textredigeraren och lshw-hårdvaruinformationen visas i XML-format som du kan se i följande skärmdump:

$ därför att ~ / data / lshw.xml

För att exportera lshw-hårdvaruinformationen till en JSON-fil, kör följande kommando:

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

Om du också vill sanera/dölja en känslig information, kör kommandot lshw JSON export enligt följande:

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

Som du kan se exporteras lshw-hårdvaruinformationen till en 'lshw.json' JSON-fil.

$ ls -lh ~ / data

Vi öppnade filen 'lshw.json' med Vim-textredigeraren och lshw-hårdvaruinformationen visas i JSON-format som du kan se i följande skärmdump:

$ därför att ~ / data / lshw.json

Alternativen lshw -sanitize, -numeric och -notime fungerar för export av lshw HTML, XML och JSON, inte för SQLite-export. För mer information om dessa alternativ, läs de tidigare avsnitten i den här artikeln.

Exempel 1: Hitta de installerade grafikprocessorerna på din dator/server med Lshw

Efter att ha installerat ett nytt operativsystem på din dator/server är en av de viktigaste sakerna att göra att hitta den GPU (grafikkort/processor) som du installerade på din dator/server och installera lämplig drivrutin för den.

Du kan hitta grafikprocessorerna som du installerade på din dator/server med följande 'lshw'-kommando:

$ sudo etc -klass visa

Som du kan se har vi en NVIDIA GeForce RTX 4070 installerad på vår dator [1] . Den använder de officiella NVIDIA-drivrutinerna (som vi installerade den) [2] . Om du har en NVIDIA GPU installerad på din dator/server, men de officiella NVIDIA-drivrutinerna inte är installerade, kommer du att se 'driver=nouveau' istället. I så fall måste du installera de officiella NVIDIA-drivrutinerna på din dator/server för att kunna använda alla funktioner och få bästa prestanda från din GPU.

Exempel 2: Hitta kretsuppsättningen för nätverksenheterna/gränssnitten med Lshw

Att installera rätt nätverksdrivrutin är också en viktig del av en ny Linux-installation. Om inte rätt nätverksdrivrutiner är installerade kanske dina nätverksenheter inte fungerar eller fungerar med begränsad funktionalitet (kan resultera i mycket dålig nätverksprestanda). För att kunna installera rätt nätverksdrivrutiner måste du känna till dina nätverksenheters chipset.

För att hitta chipset och annan information om nätverksenheterna som är installerade på din dator/server, kör kommandot 'lshw' enligt följande:

$ sudo etc -klass nätverk

Som du kan se har vi två ethernet-enheter installerade på vår dator.

En av dem är ett Intel I211 Gigabit nätverksgränssnitt [1] . Linuxkärnan gav den ett logiskt namn som enp38s0 [2] . Som du kan se använder den Intel igb-kretsuppsättningen (drivrutin=igb) [3] . Så för att få det här nätverksgränssnittet att fungera måste du installera Intel igb-drivrutinen/firmware på din dator/server (om den inte redan är installerad).

Den andra är ett Realtek RTL8125 2,5 GbE nätverksgränssnitt [4] . Linuxkärnan gav den ett logiskt namn som enp39s0 [5] . Som du kan se använder den Realtek r8169-chipset (drivrutin=r8169) [6] . Så för att få det här nätverksgränssnittet att fungera måste du installera Realtek r8169-drivrutinen/firmware på din dator/server (om den inte redan är installerad).

Vi har även en USB ethernet-enhet och en WiFi-adapter ansluten till vår dator.

USB 10/100 mbps LAN-nätverksgränssnitt [1] har det logiska namnet enp42s0f3u6u3 [2] . Som du kan se använder den Realtek r8152-chipset (drivrutin=r8152) [6] . Så för att få det här nätverksgränssnittet att fungera måste du installera Realtek r8152-drivrutinen/firmware på din dator/server (om den inte redan är installerad).

WiFi 802.11n-nätverksgränssnittet[4] har det logiska namnet wlp42s0f3u1[5]. Som du kan se använder den MediaTek mt7601u-chipset (drivrutin=mt7601u) [6] . Så för att få det här nätverksgränssnittet att fungera måste du installera MediaTek mt7601u drivrutin/firmware på din dator/server (om den inte redan är installerad).

Slutsats

Detta är en omfattande guide om lshw. I den här artikeln visade vi dig hur du installerar lshw på populära Linux-distributioner (dvs Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream). Vi visade dig också hur du listar hårdvaran på din dator, filtrerar utdata från lshw för att visa vissa typer av hårdvara och döljer en känslig hårdvaruinformation från lshw-utdata. Vi visade dig hur du visar det numeriska ID:t för PCIE- och USB-enheter samt tar bort de flyktiga tidsstämplarna från lshw-utgången. Vi visade dig också hur du exporterar lshw-hårdvaruinformationen i SQLite-databasen, HTML, XML och JSON-format och läser dem. Slutligen visade vi dig hur du hittar GPU och nätverksenheter som du installerade på din dator och chipset som nätverksenheterna använder med lshw för att hjälpa dig med rätt drivrutin/firmwareinstallation.

Referenser: