Linux FoundationのLinux認定資格を取得するために勉強していますが、1つのラボについていくつか質問があります。ラボは次のとおりです。
- USBデバイスが接続されたときにmyusbというシンボリックリンクを作成するルールをシステムに作成して実装します。
- USBデバイスをシステムに接続します。ペンドライブ、マウス、ウェブカメラなどです。注:ハイパーバイザーの下で仮想マシンを実行している場合、ゲストがUSBデバイスを認識していることを確認する必要があります。ホストから。
- / devディレクトリのリストを取得し、シンボリックリンクが作成されたかどうかを確認します。
- USBデバイスを取り外します。 (ドライブの場合は、安全のために必ず最初にアンマウントする必要があります。)
- / devにシンボリックリンクがまだ存在するかどうかを確認します。
ターミナルでやったこと;
/etc/udev/rules.d/75-myusb.rules
という名前のファイルを作成します
Sudo vim /etc/udev/rules.d/75-myusb.rules
コンテンツを1行だけ含めるようにします。
SUBSYSTEM=="usb", SYMLINK+="myusb"
udevサービスを再起動して確認します
Sudo /etc/init.d/udev restart
ls -lF /dev | grep myusb
しかし、最後のコマンドからの出力がない、まったくリストされていない。
シンボリックリンクが作成されたかどうかを確認するにはどうすればよいですか?
少ないポイント
75-
を使用し、ルールは順番に実行されます。 /lib/udev/rules.d/
の次のルールによってルールが上書きされる可能性があります。99-
〜90-
を使用することをお勧めします
SUBSYSTEM=="usb", SYMLINK+="myusb"
汎用的すぎる
すべてのイベントアクションadd
、remove
およびchange
に一致します。すべてのUSBデバイスの横。もっと厳しくする必要があるかもしれません。
lsusb
を使用して確認します
Bus 003 Device 003: ID 0461:4d81 Primax Electronics, Ltd Dell N889 Optical Mouse
それらを追加します。
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0461", ATTRS{idProduct}=="4d81", SYMLINK+="myusb"
すべてのデバイスが/dev
にノードを作成するわけではありません。 (どのタイプのデバイスを使用しましたか?)
ボーナス:)、たとえそうだとしても、ルールはツリーデバイスノードに関してまだ広範です。カメラを接続すると、ノードが1つだけ作成されるのではなく、ツリーのルートからリーフまで多くのノードが作成されます(ほとんどの場合、リーフは必要なものです)。小切手:
udevadm info -a /dev/video0
前に変更されたルールは、最後の2つのノード(リーフではない)に一致する場合があります。