Не удалось запустить netplan-wpa-wlan0.sevice: Unit netplan-wpa-wlan0. служба не найдена

Настройка моего rasbperry pi для работы в качестве моей личной производственной тестовой машины.

Я установил сервер ubuntu 20.04.1 LTS (RPI 3/4) 64bit и отчаянно пытался настроить на нем беспроводное соединение.

  • Выполнение ls -la / sys / class / net говорит мне, что моя папка wlan называется wlan0 .
  • Итак, я вошел в 50-cloud-init.yaml и (с правильным отступом) добавил следующий блок, заменив соответствующие поля моей информацией о Wi-Fi
    wifis:
        wlan0:
            optional: true
            access-points:
                "SSID-NAME-HERE":
                    password: "PASSWORD-HERE"
            dhcp4: true
  • sudo netplan apply теперь выдает ошибку, как указано в заголовке

I уже пробовали делать следующее: sudoedit /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg и вставил строку сеть: {config: disabled}

sudo netplan --debug generate сообщает мне кое-что интересное, я думаю: Networkmanager: определение wlan0 не для нас (backend 1)

1
задан 11 November 2020 в 16:46

1 ответ

Шаг 1. Определите имя вашего беспроводного сетевого интерфейса

Существует несколько способов определить имя вашего сетевого интерфейса. Вы можете использовать команду ip, устаревшую команду ipconfig или проверить этот файл:

ls /sys/class/net

Это должно предоставить вам все доступные сетевые интерфейсы (Ethernet, Wi-Fi и loopback). Имя беспроводного сетевого интерфейса начинается с «w» и обычно называется аналогично wlanX, wlpxyz.

Запишите это имя интерфейса. Вы будете использовать его на следующем шаге.

Шаг 2. Отредактируйте файл конфигурации Netplan, указав сведения об интерфейсе Wi-Fi.

Файл конфигурации Netplan находится в каталоге /etc/netplan. Если вы проверите содержимое этого каталога, вы должны увидеть такие файлы, как 01-network-manager-all.yml или 50-cloud-init.yaml.

Если это сервер Ubuntu, у вас должен быть файл cloud-init. Для настольных компьютеров это должен быть файл сетевого менеджера.

Диспетчер сети на рабочем столе Linux позволяет выбрать беспроводную сеть. Вы можете жестко указать точку доступа Wi-Fi в ее конфигурации. Это может помочь вам в некоторых случаях (например, приостановка), когда соединение разрывается автоматически.

Что бы это ни было, откройте его для редактирования. Я надеюсь, что вы немного знакомы с редактором Nano, потому что Ubuntu поставляется с ним предустановленным.

sudo nano /etc/netplan/50-cloud-init.yaml

Файлы YAML очень чувствительны к пробелам, отступам и выравниванию. Не используйте табуляцию, вместо этого используйте 4 (или 2, в зависимости от того, что уже используется в файле YAML) пробела там, где вы видите отступ.

По сути, вам нужно будет добавить следующие строки с именем точки доступа (SSID) и ее паролем (обычно) в кавычках:

wifis:
    wlan0:
        dhcp4: true
        optional: true
        access-points:
            "SSID_name":
                password: "WiFi_password"

Опять же, сохраните выравнивание, как я показал, иначе файл YAML не будет будет проанализирован, и он выдаст ошибку.

Ваш полный файл конфигурации может выглядеть следующим образом:

# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    version: 2
    wifis:
        wlan0:
            dhcp4: true
            optional: true
            access-points:
                "SSID_name":
                    password: "WiFi_password"

Я нахожу странным, что, несмотря на сообщение о том, что изменения не сохранятся после перезагрузки инстанса, он все еще работает.

В любом случае, сгенерируйте конфигурацию с помощью этой команды:

sudo netplan generate

А теперь примените это:

sudo netplan apply

Если вам повезет, у вас должно быть подключение к сети. Попробуйте пропинговать веб-сайт или запустить команду apt update.

Однако все может пойти не так гладко, и вы можете столкнуться с некоторыми ошибками. Попробуйте выполнить дополнительные действия, если это так.

Возможное устранение неполадок

Возможно, когда вы используете команду netplan apply, вы видите ошибку в выводе, которая выглядит примерно так:

Failed to start netplan-wpa-wlan0.service: Unit netplan-wpa-wlan0.service not found.
Traceback (most recent call last):
  File "/usr/sbin/netplan", line 23, in <module>
    netplan.main()
  File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/apply.py", line 46, in run
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/apply.py", line 173, in command_apply
    utils.systemctl_networkd('start', sync=sync, extra_services=netplan_wpa)
  File "/usr/share/netplan/netplan/cli/utils.py", line 86, in systemctl_networkd
    subprocess.check_call(command)
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'systemd-networkd.service', 'netplan-wpa-wlan0.service']' returned non-zero exit status 5.

Возможно, служба wpa_supplicant не запущена. Запустите эту команду:

sudo systemctl start wpa_supplicant

Запустите netplan apply еще раз. Если это решит проблему хорошо и хорошо. В противном случае выключите свою систему Ubuntu, используя:

shutdown now

Снова запустите систему Ubuntu, войдите в систему, сгенерируйте и примените сетевой план еще раз:

sudo netplan generate
sudo netplan apply

Теперь может отображаться предупреждение (вместо ошибки). Это предупреждение, а не ошибка. Я проверил запущенные службы systemd и обнаружил, что netplan-wpa-wlan0.service уже запущен. Вероятно, он показал предупреждение, потому что он уже был запущен, и «netplan apply» обновил файл конфигурации (даже без каких-либо изменений).

Warning: The unit file, source configuration file or drop-ins of netplan-wpa-wlan0.service changed on disk. Run 'systemctl daemon-reload' to reload units.

Это не критично, и вы можете проверить, что интернет уже работает, запустив apt update.

4
ответ дан 11 November 2020 в 14:03

Другие вопросы по тегам:

Похожие вопросы: