我有一个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
因此,在创建特定符号链接之后,有什么方法可以启动某些服务吗?