设置我的 rasbperry pi 作为我的个人生产测试机器。
我已经安装了ubuntu server 20.04.1 LTS (RPI 3/4) 64bit并拼命尝试在其上设置无线连接。
- 做
ls -la /sys/class/net
告诉我我的 wlan 文件夹被称为wlan0。 - 所以我进入了 50-cloud-init.yaml 文件并(使用正确的缩进)添加了以下块,同时用我的 wifi 信息替换了相应的字段
wifis:
wlan0:
optional: true
access-points:
"SSID-NAME-HERE":
password: "PASSWORD-HERE"
dhcp4: true
sudo netplan apply
现在抛出标题中所述的错误
我已经尝试过执行以下操作:
sudoedit /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
并粘贴了该行
network: {config:disabled}
sudo netplan --debug generate
告诉我一些我认为有趣的事情:Networkmanager: definition wlan0 is not for us (backend 1)
第 1 步:确定您的无线网络接口名称
有几种方法可以识别您的网络接口名称。您可以使用 ip 命令、已弃用的 ipconfig 命令或检查此文件:
这应该为您提供所有可用的网络接口(以太网、wifi 和环回)。无线网络接口名称以“w”开头,通常命名为类似于 wlanX、wlpxyz。
记下此接口名称。您将在下一步中使用它。
第 2 步:使用 wifi 接口详细信息编辑 Netplan 配置文件
Netplan 配置文件位于 /etc/netplan 目录中。如果您检查此目录的内容,您应该会看到 01-network-manager-all.yml 或 50-cloud-init.yaml 之类的文件。
如果是 Ubuntu 服务器,你应该有 cloud-init 文件。对于桌面,它应该是网络管理器文件。
Linux 桌面上的网络管理器允许您选择无线网络。您可以在其配置中对 wifi 接入点进行硬编码。这可以在连接自动断开的某些情况下(如挂起)帮助您。
无论是哪个文件,打开它进行编辑。我希望你对 Nano 编辑器有点熟悉,因为 Ubuntu 预装了它。
YAML 文件对空格、缩进和对齐非常敏感。不要使用制表符,使用 4 个(或 2 个,以 YAML 文件中已使用的为准)空格代替您看到缩进的地方。
基本上,您必须添加以下行,其中接入点名称 (SSID) 及其密码(通常)用引号括起来:
同样,保持对齐方式,否则 YAML 文件将不会被解析并且会引发错误。
您的完整配置文件可能如下所示:
我觉得奇怪的是,尽管显示更改不会在实例重新启动后持续存在的消息,但它仍然有效。
无论如何,使用以下命令生成配置:
现在应用这个:
如果你幸运的话,你应该有网络连接。尝试 ping 一个网站或运行 apt update 命令。
但是,事情可能不会那么顺利,您可能会看到一些错误。如果是这种情况,请尝试一些额外的步骤。
可能的故障排除
当您使用 netplan apply 命令时,您可能会在输出中看到如下错误:
wpa_supplicant 服务可能没有运行。运行此命令:
再次运行 netplan apply。如果它能很好地解决问题。否则,请使用以下命令关闭 Ubuntu 系统:
再次启动您的 Ubuntu 系统,登录并再次生成并应用 netplan:
它现在可能会显示警告(而不是错误)。这是警告而不是错误。我检查了正在运行的 systemd 服务,发现 netplan-wpa-wlan0.service 已经在运行。可能它显示了警告,因为它已经在运行并且“netplan apply”更新了配置文件(即使没有任何更改)。
这并不重要,您可以通过运行 apt update 检查互联网是否已经正常工作。
是答案 - 谢谢