Jak mogę wyłączyć systemd rozwiązany w Ubuntu 17.04?
Wyłączenie go za pomocą systemctl disable
nie działało, usługa wydaje się być ponownie uruchomiona (przez Networkmanager?)
Jak mogę wyłączyć systemd rozwiązany w Ubuntu 17.04?
Wyłączenie go za pomocą systemctl disable
nie działało, usługa wydaje się być ponownie uruchomiona (przez Networkmanager?)
Odpowiedzi:
Ta metoda działa w wersjach Ubuntu 17.04 (Zesty), 17.10 (Artful), 18.04 (Bionic), 18.10 (Cosmic) i 19.04 (Disco):
Wyłącz i zatrzymaj usługę rozwiązaną przez system:
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
Następnie umieść następujący wiersz w [main]
sekcji /etc/NetworkManager/NetworkManager.conf
:
dns=default
Usuń dowiązanie symboliczne /etc/resolv.conf
rm /etc/resolv.conf
Uruchom ponownie NetworkManager
sudo systemctl restart NetworkManager
Należy również pamiętać, że wyłączenie systemd-resolvd może spowodować uszkodzenie rozpoznawania nazw w sieci VPN dla niektórych użytkowników. Zobacz ten błąd na starterze (Dzięki, Vincent).
Niedawno uaktualniłem do (k) Ubuntu 17.04 i natknąłem się również na zmianę na systemd.
Myślę, że moja konfiguracja jest dość typowa, ponieważ w moim koncentratorze szerokopasmowym mam dostawcę DNS i jest to moje główne źródło informacji dla wszystkich urządzeń w mojej sieci (z których mam kilka).
W systemie jest trochę piękna, nie wszystko jest złe, ale to, co naprawdę złe, to dokumentacja, brak komunikacji od zespołu Ubuntu i gung-ho „zmieńmy to, mimo że psuje się wszystkim”.
Rozwiązaniem dla mnie po oderwaniu niektórych włosów było edytowanie /etc/systemd/resolved.conf:
[Resolve]
DNS=192.168.1.254 # <-- change to your router address
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Domains=lan # <-- change to your localdomain name (maybe .local)
#LLMNR=yes <-- I dabbled with this for a while but it doesn't matter
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp
Po niezrozumieniu, dlaczego to nie zadziałało, zorientowałem się, że potrzebowałem również zmienić /etc/resolv.conf na ten dostarczony przez systemd. Nie dzieje się tak w przypadku instalacji „po wyjęciu z pudełka” (z nieznanych mi powodów).
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Lokalny serwer DNS nie jest wtedy używany, a wszystkie żądania DNS są wysyłane do mojego koncentratora.
Myślę, że jest to znacznie lepsze rozwiązanie niż wycinanie i wprowadzanie innego rozwiązania, ponieważ systemd-resolv jest teraz domyślny.
Powiązanym problemem jest to, że plik /etc/nsswitch.conf jest neutralny.
Powinien brzmieć:
hosts: pliki mdns4_minimal dns [NOTFOUND = return] rozwiązać [! UNAVAIL = return] dns
Jest to myląca konfiguracja, ponieważ [NOTFOUND = return] oznacza, że przetwarzanie się tam kończy. Wpisy po nim nigdy nie będą używane.
Jeśli masz problemy z wyciekiem z VPN i nie możesz dowiedzieć się, jak skonfigurować systemd (jak ja), możesz usunąć go w sposób opisany w pierwszej odpowiedzi, ale nie dodawaj dns=default
wiersza, ponieważ aktywuje on serwer nazw 127.0 .0.1. Aby ustawić router jako dns, utwórz plik „ogon” w swoim /etc/resolvconf/resolv.conf.d/
folderze, dodając linięnameserser 192.168.1.1
zrób, ln -sf /var/run/resolved/resolv.conf /etc/resolv.conf
jeśli pomieszałeś z tym plikiem.