Статья (и в целом проблема как таковая) уровня для-мамкиных-админов (или админов локалхоста, как зло и хлестко говорят на/в опеннете), поэтому “подкованным” можно проходить мимо! Написать эти 3 абзаца сподвигла злоба на горе-СЕОшников, которые завалили инет перепечатками статей 2005-2010г.г. Кроме того, Оракл задеприкэйтил определенную опцию командной строки, и скоро эти статьи протухнут окончательно.(напоследок будет пара фраз про KVM).
1. Проблема (которая, в общем-то, непроблема)
Она произрастает из параллельного (в нынешнем Линуксе) обнаружения устройств, поэтому дисковые устройства часто меняют имена между перезагрузками (что-то типа: было /dev/sda - стало /dev/sdb)
Поэтому, если тест нужет в моменте, и больше повторов не будет, можно опираться на /dev/sdX. Но если тесты/работа на большой период времени, нужно что-то универсальное и идентифицирующее нужное устройство однозначно. Здесь на помощь приходят синонимы, коих система плодит при загрузке в достатке (и слава богу!!!).
Взглянем на вывод команды "ls /dev/disk":
by-diskseq by-id by-loop-inode by-loop-ref by-partlabel by-partuuid by-path by-uuid
Во всех этих подкаталогах ссылки на устройства/разделы с использованием разных идентификаторов. Вот их и надо использовать!
2. Udev.
Сначала подсмотрите с помощью команды “udevadm info /dev/sdX” идентификатор, по которому будете отлавливать появление вашего устройства.
...........
E: ID_REVISION=01.01A01
E: ID_SERIAL=WDC_WD20NPVX-00EA4T0_WD-WX81A43A9823
E: ID_SERIAL_SHORT=WD-WX81A43A9823