lsusb、lspci、lsscsi
100%

デバイス · レッスン 6

lsusb、lspci、lsscsi

USB トポロジー、PCI 機能、SCSI 層のデバイス、それらの稼働中ドライバーを調べる方法を学びます。

Linux には、バスやサブシステムごとのインベントリーツールがあります。各コマンドが示すビューは異なるため、一つの完全なハードウェア一覧を期待せず、識別子、トポロジー、ドライバー、sysfs パス、ログを組み合わせて確認します。

USB デバイスを調べる

lsusb は USB サブシステムから見えるデバイスを一覧表示します。

$ lsusb

通常、出力にはバス番号とデバイス番号、ベンダー ID と製品 ID の組、ローカル USB ID データベースから得た説明が含まれます。数値のバス/デバイスアドレスは再接続や再起動後に変わり得るため、永続的な識別情報として扱ってはいけません。

コントローラー、ハブ、ポート、インターフェース、ドライバー、速度の関係は次のコマンドで表示します。

$ lsusb -t

詳細なディスクリプター出力も利用できますが、一部の詳細には高い読み取り権限が必要です。調査コマンドの警告を消すためだけに、USB デバイスへ広範な権限を与えてはいけません。

USB デバイスをトポロジーツリーとして表示するコマンドはどれですか?

PCI 機能を調べる

lspci は PCI および PCI Express バス上で検出された機能を一覧表示します。

$ lspci

内蔵または外部接続された PCIe デバイスには、グラフィックス、ネットワーク、ストレージ、USB、オーディオ、ブリッジの各コントローラーなどがあります。使用中のカーネルドライバーと候補モジュールは次のように表示します。

$ lspci -k

PCI コントローラーが一覧に現れても、その配下のすべてのデバイスが初期化済みで正常とは限りません。トラブルシューティングでは、ドライバーのバインドとカーネルログを確認します。

PCI の一覧にカーネルドライバー情報を追加するコマンドはどれですか?

SCSI 層のデバイスを調べる

lsscsi は Linux の SCSI 中間層を通じて表されるデバイスを一覧表示します。

$ lsscsi

ネイティブ SCSI デバイスに加え、SCSI 互換層を通じて提示される SATA、USB ストレージ、仮想ディスクが含まれることがあります。NVMe 名前空間は通常、別のサブシステムに属し、lsscsi だけでは包括的に一覧化されません。

多くの種類のブロックデバイスを含む、ストレージ指向の階層には lsblk も使います。

$ lsblk -o NAME,TYPE,SIZE,MODEL,SERIAL,TRAN,FSTYPE,MOUNTPOINTS

lsscsi が主に一覧表示するものは何ですか?

インベントリー結果を解釈する

説明はローカル ID データベースに由来することが多く、一般的すぎたり古かったりする場合があります。一覧にあるデバイスに動作するドライバーがないこともあり、仮想化環境ではエミュレートまたは準仮想化されたハードウェアが提示されることもあります。調査する問題と権限に応じて、結果を udevadm info、sysfs、lsblk、ネットワークツール、journalctl -k または dmesg と照合してください。

これらのユーティリティーは別々にパッケージ化され、一般には usbutilspciutilslsscsi などのパッケージで提供されます。コマンドがない場合は、出所不明の代替物をダウンロードせず、ディストリビューションのパッケージマネージャーを使ってください。

lspci にデバイスが表示されれば、ドライバーが有効で正常に動作していると証明できますか?

レッスン完了

lsusb、lspci、lsscsi を完了しました

対象デバイスのサブシステムに応じて、インベントリーコマンドを選べるようになりました。

  • USB の識別情報とトポロジーには lsusblsusb -t を使う。

  • PCI 機能とドライバーのバインドには lspci -k を使う。

  • SCSI 層のデバイスには lsscsi、ブロックトポロジーには lsblk を使う。

  • 列挙結果をドライバー、sysfs、カーネルメッセージと照合する。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
デバイス に戻る