I'm using Ubuntu 18.04.1 LTS. I want to disable network manager on an Ubuntu machine, because (1) I don't need it, (2) I prefer having hardcoded configuration, and (3) network manager regularly causes issues by changing the DHCP configuration.
I tried to follow the official documentation:
Stop network manager
sudo systemctl stop NetworkManager.serviceDisable network manager (permanently) to avoid it restarting after a reboot
sudo systemctl disable NetworkManager.service
Despite this, the network manager is back again every time I reboot the machine.
How can I make it go away?
82 Answers
The method depends on desktop environment:
For Ubuntu MATE 18.04 LTS and 20.04 LTS purging
network-managerpackage is safe. You can simply run:sudo apt-get purge network-managerFor Ubuntu 18.04 LTS and 20.04 LTS with GNOME desktop purging
network-managerpackage will also purgeubuntu-desktopandgnome-control-center(essential part of GNOME desktop). So it is not an option.Here you should disable NetworkManager service (as you have already done):
sudo systemctl stop NetworkManager.service sudo systemctl disable NetworkManager.serviceand three more services:
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.serviceand then reboot.
Notes:
- You can read more about network configuration with
/etc/network/interfacesfrom Ubuntu 16.04 LTS Server Guide. - Modern Ubuntu 18.04 LTS server uses
netplan, you can read about it in the Ubuntu 18.04 LTS Server Guide.
Try the mask command:
sudo systemctl stop NetworkManager.service
sudo systemctl mask NetworkManager.servicemask NAME...
Mask one or more units, as specified on the command line. This will link these unit files to /dev/null, making it impossible to start them.
This is a stronger version of disable, since it prohibits all kinds of activation of the unit, including enablement and manual activation. Use this option with care. This honors the --runtime option to only mask temporarily until the next reboot of the system.
The --now option may be used to ensure that the units are also stopped. This command expects valid unit names only, it does not accept unit file paths.