O link é para / dev / sda1. você pode estabelecer isso com o comando arquivo : no meu sistema, por exemplo,
# file *
ff28e743-4409-41b3-99ea-f133cdcc86be: symbolic link to '../../sda1'
Assim, sua opção b está correta. / dev / sda é não um link, por isso não aponta para mais nada: é apenas um arquivo especial (dispositivo), veja por exemplo este artigo da Wikipédia .
Eu não uso o CentOS, mas nos meus sistemas Debian / Kubuntu as regras de disco estão localizadas em /lib/udev/rules.d , sob
# ls -lh 60-per*
-rw-r--r-- 1 root root 616 apr 15 22:33 60-persistent-alsa.rules
-rw-r--r-- 1 root root 2,5K apr 15 22:33 60-persistent-input.rules
-rw-r--r-- 1 root root 947 apr 15 22:33 60-persistent-serial.rules
-rw-r--r-- 1 root root 929 mag 4 2012 60-persistent-storage-dm.rules
-rw-r--r-- 1 root root 5,6K apr 15 22:33 60-persistent-storage.rules
-rw-r--r-- 1 root root 1,4K apr 15 22:33 60-persistent-storage-tape.rules
-rw-r--r-- 1 root root 769 apr 15 22:33 60-persistent-v4l.rules
O arquivo relevante, é claro, é 60-persistent-storage.rules . Se você não conseguir localizá-lo aqui no seu sistema, sugiro que tente:
find / -type f -name '*persistent-storage*.rules'
Editar:
is /sda added in /dev by udev then ?
Sim.
how do we ensure "sda" will always remain as "sda" ?
Nós não. A regra é gerada automaticamente por udev no momento da instalação. Na verdade, o arquivo acima mencionado contém a seguinte regra:
# scsi devices
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi"
EDIT 2
A coisa mais simples, dado que você não pode se decidir, é estabelecer suas próprias regras. Suponha que você tenha um dispositivo, chamado agora sdd, mas você deseja chamá-lo de sda na próxima reinicialização.
Primeiro, você precisa descobrir alguns parâmetros:
udevadm info -a -p $(udevadm info -q path -n /dev/sdd)
Isso vai mostrar muitas informações. Procure por linhas como essas (o seu será diferente, é claro):
ATTRS{idVendor}=="18a5"
ATTRS{idProduct}=="0302"
ATTRS{serial}=="TT0E4E008XW3DT9H"
Agora você pode usar esses paramaters para criar sua própria regra, para ser inserido em /etc/udev/rules.d/10-local.rules :
ATTRS{idVendor}=="18a5", ATTRS{idProduct}=="0302", ATTRS{serial}=="TT0E4E008XW3DT9H", KERNEL=="sd?", NAME="sda", RUN+="/home/my_name/bin/my_program"
A última parte, RUN +="/ home / meu_nome / bin / meu_programa" , é opcional: você pode usá-lo para executar um comando, se desejar, mas pode omiti-lo completamente .