web-dev-qa-db-ja.com

ネットワークが設定されるのを待つために、開始ジョブが実行されています。 Ubuntuサーバー17.10

私はちょうどラップトップにubuntuサーバーをインストールしましたが、ラップトップがイーサネットに接続されていないか、Wi-Fiの範囲内にない場合、起動時に「ネットワークを待つために開始ジョブが実行されています約2分間そのままです。私は解決策をオンラインで調べてみました:

  • ネットワークマネージャーを無効にする
  • /etc/systemd/system.confのタイムアウト設定を編集します
  • Systemd.networkd-wait-online.serviceを無効にします

これらのソリューションはどれも私にとってはうまくいきませんでした。可能な修正はありますか?

35
vlad27

つかいます

systemctl disable systemd-networkd-wait-online.service

システムがネットワーク接続で待機するのを防ぐために、待機オンラインサービスを無効にします。

systemctl mask systemd-networkd-wait-online.service

別のサービスから要求された場合にサービスが開始しないようにします(サービスは/dev/nullにシンボリックリンクされています)。

38
Mr.Ecco

Systemdサービスをマスクまたは無効にしないでください。

/etc/netplan/01-netcfg.yamlを編集し、常に利用できるとは限らないデバイスにoptional: trueを追加します。

Sudo netplan apply
26
user914826

これは、systemd-networkd-wait-online.serviceがハングしていることを意味します。いくつかの既知のバグがあります。必要なサービスを確認してください network-online.target

systemctl show -p WantedBy network-online.target

必要に応じて、これらのサービスを無効にできます。それ以外の場合は、Mr.Ecco 示されている としてサービスをマスクする必要があります。

9

systemd-networkd-wait-online.serviceをマスクすることは、他の回答で示唆されているように、簡単なセットアップには役立つかもしれませんが、問題は解決しません。サービスをマスクすると、それに依存する他のすべてのサービスも失敗します。つまり、ネットワークがオンラインになるまで待機する必要があるすべてのサービスが失敗します。

bondingメインインターフェイスのスレーブとして使用される有線(enp9s0)およびワイヤレス(wlp12s0)インターフェイスでラップトップの動的フェールオーバーセットアップを使用するため、この問題に遭遇しますbond。ブリッジ(brをスレーブインターフェイスで使用する場合)とまったく同じ状況になります。メインインターフェイスbondまたはbrのみがオンラインになりますが、スレーブではなくsystemd-networkd-wait-online.serviceがスレーブで失敗します。

この問題の解決策は、サービスを変更し、オンラインになるはずのインターフェースのみをチェックすることです。あなたが見つけるでしょう:

~$ Sudo systemctl cat systemd-networkd-wait-online.service | grep --after-context=3 '\[Service\]'
[Service]
Type=oneshot
ExecStart=/lib/systemd/systemd-networkd-wait-online
RemainAfterExit=yes

プログラムsystemd-networkd-wait-onlineには、特定のインターフェースをテストするためのパラメーターがあります。 /lib/systemd/systemd-networkd-wait-online --helpで確認してください。そこで、ファイルをドロップしてサービスを変更します。

~$ Sudo systemctl edit systemd-networkd-wait-online.service

空のエディターでこれらのステートメントを挿入します。もちろん、インターフェイスを使用して、エディターを終了して保存します。

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=bond0 --quiet

空のExecStart=は、「古い」コマンドを無効にするため重要です。インターフェース以上のものを確認できます(ヘルプをご覧ください)。

0
Ingo

コマンドを使用します。

$ Sudo systemctl stop systemd-networkd-wait-online.service
$ Sudo systemctl disable systemd-networkd-wait-online.service
0
Jeewan Prakash