/lib/systemd/system/NetworkManager-wait-online.serviceの
[Service]の太字の部分を
Type=oneshot
ExecStart=/usr/bin/nm-online -s -q --timeout=30
RemainAfterExit=yes
[Service]とすることで回避できました。
Type=oneshot
# ExecStart=/usr/bin/nm-online -s -q --timeout=30
ExecStart=/usr/bin/nm-online -s -q --timeout=90
RemainAfterExit=yes
これは、/var/log/syslogの内容を手がかかりにして見つけました。
- /var/log/syslogには以下のようなエラーが記録されていました。
DHCPDISCOVER on enp2s0 to 255.255.255.255 port 67 interval 3 (xid=0xe6993237)
DHCPDISCOVER on enp2s0 to 255.255.255.255 port 67 interval 8 (xid=0xe6993237)
NetworkManager-wait-online.service: Main process exited, code=exited, status=1/FAILURE
Failed to start Network Manager Wait Online.
NetworkManager-wait-online.service: Unit entered failed state.
NetworkManager-wait-online.service: Failed with result 'exit-code'.
Reached target Network is Online.
Mounting /home...
mount.nfs: Failed to resolve server NFS0: Temporary failure in name resolution - この「NetworkManager-wait-online.service」が怪しそうなので、検索をしてみると以下のWWWページがありました。
デバイスの認識が遅くてnetwork.serviceがfailedになる問題
https://qiita.com/kawaz/items/715d7ea761f13230607b
…
systemctl list-unit-files を見てたら NetworkManager-wait-online.service なんて名前のサービスがあるじゃない!?デフォルトではdisabledらしいが、いかにも僕の問題を解決してくれそうなサービス名である。おもむろに有効化。
systemctl enable NetworkManager-wait-online.service
再起動してみる。…やったー、無事SSH入れたよ!network.service のステータス見ても failed しなくなってる! - そこでこのサービスを確認し見たところ、enabledにはなっているがエラーがある(太字)。
$ systemctl status NetworkManager-wait-online.service
● NetworkManager-wait-online.service - Network Manager Wait Online
Loaded: loaded (/lib/systemd/system/NetworkManager-wait-online.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since …; 3min 40s ago
Docs: man:nm-online(1)
Process: 874 ExecStart=/usr/bin/nm-online -s -q --timeout=30 (code=exited, status=1/FAILURE)
Main PID: 874 (code=exited, status=1/FAILURE)
… - このサービスの記述ファイルをlocateコマンドで探して中を確認してみると以下のようになりました。
$ locate NetworkManager-wait-online.service
もう少し見てみると、
/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
/lib/systemd/system/NetworkManager-wait-online.service
/var/lib/systemd/deb-systemd-helper-enabled/NetworkManager-wait-online.service.dsh-also
/var/lib/systemd/deb-systemd-helper-enabled/network-online.target.wants/NetworkManager-wait-online.service
$
$ cd /etc/systemd/system/network-online.target.wants/
ようにシンボリックリンクとなっていて、/lib/systemd/system/NetworkManager-wait-online.service が本体のようです
$ ls -l
…
lrwxrwxrwx 1 root root 38 2月 19 19:50 networking.service -> /lib/systemd/system/networking.service
lrwxrwxrwx 1 root root 54 2月 19 19:50 NetworkManager-wait-online.service -> /lib/systemd/system/NetworkManager-wait-online.service
- そこで/lib/systemd/system/NetworkManager-wait-online.serviceを最初に書いたように変更しました。
$ systemctl status lightdm補足: この「IPアドレスが必要なサービスがIPアドレスの付与を待たない」という問題は、Ubuntu Server 18.04では解消されていました。
● lightdm.service - Light Display Manager
Loaded: loaded (/lib/systemd/system/lightdm.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/display-manager.service.d
└─xdiagnose.conf
Active: active (running) since … 15:24:23 JST; 3min 28s
…
$ sudo systemctl disable lightdm
$