Вопрос или проблема
Обзор
Я использую Ubuntu 22.04 в WSL2 и мне нужно установить программу mininet:
sudo apt install mininet
И возникает следующая проблема:
pedro@DESKTOP-HNMS5UI:/mnt/c/Users/PedroFraga$ sudo apt install mininet
[sudo] пароль для pedro:
Чтение списков пакетов... Готово
Формирование дерева зависимостей... Готово
Чтение информации о состоянии... Готово
mininet уже является самой новой версией (2.3.0-1ubuntu1).
0 обновлено, 0 ново установленное, 0 удалено и 62 не обновлено.
1 не полностью установлен или удален.
После этой операции будет использовано 0 Б дополнительного дискового пространства.
Вы хотите продолжить? [Y/n] y
Настройка openvswitch-switch (2.17.9-0ubuntu0.22.04.1) ...
Не удалось выполнить systemctl: в /usr/bin/deb-systemd-invoke строка 142.
Задача по зависимостям для openvswitch-switch.service не выполнена. См. 'journalctl -xe' для получения подробностей.
invoke-rc.d: initscript openvswitch-switch, действие "start" не удалось.
○ openvswitch-switch.service - Open vSwitch
Загружено: загружено (/lib/systemd/system/openvswitch-switch.service; включено; предустановка поставщика:
включено)
Активно: неактивно (мертво)
10 окт 08:35:02 DESKTOP-HNMS5UI systemd[1]: Зависимость не выполнена для Open vSwitch.
10 окт 08:35:02 DESKTOP-HNMS5UI systemd[1]: openvswitch-switch.service: Задание openvswitch-swit
ch.service/start не удалась с результатом 'dependency'.
10 окт 08:40:18 DESKTOP-HNMS5UI systemd[1]: Зависимость не выполнена для Open vSwitch.
10 окт 08:40:18 DESKTOP-HNMS5UI systemd[1]: openvswitch-switch.service: Задание openvswitch-swit
ch.service/start не удалась с результатом 'dependency'.
10 окт 08:40:43 DESKTOP-HNMS5UI systemd[1]: Зависимость не выполнена для Open vSwitch.
10 окт 08:40:43 DESKTOP-HNMS5UI systemd[1]: openvswitch-switch.service: Задание openvswitch-swit
ch.service/start не удалась с результатом 'dependency'.
10 окт 08:43:19 DESKTOP-HNMS5UI systemd[1]: Зависимость не выполнена для Open vSwitch.
10 окт 08:43:19 DESKTOP-HNMS5UI systemd[1]: openvswitch-switch.service: Задание openvswitch-swit
ch.service/start не удалась с результатом 'dependency'.
10 окт 09:51:02 DESKTOP-HNMS5UI systemd[1]: Зависимость не выполнена для Open vSwitch.
10 окт 09:51:02 DESKTOP-HNMS5UI systemd[1]: openvswitch-switch.service: Задание openvswitch-swit
ch.service/start не удалась с результатом 'dependency'.
dpkg: ошибка при обработке пакета openvswitch-switch (--configure):
скрипт пост-инсталляции установленного пакета openvswitch-switch вернул статус завершения 1
Во время обработки возникли ошибки:
openvswitch-switch
E: Подзадача /usr/bin/dpkg вернула код ошибки (1)
Моя конфигурация WSL2
Идентификатор дистрибьютора: Ubuntu
Описание: Ubuntu 22.04.3 LTS
Версия: 22.04
Кодовое имя: jammy
Linux DESKTOP-HNMS5UI 5.15.133.1-microsoft-standard-WSL2
Я попробовал переустановить программу, используя:
sudo apt remove --purge openvswitch*
И установить снова
sudo apt install openvswitch-switch
Ответ или решение
Ответ на вопрос о проблеме установки Mininet в WSL2
Обзор проблемы
Вы столкнулись с ошибкой при установке Mininet на Ubuntu 22.04, работающей в WSL2, где возникла проблема с зависимостью пакета openvswitch-switch
. Данная ошибка происходит из-за того, что Open vSwitch (OVS) не может быть корректно запущен, так как в WSL отсутствует поддержка системного менеджера systemd
, который используется для управления службами.
Решение проблемы
Вот шаги, которые необходимо выполнить для устранения данной проблемы:
-
Удаление пакета openvswitch-switch:
Хотя вы уже пробовали удалить пакет, убедитесь, что все его компоненты очищены, выполнив следующую команду:sudo apt remove --purge openvswitch-switch
-
Очистка остатков конфигураций:
Убедитесь, что конфигурации удалены:sudo dpkg --purge openvswitch-switch
-
Обновление списка пакетов и исправление зависимостей:
Затем выполните команду для обновления списка пакетов и попытки снова исправить зависимости:sudo apt update sudo apt --fix-broken install
-
Установка Mininet без зависимостей Open vSwitch:
Если Open vSwitch не является критически важным для вас, попробуйте снова установить Mininet, игнорируя зависимость от OVS. Используйте команду:sudo apt install --no-install-recommends mininet
-
Установка Mininet из исходников (если нужно):
Если вышеуказанные шаги не решат проблему, можно установить Mininet из исходного кода. Для этого выполните следующие команды:git clone https://github.com/mininet/mininet cd mininet util/install.sh -a
-
Проверка состояния установки:
После выполнения указанных шагов проверьте, корректно ли установился Mininet:sudo mn --test pingall
Замечания
Из-за ограничений WSL2, некоторые сетевые инструменты, такие как Open vSwitch, могут работать некорректно или требовать дополнительных настроек, которые не могут быть выполнены в среде WSL. Рассмотрите возможность использования полноценной Linux-системы или виртуальной машины с установленным Linux, если вам требуется полное функционирование Mininet и всех его зависимостей.
Заключение
Эти шаги должны помочь вам устранить проблему с установкой Mininet в среде WSL2. Если ошибка продолжает возникать, возможно, будет целесообразно обратиться к документации Mininet или Open vSwitch для получения дополнительных сведений, или создать специальный вопрос на форумах, посвящённых Ubuntu или Mininet.