Failed to restart networking.service: Unit not found.
时间: 2025-05-27 15:19:19 浏览: 41
### 解决方案
在 Ubuntu 18.04.6 LTS 系统中,`networking.service` 已被弃用,取而代之的是更现代化的网络管理工具,例如 `NetworkManager` 和 `systemd-networkd`。因此,当你尝试重启 `networking.service` 时会出现 `Unit networking.service not found` 错误[^2]。
以下是具体的解决方法:
#### 方法一:使用 NetworkManager 控制网络服务
在大多数桌面环境中,默认情况下会安装并启用 `NetworkManager`。可以通过以下方式控制网络服务:
1. 检查 `NetworkManager` 是否已启动:
```bash
systemctl status NetworkManager
```
2. 如果未运行,可以手动启动它:
```bash
sudo systemctl start NetworkManager
```
3. 若要在网络引导时自动启动该服务,执行以下命令:
```bash
sudo systemctl enable NetworkManager
```
---
#### 方法二:切换至 systemd-networkd
如果你希望使用 `systemd-networkd` 而不是 `NetworkManager`,则需要进行一些额外配置:
1. 停止并禁用 `NetworkManager`:
```bash
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
```
2. 启动并启用 `systemd-networkd`:
```bash
sudo systemctl start systemd-networkd
sudo systemctl enable systemd-networkd
```
3. 创建或编辑网络配置文件(位于 `/etc/systemd/network/` 下)。例如,创建一个名为 `10-eth0.network` 的文件用于配置以太网接口:
```ini
[Match]
Name=eth0
[Network]
DHCP=yes
```
上述配置表示为 `eth0` 接口启用 DHCP 自动获取 IP 地址[^3]。
4. 应用新配置后,重启虚拟机以确保更改生效。
---
#### 方法三:回退到传统网络管理方式
如果确实需要恢复旧式的网络管理模式,可以重新安装 `ifupdown` 并配置静态网络设置:
1. 安装必要的软件包:
```bash
sudo apt update
sudo apt install ifupdown
```
2. 编辑 `/etc/network/interfaces` 文件,添加类似以下内容:
```plaintext
auto eth0
iface eth0 inet dhcp
```
此处假设主要网络接口名称为 `eth0`,并且希望通过 DHCP 获取 IP 地址。
3. 启用并启动相关服务:
```bash
sudo systemctl unmask networking
sudo systemctl enable networking
sudo systemctl start networking
```
注意:这种方法可能不推荐用于较新的系统版本,因为它已被视为过时的技术栈[^1]。
---
### 总结
根据实际需求选择合适的解决方案至关重要。对于一般用途而言,采用默认提供的 `NetworkManager` 是最简便的选择;而对于服务器部署场景下,则考虑迁移到更加灵活高效的 `systemd-networkd` 架构上去替代原有的 `networking.service` 功能模块。
阅读全文
相关推荐













