使systemd停止启动不需要的wpa_supplicant服务?


10

我想禁用systemd不需要的自动启动尝试wpa_supplicant。我想我可以简单地运行

sudo systemctl disable wpa_supplicant.service --global

而且我再也不会在ps -ef输出中看到wpa_supplicant 了。无论如何,这没有用。我该如何运作?

我眼前的问题最好用输出来描述

$>systemctl status wpa_supplicant*
● wpa_supplicant.service - WPA supplicant
   Loaded: loaded (/usr/lib/systemd/system/wpa_supplicant.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2016-08-28 20:57:37 CEST; 14min ago

您可以在disabled任何地方看到该服务已加载并处于活动状态,这要归功于systemd完全帮助我完成了最简单的事情;)

更新
我似乎通过残酷地删除以下文件而有些运气:

wpa_supplicant-nl80211@.service
wpa_supplicant.service
wpa_supplicant@.service
wpa_supplicant-wired@.service

/usr/lib/systemd/system文件夹。你猜怎么了?重新启动后,wpa最终不再启动systemd。尽管一定有一种更和平 / 和解的方式来使systemd服务不启动,但它给我留下了深刻的印象


掩饰单位对您没有任何帮助吗?
·李

@KalvinLee我不确定我是否做过(删除文件)和屏蔽(我不知道这将保留名为这些文件的链接,这些链接/dev/null本质上并不是同一件事。)您建议的是我尝试的方法。我一定对unix.se的关注不够,无法看到这个disbale vs mask systemd问题。我会尽量和状态恢复很快,更新的问题
humanityANDpeace

禁用模板(wpa_supplicant @ .service)有帮助吗?
maxf

1
@maxf是的(请参阅更新,我确实也删除了模板文件),并且可以正常工作。我想这里的真正答案是,卡尔文·李(Kalvin Lee)提出的建议确实令人难以置信(即使依赖或不依赖它,也不能开始mask)。systemctl mask是真正的禁用项(意味着以后不提供该服务)。
humanityANDpeace

Answers:


5

我遇到了和你一样的问题。经过一番挖掘,我发现了一个名为:

/usr/share/dbus-1/system-services/fi.w1.wpa_supplicant1.service

该文件用于允许服务通过d-bus激活。即使禁用,d-bus也可以激活该服务。我通过重命名文件然后重新启动来确认这种情况正在发生。我看到此时wpa_supplicant尚未开始!为了进一步解决该问题,需要找出wpa_supplicant通过激活了哪个程序d-bus。我没有这样做,因为对单位文件进行掩码可以很好地达到我的目的。


请注意,NetworkNanager需要运行wpa_supplicant(url)。删除上面的文件后,我无法访问wifi网络。
user3804598

1

我尝试遵循BrettB的建议,但对我的系统没有影响。(Ubuntu 18.04。)

但是,以下方法确实有效:

sudo systemctl disable wpa_supplicant
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.