我想使用裸 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