GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでlspciを使用して、ハードウェアを確認します

デスクトップまたはサーバーでLinuxを実行している場合、そのシステムのハードウェアを識別する必要がある場合があります。これに使用されるコマンドの1つは、lspciです。 。 PCIバスに接続されているすべてのデバイスを表示することで機能します。これはpciutilsパッケージによって提供され、さまざまなLinuxおよびBSDベースのオペレーティングシステムで利用できます。

その他のLinuxリソース

  • Linuxコマンドのチートシート
  • 高度なLinuxコマンドのチートシート
  • 無料のオンラインコース:RHELの技術概要
  • Linuxネットワーキングのチートシート
  • SELinuxチートシート
  • Linuxの一般的なコマンドのチートシート
  • Linuxコンテナとは何ですか?
  • 最新のLinux記事

基本的な使用法

通常のユーザーがlspciを実行したときに表示される情報 アクセス許可により制限される場合があります。 sudoを使用してコマンドを実行する 全体像を提供します。

lspciを実行しています それ自体で、PCIバスとそれに接続されているデバイスを一覧表示します。これが私のメディアセンターPCからの例です。これはAMDPhenomCPUベースのシステムであるため、AMDチップセットを搭載しています。また、AtherosワイヤレスコントローラーとNvidiaグラフィックカードも搭載しています。すべてのハードウェアデバイスは、ベンダー、名前、モデル番号などの詳細とともに一覧表示されます:

$ sudo lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] RS880 Host Bridge
00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780 PCI to PCI bridge (ext gfx port 0)
00:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 0)
00:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 1)
00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 3c)
00:14.1 IDE interface: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 IDE Controller
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller
00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge
00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)
02:00.0 Network controller: Qualcomm Atheros AR9287 Wireless Network Adapter (PCI-Express) (rev 01)

詳細出力

-vを追加する オプションを使用すると、各デバイスの詳細度または詳細レベルが向上します。 -vvを使用できます または-vvv さらに多くのデバイスの詳細について。このレベルでは、lspci すべてのデバイスのさまざまなサブシステムとメモリアドレス、割り込み要求(IRQ)番号、およびその他の機能を表示します。出力は非常に長いです。システムで試してみてください。

grepで検索

検索を絞り込みたい場合があります。たとえば、RPM FusionのWebサイトには、Nvidiaグラフィックドライバをインストールするための手順があります。まず、grepを使用してグラフィックカードを識別します。 指図。これが私のラップトップで得られるものです:

$ sudo lspci | grep -e VGA
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
$ sudo lspci | grep -e 3D
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce MX130] (rev a2)

grep 上記のコマンドは、メディアセンターPCに1つのVGAデバイスを表示していますが、3Dデバイスは表示していません。

$ sudo lspci | grep -e VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
$ sudo lspci | grep -e 3D
$

ベンダーIDによる検索

grepを必要としない別の方法があります 。他のNvidiaデバイスが存在するかどうかを確認したいとします。もう少し知る必要があります。 -nnを使用します ベンダーとデバイスのID番号を表示するオプション。私のメディアセンターPCでは、このオプションは私のVGAカード、ベンダーID、およびデバイスIDを表示します:

$ sudo lspci -nn | grep -e VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)

デバイス名の後にコロンで区切られた数字が付いた括弧のセットは、ベンダーとデバイスIDを示します。出力は、NvidiaCorporationによって製造されたデバイスのベンダーIDが10deであることを示しています 。

-d オプションは、指定されたベンダー、デバイス、またはクラスIDのすべてのデバイスを表示します。これが私のシステムのすべてのNvidiaデバイスです(-nnを維持します) ベンダーIDを含める):

$ sudo lspci -nn -d 10de:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)

出力から、グラフィックカードに加えて、Nvidiaオーディオデバイスがあることがわかります。これらは両方とも実際には同じNvidiaGeForce GTX 650の一部です。 カードですが、それでもこれは良い例です。

カーネルモジュール

PCIハードウェアデバイスとともに、lspci -kでロードされているカーネルドライバモジュールを表示できます オプション。このオプションをlspciに追加します Nvidiaデバイスに関するいくつかの情報を表示するコマンド。

$ sudo lspci -nn -k -d 10de:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GTX 650] [10de:0fc6] (rev a1)
 Subsystem: eVga.com. Corp. GK107 [GeForce GTX 650] [3842:2650]
 Kernel driver in use: nvidia
 Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation GK107 HDMI Audio Controller [10de:0e1b] (rev a1)
 Subsystem: eVga.com. Corp. GK107 HDMI Audio Controller [3842:2650]
 Kernel driver in use: snd_hda_intel
 Kernel modules: snd_hda_intel

2つの追加行が表示されます:使用中のカーネルドライバ およびカーネルモジュール 。 2つ目は、デバイスをサポートするために使用できるモジュールを示しています。

最新の状態に保つ

新しいデバイスとベンダーが絶えず市場に参入しています。 不明としてリストされているデバイスが表示された場合 、PCIデバイスIDデータベースが古くなっている可能性があります。確認する方法は2つあります。 -Q オプションはDNSを使用して中央データベースにクエリを実行します。もちろん、これにはネットワーク接続が必要です。

$ sudo lspci -Q

コマンドupdate-pciidsを実行して、ローカルPCIIDデータベースを更新することもできます。 。

$ sudo update-pciids
Downloaded daily snapshot dated 2021-08-22 03:15:01

ハードウェアの詳細

もちろん、lspci は、システム上のハードウェアとソフトウェアのクエリに役立つLinuxで使用可能な多くのコマンドの1つにすぎません。 Linux上のハードウェアの詳細については、USBデバイスに関する私の記事を参照してください:このUSBIDリポジトリを使用してLinux上のより多くのデバイスを認識してください。


Linux
  1. Linuxターミナルを使用して、コンピューター内を移動します

  2. Linuxターミナルを使用して、コンピューターにあるファイルを確認します

  3. systemd-udevdを使用してLinuxで接続されたハードウェアを管理する

  1. ディスクを破壊せずにLinuxでddを使用する方法

  2. OpenSSHを使用してLinuxサーバーに接続する方法

  3. lspciを使用しないLinuxでハードウェア情報を見つける

  1. ハードウェア情報を表示するためのLinuxコマンド

  2. Linux端末を使用してバナー年を祝う

  3. Aircrack-ngを使用してKaliLinuxでWiFiパスワードをテストする