我有一个运行 Arch 的小型手臂服务器。我想只使用dhcpcd,所以我禁止我的以太网连接netctl.service和netctl-ifplugd.service。事实证明这不起作用,我再也无法连接到机器了。服务器在一个 USB 密钥上有它的根,我可以安装在我的桌面上,所以问题是:
如何systemctl enable netctl.service通过操作该 USB 上的文件和/或符号链接文件?
等效的替代问题是,做systemctl enable netctl.service什么?
rem*_*mmy 14
我有一个运行 Arch 的小型手臂服务器。我只想将 dhcpcd 用于我的以太网连接,所以我禁用了 netctl.service 和 netctl-ifplugd.service。事实证明这不起作用,我再也无法连接到机器了。
禁用netctl后是否确保启用dhcpcd?
如何通过操作该 USB 上的文件和/或符号链接文件来“systemctl 启用 netctl.service”?
等效的替代问题是,“systemctl enable netctl.service”有什么作用?
所有systemctl enable做的是从创建符号链接/usr/lib/systemd/system/或/etc/systemd/system/在适当的目标目录/etc/systemd/system/,并在后者的目录覆盖前的人服务。
从systemctl(1)联机帮助页:
Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)
要手动禁用它,您可以使用以下命令删除使用上一个ln命令创建的符号链接:
rm /etc/systemd/system/multi-user.target.wants/netctl.service
Run Code Online (Sandbox Code Playgroud)
相应的目标目录可以通过查找发现WantedBy在设置[Install]有问题的服务文件的部分,虽然旧的服务文件有时也有Alias代替的WantedBy,你可能要切换到使用WantedBy替代,但无论是将工作一样好。
您可以先检查 dhcpcd 服务是否已正确启用,而不是恢复使用 netctl,如果是,您可以在另一台机器上安装文件系统后使用journalctl's--directory或--root标志检查 dhcpcd 服务的日志,看看是否可以提供有关它无法正常工作的原因的任何线索。
| 归档时间: |
|
| 查看次数: |
14464 次 |
| 最近记录: |