Linux で特定のハードウェアが検出されているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux 環境で特定のハードウェアコンポーネントが検出されているかどうかを確認する方法を学びます。システムのトラブルシューティング、システム管理、およびコンピュータの機能の理解に不可欠な、システムのハードウェアに関する情報を収集する実用的な方法を探索します。

実践的な手順を通じて、lscpu コマンドを使用して詳細な CPU 情報を調べ、lspci コマンドを使用して PCI デバイスをリストアップし、/proc/devices ファイルを調べて検出されたハードウェアデバイスを理解します。これらの手法は、システムの構成に関する貴重な洞察を提供し、ハードウェアがオペレーティングシステムによって適切に認識されていることを確認するのに役立ちます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicSystemCommandsGroup -.-> linux/help("Command Assistance") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/help -.-> lab-558804{{"Linux で特定のハードウェアが検出されているかどうかを確認する方法"}} linux/ls -.-> lab-558804{{"Linux で特定のハードウェアが検出されているかどうかを確認する方法"}} linux/cat -.-> lab-558804{{"Linux で特定のハードウェアが検出されているかどうかを確認する方法"}} linux/grep -.-> lab-558804{{"Linux で特定のハードウェアが検出されているかどうかを確認する方法"}} end

lscpu で CPU の詳細を確認する

このステップでは、lscpu コマンドを使用してコンピュータの CPU (中央処理装置) に関する詳細情報を取得する方法を学びます。CPU はコンピュータの「脳」であり、ほとんどの計算を行います。CPU の仕様を理解することは、トラブルシューティングやパフォーマンスの最適化に役立ちます。

lscpu コマンドは、/proc/cpuinfo から CPU アーキテクチャ情報を収集し、人間が読みやすい形式で表示します。

ターミナルが開いていない場合は、開きます。デスクトップの左側にある Xfce Terminal アイコンをクリックすることで、ターミナルを開くことができます。

次に、以下のコマンドを入力して Enter キーを押します。

lscpu

以下のような出力が表示されます。

Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         48 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  <number>
  On-line CPU(s) list:   0-<number-1>
Vendor ID:               GenuineIntel
  Model name:            <CPU Model Name>
    Flags:               <flags>
NUMA node(s):            1
  <More details...>

表示される主要な情報をいくつか解説します。

  • Architecture: CPU アーキテクチャを示します (例:x86_64)。
  • CPU(s): 利用可能な CPU またはコアの総数です。
  • Vendor ID: CPU の製造元です (例:GenuineIntel, AuthenticAMD)。
  • Model name: CPU の具体的なモデルです。

この出力には、CPU に関する豊富な技術的詳細が含まれています。すべてをすぐに理解できなくても心配しないでください。重要なのは、必要なときにこの情報にアクセスする方法を知っていることです。

lscpu にオプションを指定して、特定の情報を取得することもできます。たとえば、CPU コアの数のみを表示するには、次のコマンドを使用できます。

lscpu -p=core,socket | grep -v '^#'

このコマンドは、-p オプションを使用して出力形式 (コアとソケット) を指定し、出力を grep -v '^#' にパイプしてコメント行を削除します。

現時点では、lscpu を実行するだけで、全体の概要を把握するのに十分です。

Continue をクリックして次のステップに進みます。

lspci で PCI デバイスをリストする

このステップでは、lspci コマンドを使用して、システムに接続されている PCI (Peripheral Component Interconnect) デバイスをリストする方法を学びます。PCI は、ネットワークカード、サウンドカード、グラフィックスカードなどのハードウェアデバイスをコンピュータのマザーボードに接続する標準的なバスです。

lspci コマンドは、システム内の PCI バスとデバイスに関する情報を表示するユーティリティです。

ターミナルが開いていることを確認します。以下のコマンドを入力して Enter キーを押します。

lspci

次のようなデバイスのリストが表示されます。

00:00.0 Host bridge: Intel Corporation <Device Name> (rev 06)
00:01.0 PCI bridge: Intel Corporation <Device Name> (rev 06)
00:01.1 PCI bridge: Intel Corporation <Device Name> (rev 06)
00:02.0 VGA compatible controller: Intel Corporation <Device Name> (rev 06)
00:03.0 Audio device: Intel Corporation <Device Name> (rev 06)
00:04.0 Signal processing controller: Intel Corporation <Device Name> (rev 06)
00:05.0 Non-Volatile memory controller: Intel Corporation <Device Name>
00:06.0 PCI bridge: Intel Corporation <Device Name> (rev 06)
00:07.0 PCI bridge: Intel Corporation <Device Name> (rev 06)
00:08.0 System peripheral: Intel Corporation <Device Name> (rev 06)
00:09.0 PCI bridge: Intel Corporation <Device Name> (rev 06)
00:0d.0 USB controller: Intel Corporation <Device Name> (rev 06)
00:10.0 PCI bridge: Intel Corporation <Device Name> (rev 06)
00:12.0 SATA controller: Intel Corporation <Device Name> (rev 06)
00:13.0 PCI bridge: Intel Corporation <Device Name> (rev 06)
00:14.0 SMBus: Intel Corporation <Device Name> (rev 06)
00:15.0 PCI bridge: Intel Corporation <Device Name> (rev 06)
00:16.0 Communication controller: Intel Corporation <Device Name> (rev 06)
00:17.0 PCI bridge: Intel Corporation <Device Name> (rev 06)
00:1f.0 ISA bridge: Intel Corporation <Device Name> (rev 06)
00:1f.3 Multimedia controller: Intel Corporation <Device Name> (rev 06)
00:1f.4 SMBus: Intel Corporation <Device Name> (rev 06)
00:1f.5 Serial bus controller [0c80]: Intel Corporation <Device Name> (rev 06)
00:1f.6 Ethernet controller: Intel Corporation <Device Name> (rev 06)

各行は PCI デバイスを表しています。出力には、PCI バス上のデバイスのアドレス、そのタイプ、および利用可能な場合は製造元とモデル名が表示されます。

このコマンドは、PCI バスを介して接続されているハードウェアコンポーネントを識別するのに役立ち、ドライバのインストールやハードウェアのトラブルシューティング時に便利です。

-v オプションを使用すると、各デバイスに関する詳細情報を含む、より詳細な出力が得られます。

lspci -v

これにより、各デバイスのより多くの技術仕様を含む、はるかに長い出力が表示されます。

このステップでは、単に lspci を実行するだけでデバイスのリストを確認することができます。

Continue をクリックして次に進みます。

/proc/devices でハードウェアを調べる

このステップでは、/proc ファイルシステム、具体的には /proc/devices ファイルを探索して、システムに設定されているキャラクタデバイスとブロックデバイスのリストを取得します。/proc ファイルシステムは、プロセスに関する情報やその他のシステム情報を提供する仮想ファイルシステムです。実行中のシステムの詳細を見つけるのに最適な場所です。

キャラクタデバイスは、端末やシリアルポートのように、データを文字単位で転送するデバイスです。ブロックデバイスは、ハードドライブや CD-ROM ドライブのように、固定サイズのブロックでデータを転送します。

/proc/devices ファイルの内容を表示するには、cat コマンドを使用できます。ターミナルが開いていることを確認し、以下のコマンドを入力して Enter キーを押します。

cat /proc/devices

次のような出力が表示されます。

Character devices:
  1 mem
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  6 lp
  7 vcs
 10 misc
 13 input
 14 sound
 21 sg
 29 fb
 81 video4linux
 89 rtc
116 alsa
128 ptm
136 pts
180 usb
189 usb_device
204 ttyLd
207 ttyprintk
240 hidraw
241 usb/hiddev
242 i2c
243 spi
244 gpio
245 pps
246 rfkill
247 bsg
248 watchdog
249 ptp
250 crng
251 pstore
252 vfio
253 aux
254 rtc
259 bdi

Block devices:
  7 loop
  8 sd
  9 md
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
259 blkext

出力は「Character devices」(キャラクタデバイス)と「Block devices」(ブロックデバイス)の 2 つのセクションに分かれています。各行にはデバイスタイプとそのメジャーデバイス番号がリストされています。メジャーデバイス番号は、カーネルがデバイスを管理するドライバを識別するために使用されます。

このファイルは、カーネルに登録されているデバイスの低レベルな情報を提供します。このファイルと頻繁にやり取りすることはないかもしれませんが、Linux システムの基本的な部分であり、その存在を理解することは価値があります。

Continue をクリックしてこの実験を完了します。

まとめ

この実験では、Linux で特定のハードウェアが検出されているかどうかを確認する方法を学びました。まず、lscpu コマンドを使用して、CPU のアーキテクチャ、コア数、ベンダー、モデル名など、CPU に関する詳細情報を取得しました。このコマンドは /proc/cpuinfo からデータを収集し、人間が読みやすい形式で表示し、トラブルシューティングやパフォーマンス分析に必要な仕様を提供します。

次に、lspci コマンドを使用して PCI デバイスをリストする方法を調べました。これは、グラフィックスカード、ネットワークアダプター、ストレージコントローラーなどの接続されたハードウェアを識別するために重要です。最後に、カーネルに現在登録されているキャラクタデバイスとブロックデバイスをリストする /proc/devices ファイルから直接ハードウェア情報を調べる方法を学びました。これは、ハードウェアの検出を確認する別の方法を提供します。