scsidevと呼ばれているユーティリティプログラムは、 デバイス名を /dev/scsi ディレクトリに追加します。 そのデバイス名は、各デバイスの SCSI アドレスを反映しています。最初の 2 文字は 上位レベルの SCSI ドライバの名前(例えば sd や sr、st、sg)です。 「h」の後の数字はホスト番号で、その後の「-」はホスト識別用の番号です。 PCI のアダプタではこの数字は常に 0 のようですが、ISA アダプタではその IO アドレスになります。(おそらくこのフィールドには、さらに情報が入るかも しれませんし、無くなるかもしれません)。「c」や「i」、「l」の後にある数字は、 それぞれチャネル(バス)とターゲット ID、LUN の値になります。raw ディスクは 「p」とパーティション番号が付きません。その内部に含まれる各パーティションには、 「p」とパーティション番号が付きます。
【訳註:図にすると下記のようになります
sd h0 - 0 c0 i0 l0 p1 == == = = == == == === | | | | | | | | | | | | | | | パーティション番号は 1 | | | | | | | | | | | | | LUN は 0 | | | | | | | | | | | ターゲット ID は 0 | | | | | | | | | バス(チャネル)番号は 0 | | | | | | | PCI なら 0, ISA なら I/O アドレス | | | | | 固定 | | | ホスト番号は 0 | 上位レベルの SCSI ドライバの名前 |
scsidev は、ブートシーケンスの一部として動くのが 普通です。SCSI の設定が変更になった後に動かすのも良いでしょう(例えば 低レベルのドライバモジュールを追加・削除したり、add/remove-single-device コマンドを使ったりする時)。scsidev を私のシステムで実行 した時に /dev/scsi ディレクトリへ追加された名前を挙げます。 私のシステムには、ディスク 2 つ、CD-R ドライブ 1 台、スキャナー 1 台が付いて います。
$ ls -l /dev/scsi/ # abridged total 0 brw------- 8, 0 Sep 2 11:56 sdh0-0c0i0l0 brw------- 8, 1 Sep 2 11:56 sdh0-0c0i0l0p1 ... brw------- 8, 8 Sep 2 11:56 sdh0-0c0i0l0p8 brw------- 8, 16 Sep 2 11:56 sdh0-0c0i1l0 brw------- 8, 17 Sep 2 11:56 sdh0-0c0i1l0p1 ... brw------- 8, 24 Sep 2 11:56 sdh0-0c0i1l0p8 crw------- 21, 0 Sep 2 11:56 sgh0-0c0i0l0 crw------- 21, 1 Sep 2 11:56 sgh0-0c0i1l0 crw------- 21, 2 Sep 2 11:56 sgh1-0c0i2l0 crw------- 21, 3 Sep 2 11:56 sgh1-0c0i5l0 crw------- 21, 4 Sep 2 11:56 sgh1-0c0i6l0 br-------- 11, 0 Sep 2 11:56 srh1-0c0i2l0 br-------- 11, 1 Sep 2 11:56 srh1-0c0i6l0 |
scsidev パッケージは /etc/scsi.alias という設定ファイル を扱い、/dev/scsi/scannerというような名前を付ける機能も あります。パッケージには、rescan-scsi-bus.sh という便利な ユーティリティもあります。 scsidev についてのさらに詳しい情報は W6を見てください。私のシステムでは、devfs と scsidev は何の問題も無く 共存しています。