A seguinte solução é baseada no fórum postando regra do udev para um symlink
Você tem /dev/sda3
e deseja criar um symlink para sintetizar uma entrada para o dispositivo ausente chamado /dev/sda5
:
cd /dev && ln -s sda3 sda5
Isso pode ser gerenciado no momento da inicialização em udev
com uma regra simples que corresponda ao dispositivo de bloco sda3
.
Crie o arquivo /etc/udev/rules.d/80-local
ou use um arquivo com nome semelhante e adicione essas linhas a ele:
# symlink existing /dev/sda3 to new sda5
SUBSYSTEM=="block", KERNEL=="sda3" SYMLINK+="sda5"
Caso você esteja curioso, escolhi os valores SUBSYSTEM
e KERNEL
como correspondências adequadas, analisando a saída de udevadm info -a -n /dev/sda3
. (Eu preferiria combinar em um UUID ou outro identificador exclusivo, mas não consegui encontrar um.)
Agora, diga udev
para recarregar suas regras e acionar novas correspondências:
udevadm control --reload-rules
udevadm trigger --attr-match=subsystem=block
e você verá o link simbólico criado automaticamente:
ls -l /dev/sda5
lrwxrwxrwx 1 root root 4 Jan 7 17:18 /dev/sda5 -> sda3
Eu não pude testar este próximo passo, mas dependendo de onde no processo de inicialização você precisa que este link simbólico seja criado, você pode achar necessário atualizar seu initramfs
. No meu sistema Debian que é feito assim:
update-initramfs -u