¿Cómo deshabilito el administrador de red de forma permanente?

18

Estoy usando Ubuntu 18.04.1 LTS. Quiero deshabilitar el administrador de red en una máquina Ubuntu, porque (1) no lo necesito, (2) prefiero tener una configuración codificada, y (3) el administrador de red regularmente causa problemas al cambiar la configuración de DHCP.

Traté de seguir la documentación oficial :

Detener administrador de red

sudo systemctl stop NetworkManager.service

Deshabilite el administrador de red (permanentemente) para evitar que se reinicie después de reiniciar

sudo systemctl disable NetworkManager.service

A pesar de esto, el administrador de red vuelve nuevamente cada vez que reinicio la máquina.

¿Cómo puedo hacer que desaparezca?

Arseni Mourzenko
fuente
1
¿Hay alguna razón por la que no puedes simplemente desinstalar NM?
user535733
¿Qué quiere usar en lugar de NetworkManager - netplan como en el servidor ?
N0rbert
@ user535733: no sabía que el administrador de red se puede desinstalar. Revisaré este.
Arseni Mourzenko
2
@ N0rbert: solo configuración codificada en / etc / network / interfaces y /etc/resolv.conf. No sé si hay un nombre oficial para eso.
Arseni Mourzenko
@ArseniMourzenko ¿Cuál es su entorno de escritorio? Si es GNOME, entonces purgar el administrador de red eliminará gnome-control-center, que es una parte esencial de GNOME.
N0rbert

Respuestas:

20

El método depende del entorno de escritorio:

  • Para Ubuntu MATE 18.04.1, el network-managerpaquete de purga LTS es seguro. Simplemente puede ejecutar:

    sudo apt-get purge network-manager
    
  • Para Ubuntu 18.04.1 LTS con el network-managerpaquete de purga de escritorio GNOME también se purgará ubuntu-desktopy gnome-control-center(parte esencial del escritorio GNOME). Entonces no es una opción.

    Aquí debe deshabilitar el servicio NetworkManager (como ya lo hizo):

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

    y tres servicios más:

    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
    

    y luego reiniciar.


Notas:

  1. Puede leer más sobre la configuración de red con /etc/network/interfacesdesde Ubuntu 16.04 LTS Guía servidor .
  2. Usos modernos del servidor Ubuntu 18.04 LTS netplan, puede leerlo en la Guía del servidor Ubuntu 18.04 LTS .
N0rbert
fuente
Siempre purgo NetworkManager como uno de mis primeros pasos posteriores a la instalación, desde al menos 14. ¿Quizás este problema con la eliminación del escritorio fue un error?
Stephen Boston el
No es un error, sino un problema de dependencia.
N0rbert
¿Se ha resuelto? ¿O hay una diferencia entre nuestros repositorios? No he tenido la experiencia que informan con la purga de NM. He descubierto que algunas aplicaciones suponen que NM está instalado y activo, pero ninguna de ellas ha sido única o esencial.
Stephen Boston el
Para mí el problema persiste. Probado en VM mínima 18.04 LTS con sudo apt-get install ubuntu-desktop^seguido de sudo apt-get purge network-manager.
N0rbert
¡Qué extraño! Tenía una máquina virtual 19.10 con la que todavía no había jugado, así que NM todavía estaba instalado. Lo purgué, ejecuté la actualización y la actualización, y el escritorio funciona perfectamente. Vi que la actualización pensaba en actualizar NM pero después de reiniciar todavía no está instalada.
Stephen Boston el
7

Prueba el maskcomando:

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

máscara NOMBRE ...

Enmascara una o más unidades, como se especifica en la línea de comando. Esto vinculará estos archivos de unidad a / dev / null, por lo que es imposible iniciarlos.
Esta es una versión más fuerte de deshabilitar, ya que prohíbe todo tipo de activación de la unidad, incluida la habilitación y la activación manual. Usa esta opción con cuidado. Esto honra la opción --runtime de enmascarar solo temporalmente hasta el próximo reinicio del sistema.
La opción --now se puede usar para garantizar que las unidades también se detengan. Este comando solo espera nombres de unidades válidos, no acepta rutas de archivos de unidades.

abu_bua
fuente