12.5. Konzistentní pojmenování zařízení pro hromadné uchováváni dat

SUSE Linux obsahuje skripty, které pomáhají přiřadit pevným diskům a dalším úložným zařízením vždy stejná jména, /sbin/udev.get_persistent_device_name.sh je obalovací skript (wrapper). Nejprve zavolá /sbin/udev.get_unique_hardware_path.sh, který zjistí hardwarovou cestu k příslušnému zařízení. Skript /sbin/udev.get_unique_drive_id.sh zjistí sériové číslo. Oba výstupy jsou následně předány udev, který vytvoří symbolický odkaz na uzel zařízení v adresáři /dev. Obalovací skript lze rovněž přímo použít v udev pravidlech. Následující příklad pro SCSI může být zobecněn i pro USB nebo IDE (musí být zapsán na jedné řádce):

BUS="scsi", 
PROGRAM="/sbin/udev.get_persistent_device_name.sh", 
NAME="%k", SYMLINK="%c{1+}"

Jakmile je nahrán ovladač pro zařízení pro hromadné uchovávání dat, zaregistruje všechny dostupné pevné disky v jádře. Každý z nich spustí blokovou hotplug událost, která volá udev. udev nejdříve načte pravidla aby zjistil, zda je potřeba vytvořit symbolický odkaz.

Pokud je ovladač nahrán prostřednictvím initrd, hotplug události se ztratí. Nicméně jsou všechny informace uloženy v souborovém systému sysfs. Utilita udevstart vyhledá všechny zařízení v /sys/block a /sys/class a spustí udev.

Existuje také startovací skript boot.udev, který během startu systému znovu vytvoří všechny uzly zařízení. Tento startovací skript musí být aktivován pomocí editoru úrovní běhu YaST nebo příkazem insserv boot.udev.

[Tip]Tip

Mnoho programů a nástrojů spoléhá na skutečnost, že /dev/sda je SCSI pevný disk a /dev/hda je IDE pevný disk. Pokud tomu tak není, přestanou fungovat. YaST je na těchto nástrojích závislý, takže pracuje pouze jaderným označením zařízení.