Bagaimana cara menonaktifkan manajer jaringan secara permanen?

18

Saya menggunakan Ubuntu 18.04.1 LTS. Saya ingin menonaktifkan manajer jaringan pada mesin Ubuntu, karena (1) Saya tidak membutuhkannya, (2) Saya lebih suka memiliki konfigurasi hardcoded, dan (3) manajer jaringan secara teratur menyebabkan masalah dengan mengubah konfigurasi DHCP.

Saya mencoba mengikuti dokumentasi resmi :

Hentikan manajer jaringan

sudo systemctl stop NetworkManager.service

Nonaktifkan manajer jaringan (secara permanen) untuk menghindarinya memulai kembali setelah reboot

sudo systemctl disable NetworkManager.service

Meskipun demikian, manajer jaringan kembali lagi setiap kali saya menyalakan ulang mesin.

Bagaimana saya bisa membuatnya pergi?

Arseni Mourzenko
sumber
1
Apakah ada alasan Anda tidak bisa begitu saja menghapus instalasi NM?
user535733
Apa yang ingin Anda gunakan daripada NetworkManager - netplan seperti di server ?
N0rbert
@ user535733: Saya tidak tahu manajer jaringan dapat dihapus. Saya akan periksa yang ini.
Arseni Mourzenko
2
@ N0rbert: hanya konfigurasi hardcoded di / etc / network / interfaces dan /etc/resolv.conf. Tidak tahu apakah ada nama resmi untuk itu.
Arseni Mourzenko
@ArseniMourzenko Apa lingkungan desktop Anda? Jika itu adalah GNOME, maka membersihkan manajer jaringan akan menghapus gnome-control-center, yang merupakan bagian penting dari GNOME.
N0rbert

Jawaban:

20

Metode ini tergantung pada lingkungan desktop:

  • Untuk Ubuntu MATE 18.04.1 network-managerPaket pembersihan LTS aman. Anda cukup menjalankan:

    sudo apt-get purge network-manager
    
  • Untuk Ubuntu 18.04.1 LTS dengan network-managerpaket pembersihan desktop GNOME juga akan membersihkan ubuntu-desktopdan gnome-control-center(bagian penting dari desktop GNOME). Jadi itu bukan pilihan.

    Di sini Anda harus menonaktifkan layanan NetworkManager (seperti yang telah Anda lakukan):

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

    dan tiga layanan lainnya:

    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
    

    dan kemudian reboot.


Catatan:

  1. Anda dapat membaca lebih lanjut tentang konfigurasi jaringan dengan /etc/network/interfacesdari Ubuntu 16.04 LTS Server Guide .
  2. Ubuntu 18.04 LTS modern menggunakan server netplan, Anda dapat membacanya di Ubuntu 18.04 LTS Server Guide .
N0rbert
sumber
Saya selalu membersihkan NetworkManager sebagai salah satu langkah pasca pemasangan pertama saya - setidaknya sejak 14. Mungkin masalah dengan penghapusan desktop ini adalah bug?
Stephen Boston
Bukan bug, tetapi masalah ketergantungan.
N0rbert
Apakah sudah diselesaikan? Atau adakah perbedaan antara repositori kita? Saya belum memiliki pengalaman yang Anda laporkan dengan membersihkan NM. Saya telah menemukan bahwa beberapa aplikasi menganggap NM diinstal dan aktif tetapi tidak ada satupun yang unik atau esensial.
Stephen Boston
Bagi saya masalahnya masih ada. Diuji pada minimal 18,04 LTS VM dengan sudo apt-get install ubuntu-desktop^diikuti oleh sudo apt-get purge network-manager.
N0rbert
Aneh sekali! Saya memiliki 19,10 VM yang belum saya mainkan sehingga NM masih diinstal. Saya membersihkannya, menjalankan pembaruan dan peningkatan, dan desktop berjalan dengan sempurna. Saya melihat upgrade berpikir tentang upgrade NM tetapi setelah reboot masih belum diinstal.
Stephen Boston
7

Coba maskperintah:

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

tutup NAME ...

Menyamarkan satu atau lebih unit, seperti yang ditentukan pada baris perintah. Ini akan menautkan file unit ini ke / dev / null, sehingga tidak mungkin untuk memulai.
Ini adalah versi penonaktifan yang lebih kuat, karena melarang semua jenis aktivasi unit, termasuk pemberdayaan dan aktivasi manual. Gunakan opsi ini dengan hati-hati. Ini menghormati opsi --runtime untuk hanya menutupi sementara sampai reboot sistem.
Opsi --sekarang dapat digunakan untuk memastikan bahwa unit juga dihentikan. Perintah ini hanya mengharapkan nama unit yang valid, itu tidak menerima jalur file unit.

abu_bua
sumber