Як назавжди відключити мережевий менеджер?


18

Я використовую Ubuntu 18.04.1 LTS. Я хочу відключити мережевий менеджер на машині Ubuntu, тому що (1) мені це не потрібно, (2) я вважаю за краще конфігурацію жорсткого коду, і (3) мережевий менеджер регулярно викликає проблеми, змінюючи конфігурацію DHCP.

Я намагався дотримуватися офіційної документації :

Зупиніть менеджер мережі

sudo systemctl stop NetworkManager.service

Відключити мережевий менеджер (назавжди), щоб уникнути його перезавантаження після перезавантаження

sudo systemctl disable NetworkManager.service

Незважаючи на це, мережевий менеджер знову повертається кожен раз, коли я перезавантажую машину.

Як я можу змусити його піти?


1
Чи є причина, що ви не можете просто видалити NM?
user535733

Що ви хочете використовувати замість NetworkManager - netplan, як на сервері ?
N0rbert

@ user535733: я не знав, що менеджер мережі може бути видалений. Я перевірю це.
Арсеній Муренко

2
@ N0rbert: просто жорстко кодована конфігурація в / etc / network / інтерфейсах та в /etc/resolv.conf. Не знаю, чи існує офіційна назва для цього.
Арсеній Муренко

@ArseniMourzenko Яке середовище вашого робочого столу? Якщо це GNOME, то очищення мережевого менеджера видалить центр gnome-control, що є важливою частиною GNOME.
N0rbert

Відповіді:


20

Метод залежить від середовища на робочому столі:

  • Для Ubuntu MATE 18.04.1 LTS network-managerпакет очищення є безпечним. Ви можете просто запустити:

    sudo apt-get purge network-manager
    
  • Для Ubuntu 18.04.1 LTS з GNOME для робочого промивного network-managerпакет також буде очищати ubuntu-desktopі gnome-control-center(істотна частина робочого столу GNOME). Тож це не варіант.

    Тут слід відключити послугу NetworkManager (як ви вже зробили):

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

    і ще три послуги:

    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
    

    а потім перезавантажте.


Примітки:

  1. Ви можете прочитати більше про конфігурацію мережі з /etc/network/interfacesвід Ubuntu 16.04 LTS Керівництво сервера .
  2. Сучасний сервер Ubuntu 18.04 LTS використовує netplan, про це ви можете прочитати в Посібнику з сервера Ubuntu 18.04 LTS .

Я завжди очищаю NetworkManager як один із моїх перших кроків після встановлення - як мінімум 14. Можливо, ця проблема із видаленням робочого столу була помилкою?
Стівен Бостон

Не помилка, а проблема залежності.
N0rbert

Це було вирішено? Або є різниця між нашими сховищами? Я не мав досвіду, про який ви повідомляєте про очищення НМ. Я виявив, що деякі програми передбачають, що NM буде встановлений та активний, але жодне з них не було унікальним або істотним.
Стівен Бостон

Для мене питання зберігається. Тестується на мінімальному 18,04 LTS VM з sudo apt-get install ubuntu-desktop^подальшим поданням sudo apt-get purge network-manager.
N0rbert

Як дуже дивно! У мене був 19.10 VM, з яким я ще не грав, тому NM все ще був встановлений. Я очистив його, запустив оновлення та оновлення, і робочий стіл працює бездоганно. Я бачив, як оновлення думає про оновлення NM, але після перезавантаження він все ще не встановлений.
Стівен Бостон

7

Спробуйте maskкоманду:

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

маска NAME ...

Маскуйте один або кілька одиниць, як зазначено в командному рядку. Це зв’яже ці файли одиниць з / dev / null, унеможливлюючи їх запуск.
Це більш сильна версія відключення, оскільки вона забороняє всі види активації пристрою, включаючи активацію та ручну активацію. Використовуйте цей варіант обережно. Це шанується - час виконання лише тимчасово маскується до наступного перезавантаження системи.
Параметр --now може використовуватися для того, щоб одиниці зупинилися. Ця команда очікує лише дійсних імен одиниць, вона не приймає шляхи до одиничного файлу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.