Linux

networkmanager 腳本失敗,如何查看完整的日誌輸出

  • March 8, 2021

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但是所有此類腳本在直接執行時都可以正常執行。

我在哪裡可以找到或如何啟用對網路管理器執行的所有事物的stdout/的完整擷取stderr(將詳細程度縮小到if-up.d顯然也可以)。深入了解與此答案相關的白話也會有所幫助-我確定此資訊存在,但我的 search-foo 不足。

ubuntu server 18.04

有問題的腳本以以下內容開頭。在測試設備上,/bin/sh符號連結到dash

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

事實證明,它不會 NetworkManager.service有相關的日誌:

一個不同的服務 ,NetworkManager-dispatcher.service是在其中執行腳本的/etc/network/if-*.d/*- 並且該journalctl服務的 確實有 all stdout/ stderrfrom 操作。

對於好奇的人來說,潛在的錯誤是exec format errorfrom run-parts; 我們生成鉤子的腳本有一個我沒有註意到的額外換行符:

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

引用自:https://serverfault.com/questions/1056255