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 ~]$