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


39

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

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

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


これらは修正です。変更するたびに、NM / systemdをリロードしましたか?起動時にのみ設定ファイルを読み取ります。
-user535733

はい、私はsystemctl daemon-reloadを使用しましたが、まだ同じ結果
-vlad27

回答:


39

つかいます

systemctl disable systemd-networkd-wait-online.service

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

systemctl mask systemd-networkd-wait-online.service

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


このコンテキストでマスキングとはどういう意味ですか?
ハイメHablutzel

出来た。:)ここで行ったことを説明していただけますか?ただ興味があるだけ。
SD。

3
@SD @ハイメ・hablutzelを参照してくださいaskubuntu.com/a/816378/445084の説明についてsystemctl mask。簡単に言えば、サービスをマスクすると、サービスはにリダイレクトされ/dev/null、別のサービスで必要になった場合にサービスが再び有効になりません。
タイマー

31

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

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

sudo netplan apply

1
私の場合、すべてのインターフェースをオプションに設定した後にのみ機能しました:true
duli

1
systemdサービスを無効にするよりも、これはどのような点で優れていますか?
アンドレアス・ハルトマン

VmwareでUbuntu 18.04を使用している私にとって、対応するファイルは/etc/netplan/50-cloud-init.yamlでした。オプションの追加:trueおよび再起動が機能しました!関連スレッド:askubuntu.com/questions/1090631/...。ネットプランの関連情報:linux.com/learn/intro-to-linux/2018/9/…(DHCPの構成)
Snidhi Sofpro

Thisxは、Ubuntu 18.04.03 LTS(デスクトップ)で機能し、NetworkManagerを無効にし、netplanでnetworkdを設定し、ksvm / qenu仮想化用にbr0を設定し、dnsmaqueradeでDNSキャッシングを設定しました。新しい設定では、設定の問題が見つかりませんでしたが、ブーイはオプションなしで2分以上かかります:true -setting。この設定では、ブートは正常であり、ネットワークでも機能します。
レイジョ・コルホネン

9

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

systemctl show -p WantedBy network-online.target

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


2

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

メインインターフェイスbond0のスレーブとして使用される有線(enp9s0)およびワイヤレス(wlp12s0)インターフェースをボンディングするラップトップの動的フェールオーバーセットアップを使用するため、この問題に遭遇します。ブリッジ(スレーブインターフェイスでbr0)を使用する場合、まったく同じ状況になります。メインインターフェイスbond0またはbr0のみがオンラインになりますが、スレーブはそうではないため、スレーブで失敗します。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=は「古い」コマンドを無効にするため重要です。インターフェース以上のものを確認できます(ヘルプをご覧ください)。


素晴らしい、非常に良い答え、それはまさに私の問題
でした
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.