systemdに不要なwpa_supplicantサービスの起動を停止させますか?

systemdに不要なwpa_supplicantサービスの起動を停止させますか?

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のおかげで、私は最も簡単なことをするのに完全に役立ちました。 ;)

修正する
次のファイルを無慈悲に削除して運が良かったようです。

[email protected]
wpa_supplicant.service
[email protected]
[email protected]

/usr/lib/systemd/systemフォルダから。何か合わせてみて?再起動後、wpaはついに起動を停止しましたsystemd。確かに多くがありますが、衝撃的です。平和/和解systemdサービスの開始を無効にする方法。

答え1

+sudo systemctl disable wpa_supplicantのみsudo systemctl stop wpa_supplicant一時的に無効 wpa_supplicantネットワーク管理者までサービス再起動および/またはシステム再起動

だから、正しくそして/または完全ネットワーク管理後もwpa_supplicantサービスが後で再実行されないように無効にします。再起動および/またはシステム再起動あるマスクサービスすなわち

systemctl mask wpa_supplicant.service

など、この記事で指摘したように記事。これによりシンボルファイルが生成されます。

/etc/systemd/system/wpa_supplicant.service → /dev/null

これが役に立つことを願っています。

答え2

私はあなたと同じ問題に直面しました。いくつかの調査の最後に、次のツールが見つかりました。

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

このファイルは d-bus がサービスを有効にするために使用されます。 d-busは、無効になっていてもサービスを有効にできます。ファイル名を変更して再起動して、この現象が発生しているかどうかを確認しました。そういえばwpa_supplicantまだ始まっていませんね!問題をより詳細に追跡するには、どのプログラムがアクティベーションに合格しているかをwpa_supplicant調べる必要がありますd-bus。 Shielded Unitファイルが私の目的によく合っているので、これは行われませんでした。

答え3

以前の答えはすべてとんでもない。 NetworkManagerを無効にしてWi-Fiクライアントを管理できますwpa_supplicant

nmcli radio wifi off

その後、NetworkManagerはWi-Fiデバイスをクライアントとして管理しようとしません。これでwpa_supplicant、自動的に起動することを心配することなくサービスを無効に/停止できます。

systemctl disable wpa_supplicant
systemctl stop wpa_supplicant

NMはまだWi-Fi接続用のアクティブなネットワークインターフェイスを管理している可能性があります。この問題を解決するには、nmcli cインターフェイスを見て、次の手順を実行します。

nmcli c d wlan0

...というWi-Fiインターフェースの場合wlan0

答え4

ここで本当に迷惑なのは、システムではなくNetworkManagerです。 NetworkManagerにwlan0を無視するように指示できます。

このスレッドにはすでに良いアイデアがあります。私は私がしたことをこのリストに追加する必要があると思いました。

  • @GChufのアプローチ - システムファイルを削除して、NetworkManagerが強制的に失敗するようにします。ファイルを削除すると、NetworkManagerは悲鳴を上げます。この方法がパッケージの更新後も維持されるかどうかはわかりません。
  • @Habibieのアプローチ - wpa_supplicantをブロックして、NetworkManagerが強制的に失敗するようにします。これにより、NetworkManagerが数回試行した後に放棄されます。
  • @ChalkTalkメソッド - 無線をオフにしてNetworkManagerが強制的に失敗するようにします。 systemd-rfkill.serviceを実行しているようです。

基本設定の確認

デフォルトのNetworkManager設定は、取得できるすべてを管理しようとすることです。 NetworkManager は wpa_supplicant を実行して WIFI インターフェイス wlan0 を管理します。プロセスのリストにあります。

[nick@rpi4 ~]$ ps -fC wpa_supplicant
UID          PID    PPID  C STIME TTY          TIME CMD
root         593       1  0 14:36 ?        00:00:00 /usr/sbin/wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -u -s
[nick@rpi4 ~]$ 

Wlan0に接続できず、NetworkManagerは引き続き試みます。このようなメッセージは数分ごとに日記帳に表示されます。

[nick@rpi4 ~]$ journalctl -f

Mar 15 15:27:03 rpi4 NetworkManager[1526]: <info>  [1615822023.9272] device (wlan0): set-hw-addr: set MAC address to AA:9D:10:50:87:5B (scanning)
Mar 15 15:27:03 rpi4 NetworkManager[1526]: <info>  [1615822023.9359] device (wlan0): supplicant interface state: disconnected -> interface_disabled
Mar 15 15:27:03 rpi4 NetworkManager[1526]: <info>  [1615822023.9362] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> interface_disabled
Mar 15 15:27:03 rpi4 NetworkManager[1526]: <info>  [1615822023.9367] device (wlan0): supplicant interface state: interface_disabled -> inactive
Mar 15 15:27:03 rpi4 NetworkManager[1526]: <info>  [1615822023.9369] device (p2p-dev-wlan0): supplicant management interface state: interface_disabled -> inactive

wlan0の状態は次のとおりです。切断

[nick@rpi4 ~]$ nmcli device status
DEVICE         TYPE      STATE                   CONNECTION               
wlan0          wifi      disconnected            --                 

NetworkManager に wlan0 が管理されていないことを通知します。

NetworkManager 設定を編集し、NetworkManager に wlan0 を無視するように指示します。

サービスが中断されました。

systemctl stop NetworkManager
systemctl stop wpa_supplicant

/etc/NetworkManager/NetworkManager.conf何を説明したい場合は、設定ファイルに次の行を追加してください。管理されていないデバイスつまり、実行しますman NetworkManager.conf

[keyfile]
unmanaged-devices=interface-name:wlan0

それからsystemctl start NetworkManager

デバイスの状態は次のように変更されます。切断到着管理されていない。 wpa_supplicant プロセスはブロックされなくても再起動されません。

[nick@rpi4 ~]$ nmcli device status
DEVICE      TYPE      STATE                   CONNECTION
wlan0       wifi      unmanaged               --   
...
[nick@rpi4 ~]$ ps -fC wpa_supplicant
UID          PID    PPID  C STIME TTY          TIME CMD
[nick@rpi4 ~]$  

関連情報