Comment désactiver définitivement le gestionnaire de réseau?

18

J'utilise Ubuntu 18.04.1 LTS. Je souhaite désactiver le gestionnaire de réseau sur une machine Ubuntu, car (1) je n'en ai pas besoin, (2) je préfère avoir une configuration codée en dur et (3) le gestionnaire de réseau cause régulièrement des problèmes en modifiant la configuration DHCP.

J'ai essayé de suivre la documentation officielle :

Arrêter le gestionnaire de réseau

sudo systemctl stop NetworkManager.service

Désactiver le gestionnaire de réseau (de manière permanente) pour éviter qu'il ne redémarre après un redémarrage

sudo systemctl disable NetworkManager.service

Malgré cela, le gestionnaire de réseau revient à chaque fois que je redémarre la machine.

Comment puis-je le faire disparaître?

Arseni Mourzenko
la source
1
Y a-t-il une raison pour laquelle vous ne pouvez pas simplement désinstaller NM?
user535733
Que voulez-vous utiliser à la place de NetworkManager - netplan comme dans le serveur ?
N0rbert
@ user535733: Je ne savais pas que le gestionnaire de réseau pouvait être désinstallé. Je vais vérifier celui-ci.
Arseni Mourzenko
2
@ N0rbert: juste une configuration codée en dur dans / etc / network / interfaces et dans /etc/resolv.conf. Je ne sais pas s'il y a un nom officiel pour cela.
Arseni Mourzenko
@ArseniMourzenko Quel est votre environnement de bureau? S'il s'agit de GNOME, la purge de network-manager supprimera gnome-control-center, qui est une partie essentielle de GNOME.
N0rbert

Réponses:

20

La méthode dépend de l'environnement de bureau:

  • Pour Ubuntu MATE 18.04.1, le network-managerpackage de purge LTS est sûr. Vous pouvez simplement exécuter:

    sudo apt-get purge network-manager
    
  • Pour Ubuntu 18.04.1 LTS avec le network-managerpaquet de purge de bureau GNOME purgera également ubuntu-desktopet gnome-control-center(partie essentielle du bureau GNOME). Ce n'est donc pas une option.

    Ici, vous devez désactiver le service NetworkManager (comme vous l'avez déjà fait):

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

    et trois autres 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.service
    

    puis redémarrez.


Remarques:

  1. Vous pouvez en savoir plus sur la configuration du réseau à /etc/network/interfacespartir du Guide du serveur Ubuntu 16.04 LTS .
  2. Le serveur Ubuntu 18.04 LTS moderne utilise netplan, vous pouvez le lire dans le Guide du serveur Ubuntu 18.04 LTS .
N0rbert
la source
Je purge toujours NetworkManager comme l'une de mes premières étapes de post-installation - depuis au moins 14. Peut-être que ce problème avec la suppression du bureau était un bug?
Stephen Boston
Pas un bug, mais un problème de dépendance.
N0rbert
At-il été résolu? Ou existe-t-il une différence entre nos référentiels? Je n'ai pas eu l'expérience que vous rapportez avec la purge de NM. J'ai constaté que certaines applications supposent que NM est installé et actif, mais aucune d'entre elles n'a été unique ou essentielle.
Stephen Boston
Pour moi, le problème persiste. Testé sur une machine virtuelle LTS minimale de 18,04 avec sudo apt-get install ubuntu-desktop^suivi de sudo apt-get purge network-manager.
N0rbert
C'est très étrange! J'avais une VM 19.10 avec laquelle je n'avais pas encore joué, donc NM était toujours installé. Je l'ai purgé, exécuté la mise à jour et la mise à niveau, et le bureau fonctionne parfaitement. J'ai vu la mise à niveau penser à mettre à niveau NM mais après le redémarrage, elle n'est toujours pas installée.
Stephen Boston
7

Essayez la maskcommande:

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

masque NOM ...

Masquez une ou plusieurs unités, comme spécifié sur la ligne de commande. Cela liera ces fichiers d'unité à / dev / null, ce qui rend impossible leur démarrage.
Il s'agit d'une version plus forte de désactivation, car elle interdit toutes sortes d'activation de l'unité, y compris l'activation et l'activation manuelle. Utilisez cette option avec précaution. Cela honore l'option --runtime de ne masquer que temporairement jusqu'au prochain redémarrage du système.
L'option --now peut être utilisée pour s'assurer que les unités sont également arrêtées. Cette commande attend uniquement les noms d'unité valides, elle n'accepte pas les chemins de fichiers d'unité.

abu_bua
la source