Udevadm 无法正常工作

Udevadm 无法正常工作

我刚刚将 NAS 升级到 18.04。我有一个脚本,提示用户输入 luks 密码,然后在解密后安装驱动器。这曾经有效:

cryptsetup luksOpen /dev/md0 md0_crypt
udevadm settle --exit-if-exists=/dev/mapper/files--vg-main
mount /dev/mapper/files--vg-main /main

然而,更新到 18.04 后,它停止工作,我得到:mount: /main: special device /dev/mapper/files--vg-main does not exist.

我没有找到解决方案,只是谷歌搜索。我的 LUKS 容器是我的 pv。我把它放在一个名为 files-vg 的卷组中。然后我有一个带有路径的逻辑卷/dev/files-vg/main。这就是为什么我正在寻找/dev/mapper/files--vg-main

编辑:澄清一下,线路udevadm settle没有等待足够长的时间让 LV 可用,因此挂载失败。我可以手动调用mount,然后它就会正常工作。

答案1

这是一个丑陋的解决方法,我没有 LUKS 容器可以进行测试:

udevadm info /dev/mapper/files--vg-main

您正在检查的设备在哪里/dev/mapper/files--vg-main。 if [ $? -eq 0 ] 则命令成功意味着该设备存在并且您可以安装它。

否则您必须循环并再次检查。

附注:你可以在以下网址找到一些有用的 udev 调试思路:这一页。

相关内容