Заставить systemd прекратить запуск нежелательного сервиса wpa_supplicant?

10

Я хотел отключить systemdнежелательные попытки автоматического запуска wpa_supplicant. Я мог бы просто запустить

sudo systemctl disable wpa_supplicant.service --global

и я бы больше не видел wpa_supplicant в ps -efвыводе. Во всяком случае, это не сработало. Как я могу заставить это работать?

Моя проблема может быть лучше всего описана с помощью вывода

$>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чтобы служба не была запущена.

humanityANDpeace
источник
Маскировка устройства ничего не сделала для вас?
Калвин Ли
@KalvinLee Я не уверен, что то, что я сделал (удаление файлов) и маскировка (к моему непониманию, что сохранение ссылок, именуемых как те файлы, на которые указывают, /dev/nullне является, по сути, одной и той же вещью.) То, что вы предлагаете, я пытаюсь сделать , Должно быть, я не искал достаточно в unix.se, чтобы увидеть этот disbale vs mask systemdвопрос. Я постараюсь изложить в ближайшее время, чтобы обновить вопрос
humanityANDpeace
Помогло ли отключение шаблона (wpa_supplicant @ .service)?
Макс
1
@maxf да (см., что в обновлении я удалил также файл шаблона), и это сработало. Я предполагаю, что реальный ответ здесь состоял в том, что Калвин Ли предложил именно то, что действительно отвлекает (не заставляйте это начинать, даже как зависимость или иначе, к maskэтому). systemctl maskявляется настоящим отключением (то есть сервис не будет там позже).
человечествоANDpeace

Ответы:

5

Я столкнулся с той же проблемой, что и вы. После некоторых копаний я нашел папку с именем:

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

Этот файл используется для активации службы по шине d-bus. D-Bus может активировать услугу, даже если она отключена. Я подтвердил, что это происходит, переименовав файл, а затем перезагрузившись. Я видел, что в этот момент wpa_supplicantне было начато! Для того, чтобы преследовать вопрос вниз дальше будет требуется выяснить , какая программа активации с wpa_supplicantпомощью d-bus. Я не сделал этого, так как маскировка файла модуля отлично подходит для моих целей.

BrettB
источник
Обратите внимание, что NetworkNanager требует запуска wpa_supplicant ( url ). После того, как я удалил файл выше, я потерял доступ к сетям Wi-Fi.
user3804598
1

Я попытался следовать предложению BrettB, но это не повлияло на мою систему. (Ubuntu 18.04.)

Тем не менее, следующие работали:

sudo systemctl disable wpa_supplicant
Майк Накис
источник