如何删除 systemctl 服务?(Arch-Linux)

如何删除 systemctl 服务?(Arch-Linux)

在您将此问题标记为重复问题之前,我已经查看了所有存在相同问题的问题,但没有任何解决方案对我有用。

我是第一次安装 Arch-linux,并且按照一个粗制滥造的教程进行操作,在教程中,那个人解释说我应该使用:

sudo systemctl enable [email protected]

这样它就会在我启动时自动启动 wifi 服务,但是,我拼错了设备名称,它实际上是 wlo1 而不是 wl01。现在每次我启动时,我都必须等待 1 分 30 秒才能尝试启动服务超时。我尝试了多种方法摆脱它,例如

sudo systemctl disable [email protected]
sudo systemctl disable wl01.service
sudo systemctl reset-failed

所有这些方法都没能解决我的问题,第一个方法返回说没有这样的文件或目录。我该如何摆脱这个问题?

谢谢

答案1

文档中man systemctl解释了enable命令如何创建符号链接以及命令如何删除它们。有关详细信息,disable请参阅单元文件部分的文档。[Install]

man systemd.unit有一些与该部分相关的文档[Install],其中提供了符号链接存储位置的示例。如果该[Install]部分包含WantedBy=multi-user-.target,则符号链接将在以下位置创建:/etc/systemd/system/multi-user.target.wants/foo.service

因此,请检查[Install]相关 dhcpcd 服务文件中的部分,然后检查相关的符号链接是否已被删除。

最后,正如中所述man systemctl,还有一个更强大的disablecalled版本mask,它可以完全阻止以任何形式启动您的服务,因此您也可以尝试一下。

相关内容