У меня есть сервер, и одна из его задач - клонировать изображения, созданные DD, в одну из 3 целей:
- USB> SATA 2
- USB> CF (компактная вспышка)
- USB> CFAST
Я написал сценарии bash, которые позволяют пользователю выбирать тип изображения, которое он хочет клонировать, и он делает все для них, он прекрасно работает с одним исключением.
Идентификаторы устройств этих USB-накопителей меняются каждый раз при перезагрузке системы, и то, что когда-то было системным диском /dev /sda после перезагрузки, может стать /dev /sde, который мой сценарий, например, назначил для клонирования CF.
Итак, как я могу заставить устройство USB использовать определенный идентификатор устройства, когда оно подключено или когда устройство перезагружается.
Например,
- USB> SATA 2) /dev /sdx
- USB> CF (компактная вспышка) /dev /sdy
- USB> CFAST /dev /sdz
Или есть альтернативное решение, где я могу обратиться к устройству USB при использовании dd для чтения или записи на него ??
Спасибо
редактировать
Я пытался создать правило, но оно не сработало:
# lsusb | grep Sony
Bus 001 Device 002: ID 054c:01bd Sony Corp. MRW62E Multi-Card Reader/Writer
# udevadm info --name=/dev/sdb --attribute-walk | grep 054c
ATTRS{idVendor}=="054c"
# udevadm info --name=/dev/sdb --attribute-walk | grep 01bd
ATTRS{idProduct}=="01bd"
Создал файл:
nano /etc/udev/rules.d/10-usb.rules
ACTION=="add", ATTRS{idProduct}=="01bd", ATTRS{idVendor}=="054c", SYMLINK+="sonycf"
Затем попытался активировать его:
udevadm trigger
Но /dev /sonycf не появляется на моих устройствах.
Редактировать 2
Спасибо @ grawity
ACTION=="add", SUBSYSTEM=="block", ATTRS{idProduct}=="01bd", ATTRS{idVendor}=="054c", SYMLINK+="sonycf"
udevadm trigger --action=add --subsystem-match=block
Работает угощение :-)