Networkmanager-dispatcher-variablesをデバッグする方法

Networkmanager-dispatcher-variablesをデバッグする方法

Networkmanager-dispacher-変数(DEVICE_IFACE、IP4_GATEWAYなど)を含むスクリプトをデバッグしたいと思います。これネットワーク管理者マニュアルこれらの変数は説明されていますが、デバッグ方法は言及されていません。

私はたくさん検索しましたが、これらの変数の値を取得する方法はわかりません。コマンドラインからエコーすると(例:echo ${DEVICE_IFACE})、何の値も得られません。

答え1

NetworkManager参照したマニュアルページには次のように表示されます。

環境には、インターフェースと接続に関する追加情報が含まれています。スケジューラスクリプトでは、次の変数を使用できます。
[...]
DEVICE_IFACE

したがって、この環境は明らかにdispatcher.dによって設定され、そこで実行されているスクリプトを介してのみアクセスできます。

たとえば、次のファイルにこの行を配置できます/etc/NetworkManager/dispatcher.d

echo "interface $DEVICE_IFACE" > /tmp/myscript.log

それでも、マニュアルページを参照して、NetworkManagerルートを所有し、実行可能で、グループや他の人が書き込めないようにする必要があります。たとえば、次のようになります。

# chown root:root /etc/NetworkManager/dispatcher.d/myscript

# chmod a+x /etc/NetworkManager/dispatcher.d/myscript

# chmod go-w /etc/NetworkManager/dispatcher.d/myscript

その後、NetworkManagerを再起動したら、.txtファイルから「interface wlan0」などの内容を読む必要があります/tmp/myscript.log

答え2

スケジューラスクリプトの出力はsystemdによって記録されますsudo journalctl -u NetworkManager-dispatcher。 。したがって、変数をエコーし​​てログを見てください。

同様の質問に対する同様の回答は、以下にあります。https://serverfault.com/a/1056299/310447

関連情報