разрешить запуск службы systemd после создания символической ссылки udev

#systemd #udev

#systemd #udev

Вопрос:

У меня есть служба systemd, монтирующая раздел UFS LU в / mnt

 ## bt_mount.service ##
[Unit]
Description=Mount bt_firmware_a/b to /mnt

[Service]
Type=oneshot
PassEnvironment="SLOT"  ## "_a" or "_b", depends on the boot slot
ExecStart=/bin/mount -o noexec,nodev,ro /dev/disk/by-partlabel/bt_firmware${SLOT} /mnt

[Install]
WantedBy=local-fs.target
  

НО

Иногда происходит сбой, в котором говорится, что «специальное устройство / dev / disk /by-partlabel /bt_firmware_a не существует».

systemd-analyze показывает, что bt_mount.service запускается до создания символьной ссылки, что и является причиной.

Я ищу в Google и узнаю, что systemd-udevd.service играет важную роль в создании этой символической ссылки, и она создаст их при запуске udevadm —trigger.

 systemd-udevd.service
systemd-udevd-trigger.service
  

Я пытался добавить зависимость для службы, используя инструкцию ниже, но все то же самое.

 After=systemd-udevd-trigger.service systemd-udevd.service
  

Итак, есть ли какой-либо способ разрешить запуск какой-либо службы после создания конкретной символической ссылки?