netplan:如何仅在指定设备的 if-up 上运行脚本

netplan:如何仅在指定设备的 if-up 上运行脚本

当我使用ifupdown时,我在if-up.d中编写了一个脚本,并使用$IFACE来检测受影响的设备的名称。

现在我转向 Ubuntu Server 18.04 中的 netplan。需要解决 2 个问题:

1 运行脚本的命令放在哪里? https://netplan.io/faq说应该放在 /etc/networkd-dispatcher/routable.d/50-ifup-hooks 中。只允许这个文件名?实际上,我的实例中根本没有这样的目录。

2 如何检测受影响的设备名称?

谢谢。

答案1

如上所述/usr/share/doc/networkd-dispatcher/README.md.gz,设备名称在环境变量中传递IFACE,与 if-up.d 使用的相同。

本文档还描述了网络调度程序挂钩脚本的命名要求。

请注意,从 Ubuntu 18.04 开始,networkd-dispatcher 仅支持从 读取其钩子/usr/lib/networkd-dispatcher,而不支持从 读取/etc/networkd-dispatcher。(这是 netplan.io 网站的一个错误;但正确的修复方法是让软件包获得对 的支持/etc/networkd-dispatcher。)

相关内容