ArchLinux安装中的wifi连接

· · 个人记录

ArchLinux是一个重度依赖网络的发行版, 如果嫌每次刷机(谁刷机像你那么频繁啊喂)都要连网线麻烦的话, 现在完全可以实现使用wifi安装.

首先, 官方的wiki可以从这里查到, 我链接了一个比较全面的连接方法, 如果嫌麻烦, 下一个小节就是简单的方法. 如果不想读英语, 请耐心慢慢看我(满是吐槽)的文章.(其实也不长)

如果需要在安装完成后使用这个方法连接wifi的话, 需要安装wpa_supplicant包.

连接网络

准备工作

如果知道无线网卡接口名称和网络的SSID, 可以直接这么干:

wpa_supplicant -B -i interface -c <(wpa_passphrase MYSSID passphrase)

这里interface就是无线网卡接口的名称, MYSSID就是网络的SSID, passphrase就是网络的密码(什么? 你说你不知道? 那我也没办法啊).

wpa_supplicant命令中, -B参数让它后台运行, -i参数指示接下来将提供接口名称, -c参数指示配置文件(这里从命令的输出中重定向). wpa_passphrase是用来生成一个简单的配置文件和(从密码中计算出来的)PSK的.

获取IP地址

直接这样:

dhcpcd interface

同样, interface是无线网卡接口的名称.

然而如果没经历过配置网络的痛苦, 恐怕没人会知道无线网卡接口的名称...

所以, 下面是准备工作:

查找无线网卡接口名称

这个名称将被几乎所有网络程序使用, 同时查找方法有些蛋疼...

就是这样做:

ip link
# iw dev # 另一种解决方案, 不过如果在装好系统以后要用的话要安装iw包

有可能需要启用接口(interface代表接口名称):

ip link set interface up
# 如果写down的话就是禁用(然而似乎并没有用)

搜索网络

准备工作

先随便写一个配置文件:

ctrl_interface=/run/wpa_supplicant
update_config=1

然后跑一下wpa_supplicant:

wpa_supplicant -B -i interface -c file

这里interface指上一步找到的无线网卡接口名称, file指刚才写的配置文件.

wpa_cli跑起来!

wpa_cli  # 对, 就这样...

接下来的工作将在wpa_cli中进行.

搜索

跑一下scanscan_results命令:

scan
scan_results  # 不要忘记加's'

跑完scan要等一会, 等它输出完之后再跑scan_results, 不然可能得不到输出.

找到要连接的那个网络, 按Ctrl+D退出wpa_cli, 就可以连接网络了(就是上面那一段).

或者也可以直接在wpa_cli中连接网络.

wpa_cli中连接网络

先添加网络

add_network

然后wpa_cli应该会输出一个0(应该表示网络在这里的id).

然后设置网络

set_network 0 ssid network_ssid  # 设置网络的ssid
set_network 0 psk passphrase  # 设置网络的密码
# set_network 0 key_mgmt NONE  # 如果网络没有密码, 就用这个
enable_network 0

其中network_ssid指要连接的网络的ssid, passphrase指网络的密码.

如果要保存配置文件(我至今没有成功过):

save_config

然后按Ctrl+D退出, 再获取IP地址(看上文)就可以了.