Как использовать WSL2 для разработки

Представим, вы подняли Linux на wsl2, все работает, как часы. Вы крутите свой проект с разными версиями Python и полностью довольны. Но неожиданно, как всегда, нужно срочно подправить код, написанном на Java, упаковать его и отдать заказчику. Что делать?

Можно пойти по пути и добавить софт, необходимый для разработки Java проекта в wsl2 настроенную под Python. Но лучше пойти более практичным путем. Экспортировать существующий дистрибутив wsl2 в файл и восстановить с новым именем. К примеру, первый проект у вас поднят на Debian и машина называется Python. При создании новой машины вы указываете ей новое имя, как вариант, Java.

Восстановили, запустили и надо сразу сделать одну важную правку в конфигурационном файле /etc/wsl.conf. Открываем файл в редакторе и в разделе [network] меняем параметр hostname на новый. Перезагружаемся, смотрим, что новый хост запустился с новым именем и начинаем его готовить под разработку проекта на Java.

Мне приходится работать с различными вариантами языков программирования и наборами пакетов к ним. Поэтому я использую архив из готовых машин под разные среды разработки. Когда возникает такая необходимость, я восстанавливаю дистрибутив и обновляю установленные пакеты, если это требуется.

Кстати. За последнее время разработчики wsl2 много чего сделали полезного. К примеру, поддержку systemd. А также решил основную головную боль с сетевыми настройками.

В конфигурационный файл windows системы .wslconfig добавьте строку:
networkingMode=mirrored

и ваш дистрибутив «сядет» на внешний адрес вашего основного хоста windows. Но обо всех новых вкусностях в wsl2, как-нибудь в другой раз.