修正する

修正する

ネットワーク設定を保存するいくつかのマウントを設定する必要がある新しいサービス(Debian Jessieの下)を設定しようとしています。したがって、サービスは次のようになります。十分Networking.serviceが起動する前。

私は以下を試しました:

[Unit]
Description=mount/repair remaining filesystems (all persistent fs beyond "/")
#Before=network-pre.target
Before=networking.service

[Service]
Type=oneshot
ExecStart=/opt/intermodul-mounts/start.sh
TimeoutSec=0
RemainAfterExit=yes

[Install]
RequiredBy=networking.service

以下を使用すると、systemd-analyze plotサービスが開始されますが、networking.service約3秒早く開始されることがわかります。

ここに画像の説明を入力してください。

明らかに私の設定は間違っていますが、問題を見つけるのに苦労しています。どんな助けにも感謝します。

修正する

local-fs.target現在、次の代わりに以前に開始されるようにサービス構成を変更して、networking.serviceこの問題を解決してください。

[Unit]
DefaultDependencies=no
Description=mount/repair remaining filesystems (all persistent fs beyond "/")
Before=local-fs.target

[Service]
Type=oneshot
ExecStart=/opt/intermodul-mounts/start.sh
TimeoutSec=0
RemainAfterExit=yes

[Install]
RequiredBy=local-fs.target

しかし、なぜ最初の設定が期待どおりに機能しないのか知りたいのですが…?

ベストアンサー1

network-pre.targetは、ネットワークインターフェイスが設定される前にサービスを注文するために使用できるターゲットです。主な目的は、ネットワークインターフェイスが起動する前にファイアウォールを設定したいファイアウォールサービスで使用することです。これは受動的なデバイスです。直接起動できず、ネットワーク管理サービスではなく、以前に実行したいサービスを介して取得します。

network-pre.targetネットワークが起動する前にいくつかの設定を実行するには、以下を使用する必要があります。

ネットワークが構成される前に実行するサービスは、Before = network-pre.targetと入力し、Wants = network-pre.targetを設定してインポートする必要があります。

[Unit]これを次のセクションに入れる必要があります。

Before=network-pre.target
Wants=network-pre.target

引用する

おすすめ記事