場景
首先當然是要從 Arch Linux 官網上面下載鏡像了,找一個國內的鏡像網站下載,然後製作 live USB,引導啓動之後選擇第一項即可。
下面按照 官方文檔 來進行安裝。
步驟 1:連接WiFi
啓用無線接口
運行 iw dev
獲取無線設備信息:
root@archiso ~ # iw dev
phy#0
Interface wlan0
(...)
使用 ip link
查看網絡接口,檢查是否創建了無線接口:
root@archiso ~ # ip link
1: lo: (...)
2: (...)
3. wlan0: <BROADCAST,MULTICAST> (...)
可以看到,這裏的 wlan0
就是無線接口。
然後運行 ip link set wlan0 up
,啓用無線接口:
root@archiso ~ # ip link set wlan0 up
(...)
#上面這些信息一點兒也看不懂
root@archiso ~ # ip link show wlan0
3. wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> (...)
看到 wlan0
後面尖括號<>裏的 UP
,說明該接口已經啓用了。
還算比較幸運,沒有遇到驅動之類的問題。
掃描 WiFi
使用 iw wlan0 link
命令可以看到,當前無線尚未連接:
root@archiso ~ # iw wlan0 link
Not connected.
運行以下命令掃描 WiFi:
root@archiso ~ # iw dev wlan0 scan | grep SSID
SSID: xxxx
SSID: yyyy
(...)
平時在圖形化界面中見到的 WiFi 列表居然變成了這樣…
或者運行 iw dev wlan0 scan | less
仔細查看。在我的例子中可以看到:
SSID: xxxx
(...)
WPA: * Version: 1
(...)
說明是用的 WPA 驗證。
連接 WiFi
下面使用 wpa_passphrase
命令生成 WPA 驗證的配置文件,其中 wifi_name
就是要連接的 WiFi 名稱,即上面的 SSID
一項:
root@archiso ~ # wpa_passphrase wifi_name > /etc/wpa.conf
#按回車之後會要求輸入密碼,輸入之後再按回車即可
********
可以看到,上面的命令已經自動生成了配置文件:
root@archiso ~ # cat /etc/wpa.conf
# reading passphrase from stdin
network={
ssid="xxxx"
#psk="xxxxxxxx"
psk=*************************
}
下面使用 wpa_supplicant
命令連接 WiFi。其中,-D
後面接驅動,常用的是 wext
,我還沒試過其他的;-i
後面接的是接口名稱,本例中是 wlan0
;-c
後面接配置文件,即剛剛創建的那個。注意,這些選項和參數之間都沒有空格。最後,-B
是選擇在後臺運行,不佔用終端。
root@archiso ~ # wpa_supplicant -Dwext -iwlan0 -c/etc/wpa.conf -B
(...)
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
(...)
奇怪的是,雖然輸出中出現了 Invalid argument
字樣,但連接還是成功了。使用 iw wlan0 link
命令查看連接:
root@archiso ~ # iw wlan0 link
Connected to xx:xx:xx:xx:xx:xx (on wlan0)
SSID: xxxx
freq: 2417
(...)
通過 DHCP 獲得配置
雖然連上了 WiFi,但目前還沒有相應配置,上不了網,而且路由器的管理頁面中也沒有顯示此設備。 ping
一下試試:
root@archiso ~ # ping archlinux.org
ping: archlinux.org: Temporary failure in name resolution
下面使用 dhcpcd
命令啓動 DHCP:
root@archiso ~ # dhcpcd wlan0
wlan0: connected to Access Point `xxxx`
DUID (...)
wlan0: IAID (...)
wlan0: soliciting an IPv6 router
wlan0: soliciting a DHCP lease
wlan0: offered 192.168.31.76 from 192.168.31.1
wlan0: probing address 192.168.31.76/24
wlan0: leased 192.168.31.76 for 43200 seconds
wlan0: adding route to 192.168.31.0/24
wlan0: adding default route via 192.168.31.1
forked to background, child pid 897kk
可以看到,從 192.168.31.1
(小米路由器)分配到了 192.168.31.76
這個 ip 地址,租約期限爲 12 小時(43200 秒)。
大功告成,現在 ping
一下發現通了:
root@archiso ~ # ping archlinux.org
PING: archlinux.org (138.201.81.99) 56(84) bytes of data.
(...)
附:本節參考資料
- 命令行 WPA 驗證連接:How do I connect to a WPA wifi network using the command line?
- dhcpd ArchWiki 頁面:dhcpd
步驟 2:
(未完待續)