网络管理器脚本失败,如何查看完整日志输出

网络管理器脚本失败,如何查看完整日志输出

journalctl -u NetworkManager.service告诉我dispatcher: 01-ifupdown [...] /etc/NetworkManager/dispatcher.d/01-ifupdown exited with error status 1

这几乎肯定是我们已挂钩/符号链接的脚本/etc/network/if-up.d/our-hook然而所有这些脚本直接运行时都不会出现错误。

在哪里可以找到,或者如何启用网络管理器运行的所有事物的完整捕获stdoutstderr将详细程度缩小到if-up.d显然也可以)。深入了解与此答案相关的术语也会有所帮助 - 我确信此信息存在,但我的搜索功能不够。

ubuntu server 18.04

有问题的脚本以以下内容开头。在测试设备上,/bin/sh符号链接到dash

#!/bin/sh
set -xue
echo "[...] $(date)"

答案1

事实证明不是 NetworkManager.service将有相关日志:

不同的服务,NetworkManager-dispatcher.service是运行脚本的服务/etc/network/if-*.d/*,并且journalctl该服务的实际上具有来自操作的所有stdout/ 。stderr

令人好奇的是,潜在的错误是一个exec format error来自run-parts;我们生成钩子的脚本有一个我没有注意到的额外的换行符:

# --> extra newline here, before ~shebang
#!/bin/sh
...

相关内容