我有一个运行Arch的小型手臂服务器。我只想dhcpcd
用于以太网连接,所以我禁用了netctl.service
和netctl-ifplugd.service
。原来那没用,我再也无法连接到机器了。服务器的根位于USB密钥上,我可以将其安装在桌面上,因此问题是:
如何systemctl enable netctl.service
处理该USB上的文件和/或符号链接文件?
等效的替代问题是,该怎么systemctl enable netctl.service
做?
我有一个运行Arch的小型手臂服务器。我只想dhcpcd
用于以太网连接,所以我禁用了netctl.service
和netctl-ifplugd.service
。原来那没用,我再也无法连接到机器了。服务器的根位于USB密钥上,我可以将其安装在桌面上,因此问题是:
如何systemctl enable netctl.service
处理该USB上的文件和/或符号链接文件?
等效的替代问题是,该怎么systemctl enable netctl.service
做?
Answers:
我有一个运行Arch的小型手臂服务器。我只想将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)联机帮助页中:
enable NAME... Enable one or more unit files or unit file instances, as specified on the command line. This will create a number of symlinks as encoded in the "[Install]" sections of the unit files.
systemctl enable
可以使用以下命令来手动启用netctl服务来代替使用:
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服务是否已正确启用,如果是,则可以在其他计算机上挂载文件系统后使用journalctl
的--directory
或--root
标志来检查dhcpcd服务的日志,看看是否可以提供有关其为何无法正常工作的任何线索。
systemctl enable netctl.service
您都会得到一个CLI输出,显示您的anwser =)
systemctl enable netctl && systemctl start netctl
,或者systemctl enable dhcpd && systemctl start dhcpd
从无法连接的机器上使用。