목차

, , , , ,

nm-online

nm-online은 NetworkManager에 연결 상태를 질의하고 active connection 또는 startup 완료를 제한 시간까지 기다리는 utility다. 성공 여부는 출력보다 exit status로 판단한다.

Installation

sudo apt update
sudo apt install network-manager        # Debian, Ubuntu
 
sudo dnf install NetworkManager         # Fedora, RHEL 계열
 
nm-online --help

NetworkManager는 Linux daemon이므로 macOS Homebrew와 Windows winget용 공식 package는 제공되지 않는다.

Usage

nm-online [OPTIONS]

Examples

if nm-online -q -t 15; then
  echo "NetworkManager reports an active connection"
else
  echo "Network unavailable or timed out" >&2
fi
 
nm-online -q -s -t 60

-s는 boot 시 모든 사용 가능한 autoconnect profile의 활성화 시도가 끝나는 시점을 기다린다. 이미 startup이 끝났다면 현재 연결성 여부와 관계없이 즉시 성공할 수 있으므로 일반적인 online 검사와 혼동하지 않는다.

Exit Status

Status 의미
0 이미 online이거나 제한 시간 안에 연결 또는 요청한 startup 상태에 도달함
1 offline이거나 제한 시간 안에 online이 되지 않음
2 알 수 없거나 명시되지 않은 오류

systemd

NetworkManager-wait-online.service는 boot ordering을 위해 nm-online -s를 사용한다. 서비스가 오래 기다리면 단순히 timeout을 줄이기 전에 autoconnect profile, carrier, DHCP와 address-family 완료 조건을 확인한다.

systemctl status NetworkManager-wait-online.service
journalctl -u NetworkManager-wait-online.service -b
nmcli connection show

특정 address family가 반드시 준비되어야 한다면 해당 profile의 ipv4.may-fail 또는 ipv6.may-fail 값을 요구 조건에 맞게 검토한다.

Help

nm-online --help

See Also

History