LINUX.ORG.RU
ФорумAdmin

WSL2: как включить systemd и nftables?

 , , ,


0

1

Собственно, сабж.

На виндовой машине активирован WSL2, установлен Oracle Linux из Microsoft Store. Хочу, во-первых, запускать WSL при старте основной системы, с ssh-доступом. Во-вторых, хочу nat’ить транзитные пакеты из Wireguard-интерфейса с помощью nftables (причем интерфейса виндового, хотя с большим удовольствием переделал бы Wireguard на внутренний WSL-сервис).

Пытаюсь запустить соответствующие systemd-сервисы - выдает

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

Насколько я понимаю, все дистрибутивы WSL тупо грузят майкрософтовское ядро WSL в своем окружении. wsl --update я уже делал, ожидаемо ничего не поменялось. Кто решал подобные вопросы? Есть ли возможность включить systemd без переконпеляния ядра (хост-машина совсем дохлая, обычный офисный бюджетник)? Запускать Docker-образ не хочется, к контейнеру в контейнере (we need to go deeper) есть предубеждение.

мож в твоем случае виртуалка нужна? у wsl есть куча недостатков, например, зашифрованный раздел на том же устройстве с виндой никак из него не примонтировать и тп (ну по крайней мере без ковыряния потрохов)

tz4678_2
()
Ответ на: комментарий от tz4678_2

мож в твоем случае виртуалка нужна? у wsl есть куча недостатков, например, зашифрованный раздел на том же устройстве с виндой никак из него не примонтировать и тп (ну по крайней мере без ковыряния потрохов)

Не, там еще и bash-скрипты по расписанию должны работать (legacy, ворошить не хочу). Да и зашифрованных разделов там нет.

z0mb1e_kgd
() автор топика

https://superuser.com/questions/1719393/how-does-wsl-wsl2-wslg-work-without-systemd

тут в ответе объясняют, как оно работает. Жесть. Я думал там просто виртуалка. А там виртуалка, в которой что-то вроде докера, в котором уже запущен выбранный дистрибутив. Микрософт не ищет лёгких путей.

vbr ★★★
()
Ответ на: комментарий от vbr

В том-то и дело. В итоге я плюнул, почитал бубунтовый тред, установил Distrod, который теперь будет мне запускать таском контейнеризованный WSL при запуске винды. Это не Ъ, но оно хотя бы работает. Теперь посмотрим, заработает ли нат.

z0mb1e_kgd
() автор топика
Ответ на: комментарий от z0mb1e_kgd

Это как-раз таки запуск в контейнере, а этого хотелось бы избежать. Пока ищу нативные решения.

Хм. А wsl что по вашему такое ? Вам нужен HYPER-V (забыл как он там у МС называется виртуалка) и уже туда ставить Oracle Linux.

mx__ ★★★★★
()

WSL2

Зачем усложнять себе жизнь? Установите виртуалбокс. В Виртуалбокс установите дистрибутив. Работайте. Если нужен именно hyper-V, то запустите его графический интерфейс и установите дистрибутив в виртуальную машину с нуля, и работайте.

sfedosenko
()