Làm cách nào tôi có thể tắt giải quyết systemd trong Ubuntu 17.04?
Vô hiệu hóa nó systemctl disable
không hoạt động, dịch vụ dường như được khởi động lại (bởi Networkmanager?)
Làm cách nào tôi có thể tắt giải quyết systemd trong Ubuntu 17.04?
Vô hiệu hóa nó systemctl disable
không hoạt động, dịch vụ dường như được khởi động lại (bởi Networkmanager?)
Câu trả lời:
Phương pháp này hoạt động trên Ubuntu phát hành 17.04 (Zesty), 17.10 (Artful), 18.04 (Bionic), 18.10 (Vũ trụ) và 19.04 (Vũ trường):
Vô hiệu hóa và dừng dịch vụ được giải quyết bởi systemd:
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
Sau đó đặt dòng sau vào [main]
phần của bạn /etc/NetworkManager/NetworkManager.conf
:
dns=default
Xóa liên kết tượng trưng /etc/resolv.conf
rm /etc/resolv.conf
Khởi động lại Trình quản lý mạng
sudo systemctl restart NetworkManager
Ngoài ra, hãy lưu ý rằng việc tắt hệ thống phân giải systemd có thể phá vỡ độ phân giải tên trong VPN đối với một số người dùng. Xem lỗi này trên launchpad (Cảm ơn, Vincent).
Gần đây tôi đã nâng cấp lên (k) Ubuntu 17.04 và tôi cũng tình cờ thấy sự thay đổi thành systemd.
Thiết lập của tôi khá điển hình Tôi nghĩ, trong đó tôi có một nhà cung cấp DNS trong HUB băng thông rộng của mình và đây là nguồn thông tin chính của tôi cho tất cả các thiết bị trên mạng của tôi (trong đó tôi có một vài).
Có một số nét đẹp trong systemd, nó không tệ lắm nhưng điều thực sự tồi tệ là tài liệu, sự thiếu giao tiếp từ nhóm Ubuntu và gung-ho "hãy thay đổi nó mặc dù nó phá vỡ tâm lý của mọi người".
Giải pháp cho tôi sau khi xé một ít tóc là chỉnh sửa /etc/systemd/resolve.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
Sau khi không hiểu tại sao điều này sẽ không hoạt động, tôi đã hiểu ra rằng điều cần thiết là chuyển /etc/resolv.conf sang cái được cung cấp bởi systemd. Đây không phải là trường hợp trong một cài đặt ngoài hộp (vì những lý do mà tôi không biết).
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Máy chủ DNS cục bộ sau đó không được sử dụng và tất cả các yêu cầu DNS được gửi đến HUB của tôi.
Tôi nghĩ rằng đây là một giải pháp tốt hơn nhiều so với việc cắt bỏ và đưa vào một số giải pháp khác vì systemd-decv giờ là mặc định trở đi.
Một vấn đề liên quan btw là /etc/nsswitch.conf bị biến đổi.
Nó nên đọc:
máy chủ: tập tin mdns4_minimal dns [NOTFOUND = return] giải quyết [! UNAVAIL = return] dns
Đây là một cấu hình khó hiểu vì [NOTFOUND = return] có nghĩa là quá trình xử lý kết thúc ở đó. Các mục sau nó sẽ không bao giờ được sử dụng.
Nếu bạn gặp sự cố rò rỉ với VPN của mình và không thể tìm ra cách thiết lập systemd (như tôi), bạn có thể xóa nó theo cách được mô tả trong câu trả lời đầu tiên nhưng không thêm dns=default
dòng vì nó sẽ kích hoạt máy chủ tên 127.0 .0.1. Để đặt bộ định tuyến là dns, hãy tạo tệp "đuôi" trong /etc/resolvconf/resolv.conf.d/
thư mục của bạn thêm dòngnameserser 192.168.1.1
làm gì ln -sf /var/run/resolved/resolv.conf /etc/resolv.conf
nếu bạn đã làm hỏng tập tin này