我有一个运行Arch的小型arm服务器。我只想在以太网连接上使用dhcpcd,所以我禁用了netctl.service和netctl-ifplugd.service。结果那不起作用了,我再也无法连接到机器了。服务器的根位于usb键上,我可以在桌面上挂载它,所以问题是:
如何通过操作该usb上的文件和/或符号链接文件来systemctl enable netctl.service?
同样的替代问题是,systemctl enable netctl.service是做什么的?
发布于 2014-10-04 17:59:40
我有一个运行Arch的小型arm服务器。我只想在以太网连接上使用dhcpcd,所以我禁用了netctl.service和netctl-ifplugd.service。结果那不起作用了,我再也无法连接到机器了。
您是否确保在禁用netctl之后启用dhcpcd?
如何通过操作usb上的文件和/或符号链接文件来"systemctl启用netctl.service“?同样的替代问题是,"systemctl启用netctl.service“做了什么?
systemctl enable所做的就是创建从/usr/lib/systemd/system/或/etc/systemd/system/到/etc/systemd/system/中适当的目标目录的符号链接,后者中的服务覆盖前者中的目标目录。
来自systemctl(1)手册:
启用名字..。启用命令行中指定的一个或多个单元文件或单元文件实例。这将创建许多符号链接,编码在单元文件的"安装“部分中。
您可以使用以下命令手动启用netctl服务,而不是使用systemctl enable:
ln -s /usr/lib/systemd/system/netctl.service \
/etc/systemd/system/multi-user.target.wants/netctl.service要手动禁用它,可以使用以下命令来删除前面的ln命令创建的符号链接:
rm /etc/systemd/system/multi-user.target.wants/netctl.service通过在所讨论的服务文件的WantedBy部分中查找[Install]设置,可以找到适当的目标目录,尽管较早的服务文件有时有Alias而不是WantedBy,您可能希望转而使用WantedBy,但两者都同样有效。
与其恢复使用netctl,您可以首先检查dhcpcd服务是否已被正确启用,如果是的话,您可以在将dhcpcd服务挂载到另一台计算机上后使用journalctl's --directory或--root标志来检查dhcpcd服务的日志,看看这是否能提供任何线索,说明为什么dhcpcd服务不能正常工作。
https://unix.stackexchange.com/questions/157816
复制相似问题