日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
SCSI(8) FreeBSD System Manager's Manual SCSI(8)
名称
scsi - scsi 装置補助プログラム
書式
scsi -f device -d debug_level
scsi -f device -z seconds [-v]
scsi -f device -m page [-P pc] [-e]
scsi -f device -p [-b bus] [-l lun]
scsi -f device -r [-b bus] [-t targ] [-l lun]
scsi -f device -c cmd_fmt [arg0 ... argn] [-s seconds] [-v] -o count
out_fmt [arg0 ... argn] -i count in_fmt
解説
scsi プログラムはコマンドを scsi 装置に送るのに使われます。また、ユーザレ
ベル SCSI コマンドの使用例でもあります。
-f オプションを指定し、 device で SCSI デバイス名を指定する必要がありま
す。デバイスがディスクデバイスの場合、制御デバイス (例えば /dev/rsd0.ctl)
である必要があります。現在有効なデバイスが接続されていないバスで再プロー
ブを行うために、 `super scsi' デバイスを -p オプションで指定することがで
きます。
-d オプションは SCSI カーネルデバッグレベルを設定します。カーネルは、
SCSIDEBUG オプションをつけてコンパイルしていなければなりません。カーネル
デバッグレベルをいくつに設定するかは /sys/scsi/scsi_debug.h を参照してく
ださい。
-z オプションは、指示された秒数の間だけ、全ての SCSI バスのあらゆるの活動
を凍結します。もし -v も指定されていると、バス凍結の開始時と終了時に BEL
文字が標準出力に送られます。このためには SCSI_FREEZE カーネルオプション付
きでカーネルを作成する必要があります。このカーネルコードはまだコミット
(commit) されていません。
-m オプションは装置のモードページ (mode page) を読むのに使います。モード
データをどう解釈するかを調べるためにファイル /usr/share/misc/scsi_modes
が読まれます。環境変数 SCSI_MODES で別のファイルを使うように指定できま
す。
-P オプションはページ制御フィールド (page control field) を指定するのに使
います。指定するページ制御フィールド名は以下です:
0 現在値
1 変更可能値
2 デフォルト値
3 保存値
-e オプションを指定するとフィールドの編集が可能になります。編集には環境変
数 EDITOR で指定したエディタを使います。恒久的に変更を格納するためには -P
オプションを使用してページ制御 3 を編集します。
-p オプションは `super scsi' 装置 /dev/ssc に対して指定した SCSI バスと指
定した SCSI lun を持つ全ての装置をプローブするのに使われます。バスは -b
オプションで選択でき、デフォルトは 0 です。lun は -l オプションで選択で
き、デフォルトは 0 です。
-r オプションは、ブート時に存在した全 SCSI バスから全 SCSI デバイスを再プ
ローブするために使用できます。固定 SCSI 装置の説明は scsi(4) を参照して下
さい。
-c オプションで、コマンドラインで指定したユーザレベル SCSI コマンドを装置
へ送ることができます。コマンドは SCIOCCOMMAND ioctl を使って送られるの
で、アクセスする装置はこの ioctl を許していなければなりません。どのマイナ
装置が ioctl を許しているかという詳細な説明は scsi(4) を、フォーマット引
数を使ってコマンドやデータフェーズを構築する詳細な方法は scsi(3) を参照し
て下さい。
-v は、より冗長な情報に切り換えます。
-s は秒単位でコマンドのタイムアウトを設定します。デフォルトは 2 秒です。
-c cmd_fmt には scsi(3) に記述されたコマンドを指定します。追加の引数でコ
マンドフォーマットの中で指定された変数の値を与えます。他の通常のコマンド
ライン引数は ``C'' での数値表記が使えますが、 -c オプションへの引数は 16
進数です。
-o count out_fmt [arg0 ... argn] は、これが count バイトのデータの、デー
タアウトコマンド (つまり、データがシステムから装置に送られる) であること
を示します。データは、与えられた引数で整数変数をみたして、 scsi(3) で記述
された方法で組み立てられます。 out_fmt にはハイフン ("-") を指定すること
で、標準入力から count バイトのデータを読むよう、指示することができます。
-i count in_fmt は、これが count バイトのデータの、データインコマンド (つ
まり、データが装置からシステムに読み込まれる) であることを示します。この
情報は scsi(3) で記述された方法で in_fmt に応じて展開され、標準出力に表示
されます。 in_fmt にはハイフン ("-") を指定することで、 count バイトのデ
ータ入力を標準出力に書き出すよう、指示することができます。
使用例
ディスク /dev/rsd0c の装置タイプが 0 (ダイレクトアクセス装置) であると確
認する:
root# scsi -f /dev/rsd0c -c "12 0 0 0 40 0" -i 64 "*b3 b5" 0
/dev/rsd2c に inquiry を行なう:
root# scsi -f /dev/rsd2c -c "12 0 0 0 v 0" 0x40 -i 64 \
"s8 z8 z16 z4"
/dev/rsd2c
のモードページ 1
(リードライトエラー回復ページ; Read-Write Error Recovery Page)
を編集し、装置に永久的に格納する:
root# scsi -f /dev/rsd2c -m 1 -e -P 3
最初の SCSI バスで簡単に再プローブを行う:
root# scsi -f /dev/ssc -p
環境変数
SU_DEBUG_OUTPUT 変数にファイルを設定して、デバッグ出力をそのファイルに送
ることができます。
SU_DEBUUG_LEVEL 変数に 0 以外の整数を設定して、デバッグレベルを増加させる
ことがきます。現在はこれはオンかオフしかありません; これは ioctl を使って
カーネルのデバッグレベルを設定し、プログラムの終了時に 0 に設定しなおしま
す。
SU_DEBUG_TRUNCATE 変数は整数を設定して、デバッグファイルに送られるデータ
フェーズ出力の量を制限します。
EDITOR 変数はモードエディタで使うエディタを決定します。
関連項目
scsi(3), scsi(4), ssc(4)
バグ
いくつかの装置は全部の LUN で inquiry に応答します。違う論理ユニットの再
プローブの間に 8 回 inquiry の応答が起ります。
-i オプションが inquiry を行なうのは、 FreeBSD 2.1 で消滅しました。これ
は、新しい機能 -c が取って代わりました。
パーミッションを注意深く検査してください。 `scsi -f /dev/rsd0c -c 4 0 0 0
0 0' とすると /dev/rsd0c を (読み出しで) オープンできる誰かがディスクドラ
イブをフォーマットすることができてしまいます。これは、少くともドライブに
書き込みアクセスが必要なように変更しなければなりません。
歴史
scsi コマンドは新しい再プローブとユーザ SCSI コマンドをサポートするために
386BSD 0.1.2.4 から登場しました。これは FreeBSD では FreeBSD 2.0.5 から登
場しました。
4th Berkeley Distribution October 11, 1993 3