特定の種類のハードウェアのドライブ文字/名前を予約する方法

特定の種類のハードウェアのドライブ文字/名前を予約する方法

私はこのトピックのために少し難しいです。

SSDドライブ付きのサーバーボックスがあります。/dev/sda

また、時にはカードが使用されるCFastスロットもあります。カードはハードドライブとして認識され、デフォルトで/dev/sdbドライブ文字に割り当てられました。

設定を完了するにはUSBメモリースティックが必要です。 CFast カードの有無に応じて、スティックは次の場所に割り当てられます。/dev/sdb または /dev/sdc

いくつかの動作するスクリプトを持つには/dev/sdcが必要です。 USBスティックは異なる場合があります。

それでは、ハードドライブ用にsdb(CFast)を予約するか、USBスティックを/ dev / sdc以上に割り当てる方法は?

スティックが頻繁に変更される可能性があるため、fstabのUUIDが機能しないと思います。 udevで書かれたスクリプト?

乾杯ジェーン

ベストアンサー1

さて、ある程度理解しました。

解決策はudevです。電話してもいい

udevadm info --name=/dev/sdb1 --attribute-walk

エンドポイントからルートまでのカテゴリで使用されるすべての属性のリスト。

その後、/etc/udev/rules.d/10-local.rulesにローカルルールを作成しました。

このルールには以下が含まれます。

SUBSYSTEMS=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/bin/usb_load.sh"
SUBSYSTEMS=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="/bin/usb_unload.sh"

イベントを比較し、SUBSYSTEMS、ACTION、およびENV {DEVTYPE}が一致すると、RUN + =はリポジトリに配置された2つのシェルスクリプトを実行します。ルートとして実行されるため、権限の問題はありません。

忘れないで

udevadm control --reload

ルールをもう一度読むには

このソリューションはルールにもっと多くの機能があるので、確かに改善することができますが、現在は私にとって良いソリューションです。時間が経つと調整します。

おすすめ記事