我目前正在使用 Ubuntu 20.04 机器,并使用网络管理器作为管理网络配置的服务。
命令nmcli connection reload
和之间到底有什么区别nmcli device reapply
?这些命令是否会对网络配置进行永久性更改?
答案1
免责声明:我自己不使用网络管理器,因此这纯粹基于参考手册和常识。
让我们看看参考手册关于这些命令:
nmcli 连接重新加载
从磁盘重新加载所有连接文件。NetworkManager 不监控连接的更改。因此,您需要使用此命令来告诉 NetworkManager 在更改连接配置文件时从磁盘重新读取连接配置文件。
nmcli 设备重新应用{设备}
尝试使用自上次应用以来对当前活动连接所做的更改来更新设备。
由此看来,这两个命令本质上的作用不同。该nmcli connection reload
命令从磁盘重新加载连接配置文件,而将nmcli device reapply {device}
任何新配置文件应用于活动连接。
从参考手册中我不清楚是否nmcli connection reload
实际将任何配置文件应用于设备,也不清楚是否会nmcli device reapply {device}
重新加载对磁盘上配置文件的更改,但对于这两者,我都假设这是不是情况(如果有人能证明我错了,请这样做)。
因此,这些命令的逻辑顺序是首先nmcli connection reload
(对已加载的配置进行永久性更改),然后nmcli device reapply {device}
(对活动连接进行永久性更改)。
创建一个别名来在一个命令中执行这两项操作是显而易见的,例如:
alias nm-reload='nmcli connection reload && nmcli device reapply {device}'
再次,我还假设您可以为最后一个命令提供更多设备,因此您可以重新加载连接并使用单个命令将它们应用于所有设备。