我想wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant.conf
在 Debian 啟動時運行(運行等級 2-5)。我從一個相關問題中發現了一些模糊的說明,該說明說要放入腳本/etc/init.d/
,然後從適當的/etc/rcRUNLEVEL.d/
目錄符號連結到它。但是,我注意到已經有一些名為“wpasupplicant”的檔案可能在啟動時運行:
/etc/network/if-down.d/wpasupplicant
/etc/network/if-post-down.d/wpasupplicant
/etc/network/if-pre-up.d/wpasupplicant
/etc/network/if-up.d/wpasupplicant
它們都是同一腳本的符號連結/etc/wpa_supplicant/ifupdown.sh
。它在開頭有一條註釋說“[...]允許 ifup(8) 和 ifdown(8) 管理以守護程序模式運行的 wpa_supplicant(8) 和 wpa_cli(8) 進程。”然而,它最接近調用wpa_supplicant
自身的是(在functions.sh中):
WPA_SUP_BIN="/sbin/wpa_supplicant"
[snip]
start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \
--name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \
-- $WPA_SUP_OPTIONS $WPA_SUP_CONF
[snip]
start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \
--exec $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE
這是否意味著為 製作 init.d 腳本是安全的wpa_supplicant
,如果是的話,它會是什麼樣子?
基本資訊:
- Debian 擠壓 (5.0)
- 官方 wpasupplicant 套件 (v0.6.10-2.1)
我的系統的完整內容functions.sh
和ifupdown.sh
都在這裡(當然,取決於我的系統的正常運行時間 - 這是一台已經使用了五年的筆記型電腦,非常喜歡過熱):
答案1
如果您的目標是在啟動時設定無線介面(而不是wpa_supplicant
出於其他原因將命令放入腳本中),則可以使用產生的/etc/network/interfaces
普通設定檔wpa_passphrase
來實現此結果。
在/etc/network/interfaces
(假設wlan0
是您的無線介面並且配置wpa_passphrase
位於/root/your-wpa.conf
):
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /root/your-wpa.conf
在我的系統上,「wpa-conf」行的開頭有一個製表符(不是空格)。鍵入此回應時,無法進入網路標籤。不確定這是否重要。
我不需要編輯 WPA conf 檔案或對其執行任何操作。這是我從命令中得到的
wpa_passphrase myssid mysecret >wpa.conf
看如何使用WiFi介面在 Debian.org 和/usr/share/doc/wpasupplicant/README.wpa_supplicant.conf.gz
本地。
我在 Jessie 上進行了測試,並且不再剩下任何 Squeeze 系統 - 但我想您在提出問題後的 4 年內已經升級了。
答案2
編輯 wpa_supplicant.conf 檔案並將其新增至 /etc/network/interfaces