Wie deaktiviere ich den Netzwerkmanager dauerhaft?

18

Ich benutze Ubuntu 18.04.1 LTS. Ich möchte den Netzwerkmanager auf einem Ubuntu-Computer deaktivieren, weil (1) ich ihn nicht benötige, (2) ich eine fest codierte Konfiguration bevorzuge und (3) der Netzwerkmanager regelmäßig Probleme verursacht, indem ich die DHCP-Konfiguration ändere.

Ich habe versucht, der offiziellen Dokumentation zu folgen :

Stoppen Sie den Netzwerkmanager

sudo systemctl stop NetworkManager.service

Deaktivieren Sie den Netzwerkmanager (dauerhaft), um einen Neustart nach einem Neustart zu vermeiden

sudo systemctl disable NetworkManager.service

Trotzdem ist der Netzwerkmanager bei jedem Neustart des Computers wieder verfügbar.

Wie kann ich es verschwinden lassen?

Arseni Mourzenko
quelle
1
Gibt es einen Grund, warum Sie NM nicht einfach deinstallieren können?
user535733
Was möchten Sie anstelle von NetworkManager - netplan als Server verwenden ?
N0rbert
@ user535733: Ich wusste nicht, dass Network Manager deinstalliert werden kann. Ich werde das überprüfen.
Arseni Mourzenko
2
@ N0rbert: Nur die Konfiguration in /etc/network/Interfaces und in /etc/resolv.conf. Ich weiß nicht, ob es dafür einen offiziellen Namen gibt.
Arseni Mourzenko
@ArseniMourzenko Was ist Ihre Desktop-Umgebung? Wenn es sich um GNOME handelt, entfernt das Löschen des Netzwerkmanagers das Gnome-Kontrollzentrum, das ein wesentlicher Bestandteil von GNOME ist.
N0rbert

Antworten:

20

Die Methode hängt von der Desktop-Umgebung ab:

  • Für Ubuntu MATE 18.04.1 ist das LTS-Bereinigungspaket network-managersicher. Sie können einfach ausführen:

    sudo apt-get purge network-manager
    
  • Für Ubuntu 18.04.1 löscht LTS mit GNOME-Desktop-Bereinigungspaket network-managerauch ubuntu-desktopund gnome-control-center(wesentlicher Bestandteil von GNOME-Desktop). Es ist also keine Option.

    Hier sollten Sie den NetworkManager-Dienst deaktivieren (wie Sie es bereits getan haben):

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

    und drei weitere Dienste:

    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
    

    und dann neu starten.


Anmerkungen:

  1. Sie können mit mehr über die Netzwerkkonfiguration lesen /etc/network/interfacesvon Ubuntu 16.04 LTS Server - Handbuch .
  2. Moderne Ubuntu 18.04 LTS Server Anwendungen netplan, können Sie es in der lesen Ubuntu 18.04 LTS Server - Handbuch .
Nrrbert
quelle
Ich lösche NetworkManager immer als einen meiner ersten Schritte nach der Installation - seit mindestens 14. Vielleicht war dieses Problem beim Entfernen des Desktops ein Fehler?
Stephen Boston
Kein Fehler, aber ein Abhängigkeitsproblem.
N0rbert,
Wurde es behoben? Oder gibt es einen Unterschied zwischen unseren Repositories? Ich habe nicht die Erfahrung gemacht, die Sie beim Spülen von NM gemeldet haben. Ich habe festgestellt, dass einige Anwendungen davon ausgehen, dass NM installiert und aktiv ist, aber keine davon war einzigartig oder wesentlich.
Stephen Boston
Für mich bleibt das Problem bestehen. Getestet auf mindestens 18.04 LTS VM mit sudo apt-get install ubuntu-desktop^gefolgt von sudo apt-get purge network-manager.
N0rbert,
Wie seltsam! Ich hatte eine 19.10 VM, mit der ich noch nicht gespielt hatte, sodass NM noch installiert war. Ich habe es gelöscht, ein Update und ein Upgrade ausgeführt und der Desktop funktioniert einwandfrei. Ich habe gesehen, dass das Upgrade über ein Upgrade von NM nachgedacht hat, aber nach dem Neustart ist es immer noch nicht installiert.
Stephen Boston
7

Versuchen Sie den maskBefehl:

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

Maske NAME ...

Maskieren Sie eine oder mehrere Einheiten, wie in der Befehlszeile angegeben. Dadurch werden diese Unit-Dateien mit / dev / null verknüpft, sodass sie nicht mehr gestartet werden können.
Dies ist eine stärkere Version der Deaktivierung, da alle Arten der Aktivierung des Geräts, einschließlich der Aktivierung und manuellen Aktivierung, untersagt sind. Verwenden Sie diese Option mit Vorsicht. Dies berücksichtigt die Option --runtime, um nur vorübergehend bis zum nächsten Neustart des Systems zu maskieren.
Die Option --now kann verwendet werden, um sicherzustellen, dass die Einheiten auch angehalten werden. Dieser Befehl erwartet nur gültige Unit-Namen und akzeptiert keine Unit-Dateipfade.

abu_bua
quelle