nmcli本身不是服务,而是NetworkManager的命令行客户端;所谓“nmcli服务未运行”实为NetworkManager守护进程未启动或异常退出,需通过systemctl status NetworkManager检查状态,journalctl -u NetworkManager查日志,确认dbus等依赖正常,并排除network服务冲突。

nmcli 本身不是服务,而是 NetworkManager 的命令行客户端。所谓“nmcli 服务未运行”,实际是指 NetworkManager 守护进程没有启动或异常退出。排查时要聚焦在 NetworkManager 服务本身,而不是 nmcli 命令能否执行。
确认 NetworkManager 是否在运行
直接检查服务状态是最快速的判断方式:
-
systemctl status NetworkManager --no-pager—— 查看当前运行状态、最近日志和启用情况 - 若提示
Unit NetworkManager.service could not be found,说明包未安装(常见于最小化安装的 CentOS/RHEL) - 若显示
inactive (dead)或failed,需进一步查日志
查看失败原因和关键日志
服务启动失败时,journal 日志是核心依据:
-
journalctl -u NetworkManager -n 50 --no-pager—— 显示最近 50 行 NetworkManager 日志 - 重点关注 ERROR、Failed to、Cannot open、Permission denied 等关键词
- 常见报错包括:配置文件语法错误(如
/etc/NetworkManager/NetworkManager.conf)、权限问题、依赖服务缺失(如 dbus)、端口被占用等
验证基础依赖是否就绪
NetworkManager 依赖 dbus 和 udev 等系统组件:
-
systemctl status dbus—— 确保 D-Bus 消息总线正常运行 -
ls /sys/class/net/—— 确认内核已识别网卡设备(若为空,可能是驱动或硬件问题) -
nmcli -p g(即nmcli general)—— 若返回Error: NetworkManager is not running,印证服务未启动
尝试手动启动并观察响应
在确认依赖正常后,可尝试启动并捕获即时反馈:
sudo systemctl start NetworkManager- 立即运行
systemctl status NetworkManager看是否成功,或是否又迅速退出 - 若启动后仍不可用,检查是否与其他网络服务冲突(如
network服务仍在运行):systemctl status network;如有,应禁用:sudo systemctl disable --now network
NetworkManager 启动失败通常不是 nmcli 的问题,而是底层服务配置或环境不满足所致。定位到具体错误日志,再针对性修复配置或依赖,就能恢复管理能力。











