Найти в Дзене
BASH DAYS | Linux Factory

Как установить Ubuntu 23.04 и 24.04 на WSL

Оглавление

Сегодня покажу как на wsl хитро поставить свежую версию ubuntu 23.04 или 24.04. Так как в коробке идет только старенькая 22.04, придется немного потыкать в консольке.

Зачем это нужно? Ну например проверить какие-то штуки, которых нет в ubuntu 22. А для чего мне это понадобилось, я напишу в следующем посте, как раз одно на другое наложилось. Если спойлернуть: писал пост про софтину, но она работает только с новыми версиями убунты. Вот и пришлось немного переобуться.

По bash версиям имеем такое:

22.04 - 5.1.16
23.04 - 5.2.16
24.04 - 5.2.21


Так, есть несколько способов вкорячить свежую убунту в wsl.

Хитрый способ с docker

Заходим в wsl убунты 22 и ставим docker если он у тебя еще не стоит.

curl -sSL https://get.docker.com | sh
usermod -aG docker $(whoami)


WSL DETECTED: We recommend using Docker Desktop for Windows.

Оно грязно выругается, но ждем 20 секунд и установка завершиться успехом

Перезапускаем сессию чтобы пользователь смог работать с docker.

Дальше тащим образ ubuntu:lunar, как раз это версия 23.04. Аналогично можешь и другие версии/разновидности дистрибутива на wsl вкорячивать. Все что есть в docker можно поднять в wsl.

docker pull ubuntu:lunar

Запускаем контейнер и выходим из него

docker run -it --name ubuntu23 ubuntu:lunar
exit


Проверяем что контейнер есть:

docker ps -a

Экспортируем

docker export ubuntu23 > /tmp/ubuntu23.tar

В папке /tmp появился tar размером где-то 75 мегабайт. Уже хорошо. Теперь на хостовой с виндой создаем папку. Я сделал ее на диске
D: и назвал так D:\\wsl\\ubuntu23

Теперь копируем этот tar на хостовую машину с виндой в папку
D:\\wsl\\ubuntu23.

Переходим в powershell и импортируем tar:

wsl --import ubuntu23 D:\wsl\ubuntu23\ D:\wsl\ubuntu23\ubuntu23.tar

В папке
D:\\wsl\\ubuntu23 появится новый файл: ext4.vhdx размером около 150 мегабайт. Так, дальше…

Смотрим что у нас есть, в powershell:

wsl -l -v

На экран вываливается примерно такое:

PS C:\Users\user> wsl -l -v

NAME STATE VERSION
* Ubuntu-22.04 Running 2
ubuntu23 Stopped 2


Собственно на этом всё. Запускаем lunar:

wsl -d ubuntu23

Всё!

Второй способ. Сделать dist-upgrade уже существующей убунты:

sudo sed 's/lts/normal/g' /etc/update-manager/release-upgrades
sudo sed -i `s/jammy/lunar/g` /etc/apt/sources.list
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade


Хотя апргрейд крайняя мера, когда 22.04 уже не нужна. А мне нужна! Пока не знаю зачем, но пусть будет.

Подпишись на BashDays в телеграм


Третий и самый простой.


Поставить Ubuntu (Preview) по
этой ссылке прям с магазина микрософта. Кликнул и последняя убунта у тебя в wsl.

В моём случае сразу прилетел Release: 24.04 Codename: noble. Через docker конечно интереснее, есть какая-то прозрачность и контроль.

А так, как я ленивый, я предпочел поставить Ubuntu Preview. Но способ с docker я конечно пощупал и поставил 23 версию. Теперь имею зоопарк 22, 23, 24, думаю для экспериментов вполне хватит.

Да, когда ставишь через docker, оно автоматически пропишется в Windows Terminal и потом всю эту кухню можно запускать кликом мыши, без ввода wsl -d.

Вот и все. Чуть позже закину пост как раз про ту самую софтину, которая хочет работать только на свежих линуксах. Увидимся!

Рекомендую почитать