私はしばしば次の問題に直面しています。コマンドが私のユーザーシェルで実行されているのか、Systemdサービスの一部として実行されているのかによって、コマンドは異なる結果を生成します(例:ExecStart
。
できるだけ近くに特定のSystemdサービスを模倣するシェルでコマンドを実行する方法はありますかdhcpcd.service
?同じ機能、環境変数、および利用可能なリソースを持つことが始まりです。
ip link
現在の問題では、私の問題を再現するのに問題があります。しかし、ExectStart
これはdhcpcd.service
システムサービスをデバッグするのに非常に便利です。
ベストアンサー1
あなたはそれを使用することができますsystemd-run
:
# systemd-run ip link
Running as unit: run-r2723175b10a543f38faddda99baa8ca3.service
# journalctl -u run-r2723175b10a543f38faddda99baa8ca3.service
-- Logs begin at Fri 2020-09-11 23:45:32 CEST, end at Fri 2020-09-18 15:33:51 CEST. --
Sep 18 15:33:51 w systemd[1]: Started /usr/bin/ip link.
Sep 18 15:33:51 w ip[3904]: 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
...
-E
サービス環境を「模倣する」には、その他のフラグを使用してください。