如何永久禁用网络管理器?


18

我正在使用Ubuntu 18.04.1 LTS。我想在Ubuntu机器上禁用网络管理器,因为(1)我不需要它,(2)我更喜欢使用硬编码配置,并且(3)网络管理器经常通过更改DHCP配置而引起问题。

我试图遵循官方文档

停止网络管理员

sudo systemctl stop NetworkManager.service

永久禁用网络管理器,以避免重新启动后重新启动

sudo systemctl disable NetworkManager.service

尽管如此,每次重新启动计算机时,网络管理器都会再次返回。

我怎样才能使它消失?


1
您不能简单地卸载NM是否有原因?
user535733 '18

您要使用什么代替服务器中的NetworkManager-netplan ?
N0rbert

@ user535733:我不知道可以卸载网络管理器。我会检查这个。
Arseni Mourzenko '18

2
@ N0rbert:只是/ etc / network / interfaces和/etc/resolv.conf中的硬编码配置。不知道是否有正式名称。
Arseni Mourzenko '18

@ArseniMourzenko您的桌面环境是什么?如果是GNOME,则清除网络管理器将删除gnome-control-center,这是GNOME的重要组成部分。
N0rbert

Answers:


20

该方法取决于桌面环境:

  • 对于Ubuntu MATE 18.04.1 LTS清除network-manager软件包是安全的。您可以简单地运行:

    sudo apt-get purge network-manager
    
  • 对于带有GNOME台式机的Ubuntu 18.04.1 LTS,network-manager还将清除ubuntu-desktopgnome-control-center(GNOME台式机的重要部分)。因此,这不是一个选择。

    在这里您应该禁用NetworkManager服务(已经完成):

    sudo systemctl stop NetworkManager.service
    sudo systemctl disable NetworkManager.service
    

    以及另外三个服务:

    sudo systemctl stop NetworkManager-wait-online.service
    sudo systemctl disable NetworkManager-wait-online.service
    
    sudo systemctl stop NetworkManager-dispatcher.service
    sudo systemctl disable NetworkManager-dispatcher.service
    
    sudo systemctl stop network-manager.service
    sudo systemctl disable network-manager.service
    

    然后重新启动。


笔记:

  1. 您可以/etc/network/interfacesUbuntu 16.04 LTS Server Guide中阅读有关网络配置的更多信息。
  2. 现代Ubuntu 18.04 LTS服务器使用netplan,您可以在《Ubuntu 18.04 LTS服务器指南》中阅读有关它的信息。

我始终将NetworkManager清除为我的第一个安装后步骤-至少从14开始。也许删除台式机的问题是一个错误?
斯蒂芬·波士顿

不是错误,而是依赖性问题。
N0rbert

解决了吗 还是我们的存储库之间有区别?我没有您报告清除NM的经验。我发现某些应用程序假定NM已安装并处于活动状态,但是它们都不是唯一或必不可少的。
斯蒂芬·波士顿,

对我来说,问题仍然存在。在最小的18.04 LTS VM上sudo apt-get install ubuntu-desktop^进行了测试,并跟随了sudo apt-get purge network-manager
N0rbert

真是太奇怪了!我有一个尚未使用的19.10 VM,因此仍安装了NM。我清除了它,运行了更新和升级,并且桌面运行良好。我看到了升级考虑升级NM的想法,但重启后仍未安装。
斯蒂芬·波士顿

7

尝试mask命令:

sudo systemctl stop NetworkManager.service
sudo systemctl mask NetworkManager.service

遮罩NAME ...

根据命令行中的说明,屏蔽一个或多个单位。这会将这些单元文件链接到/ dev / null,从而无法启动它们。
这是禁用的更强版本,因为它禁止所有类型的设备激活,包括启用和手动激活。请谨慎使用此选项。这使--runtime选项可以仅暂时屏蔽,直到系统下次重新引导为止。
--now选项可用于确保单元也已停止。该命令仅需要有效的单位名称,不接受单位文件路径。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.