Como desabilito o gerenciador de rede permanentemente?

18

Estou usando o Ubuntu 18.04.1 LTS. Quero desabilitar o gerenciador de rede em uma máquina Ubuntu, porque (1) não preciso disso, (2) prefiro ter uma configuração codificada e (3) o gerenciador de rede regularmente causa problemas ao alterar a configuração do DHCP.

Tentei seguir a documentação oficial :

Parar o gerenciador de rede

sudo systemctl stop NetworkManager.service

Desative o gerenciador de rede (permanentemente) para evitar que seja reiniciado após uma reinicialização

sudo systemctl disable NetworkManager.service

Apesar disso, o gerente de rede está de volta sempre que eu reinicializo a máquina.

Como posso fazer isso desaparecer?

Arseni Mourzenko
fonte
11
Existe uma razão para você não poder simplesmente desinstalar o NM?
user535733
O que você deseja usar em vez do NetworkManager - netplan como no servidor ?
N0rbert #
@ user535733: Eu não sabia que o gerenciador de rede pode ser desinstalado. Vou verificar este.
Arseni Mourzenko
2
@ N0rbert: apenas configuração codificada no / etc / network / interfaces e no /etc/resolv.conf. Não sei se existe um nome oficial para isso.
Arseni Mourzenko
@ArseniMourzenko Qual é o seu ambiente de trabalho? Se for o GNOME, a remoção do gerenciador de rede removerá o gnome-control-center, que é parte essencial do GNOME.
N0rbert

Respostas:

20

O método depende do ambiente da área de trabalho:

  • Para o network-managerpacote de remoção do Ubuntu MATE 18.04.1 LTS é seguro. Você pode simplesmente executar:

    sudo apt-get purge network-manager
    
  • Para o Ubuntu 18.04.1, o network-managerpacote de limpeza da área de trabalho do LTS com GNOME também será eliminado ubuntu-desktope gnome-control-center(parte essencial da área de trabalho do GNOME). Portanto, não é uma opção.

    Aqui você deve desativar o serviço NetworkManager (como você já fez):

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

    e mais três serviços:

    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
    

    e depois reinicie.


Notas:

  1. Você pode ler mais sobre a configuração de rede /etc/network/interfacesno Ubuntu 16.04 LTS Server Guide .
  2. Utilizadores modernos do servidor Ubuntu 18.04 LTS netplan , você pode ler sobre isso no Guia do servidor Ubuntu 18.04 LTS .
N0rbert
fonte
Eu sempre limpo o NetworkManager como uma das minhas primeiras etapas pós-instalação - desde pelo menos 14. Talvez esse problema com a remoção da área de trabalho tenha sido um bug?
Stephen Boston
Não é um bug, mas um problema de dependência.
N0rbert 12/09/19
Foi resolvido? Ou existe alguma diferença entre nossos repositórios? Não tive a experiência que você relata com a remoção de NM. Descobri que alguns aplicativos supõem que o NM esteja instalado e ativo, mas nenhum deles foi único ou essencial.
Stephen Boston
Para mim, o problema persiste. Testado no mínimo 18.04 LTS VM com sudo apt-get install ubuntu-desktop^seguido de sudo apt-get purge network-manager.
N0rbert 13/09/19
Que estranho! Eu tinha uma VM 19.10 com a qual ainda não havia jogado, portanto o NM ainda estava instalado. Eu o limpei, executei a atualização e a atualização e a área de trabalho funciona perfeitamente. Eu vi a atualização pensar em atualizar o NM, mas após a reinicialização, ele ainda não está instalado.
Stephen Boston
7

Experimente o maskcomando:

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

mascarar NAME ...

Mascarar uma ou mais unidades, conforme especificado na linha de comando. Isso vinculará esses arquivos de unidade a / dev / null, tornando impossível iniciá-los.
Esta é uma versão mais forte do desativar, pois proíbe todos os tipos de ativação da unidade, incluindo ativação e ativação manual. Use esta opção com cuidado. Isso honra a opção --runtime para mascarar apenas temporariamente até a próxima reinicialização do sistema.
A opção --now pode ser usada para garantir que as unidades também sejam paradas. Este comando espera apenas nomes de unidades válidos, não aceita caminhos de arquivo de unidade.

abu_bua
fonte