删除 netplan 以直接使用 systemd-networkd

删除 netplan 以直接使用 systemd-networkd

我想使用裸 systemd-networkd 配置网络。说明如下:https://wiki.archlinux.org/title/systemd-networkd#Wired_adapter_using_a_static_IP

我已经好几年没用过 NetworkManager 了,所以我已经完成了一半,但我怀疑要正确地做到这一点,我需要绕过系统启动时对 netplan 的调用。理想情况下,我可以禁用它,但我不知道该怎么做。有很多关于返回 ifupdown 的信息,但我没有找到我想要的东西。

https://renediepstraten.nl/?p=51建议使用 apt 来删除 netplan,但是这对我来说太过严厉了,尤其是当apt remove netplan.io想要删除时ubuntu-minimal

更新 ubuntu-minimal可以安全地删除。https://askubuntu.com/questions/1066154/what-is-the-ubuntu-minimal-package-and-do-i-need-it#:~:text=As%20explained%20earlier%2C%20'ubuntu%2D,impact%20on%20currently%20installed%20packages

答案1

我假设您有一个 DHCP。

删除 netplan.io

sudo apt remove --purge netplan.io

现在重新启动。重新启动后,您的电脑将没有互联网。

跑步

sudo systemctl disable network-manager
sudo systemctl stop network-manager
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
sudo systemctl start systemd-resolved
sudo systemctl enable systemd-resolved
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

sudo tee /etc/systemd/network/20-dhcp.network << END
[Match]
Name=enp5s0

[Network]
DHCP=yes
END

最后一条命令的作用是,在 中添加行/etc/systemd/network/20-dhcp.network。要知道在 中应该使用什么值Name=enp5s0,请运行ip -c link以获取 NIC 的名称。

如果您没有 DHCP 并且需要使用静态 IP,请替换

[Network]
DHCP=yes

提供您的详细信息(不要复制粘贴,您必须知道您的 IP 地址、网关和 DNS)。

[Network]
Address=10.1.10.9/24
Gateway=10.1.10.1
DNS=10.1.10.1

如果你使用的是 wifi,你可能需要IgnoreCarrierLoss=3s[Network]

现在运行

sudo systemctl restart systemd-networkd
sudo systemctl restart systemd-resolved

希望您能恢复互联网。

systemd-networkd更多详细信息,例如如果您同时拥有有线和无线适配器等。

答案2

要删除netplan.io并保留其依赖项,ubuntu-minimal请使用:

sudo dpkg -r --force-depends netplan.io

相关内容