Импорт/экспорт Linux WSL
При использовании WSL для разработки возникает необходимость сделать резервную копию настроенного Linux для сохранности или переноса на другой компьютер.
Например, у нас есть свеженастроенный LAMP на WSL и мы хотим сделать его резервную копию, чтобы всегда можно было начать с чистого листа или передать его коллеге.
Создаем резервную копию WSL
Для начала выберем нужный нам дистрибутив Linux, для этого в PowerShell (его нужно запустить от имени администратора) выведем список командой:
wsl --list
Предположим нам нужно сделать резервную копию Ubuntu-22.04, для этого нужно экспортировать WSL в файл командой:
wsl --export Ubuntu-22.04 ubuntu-lamp.tar
Готово. Поскольку команды в PowerShell запускались, когда мы находились в корне диска C:\, то и файл ubuntu-lamp.tar появился там же. Если вы ходите экспортировать в другое место, то просто укажите путь, например:
wsl --export Ubuntu-22.04 d:/ваша_папка/ubuntu-lamp.tar
Восстанавливаем WSL из резервной копии
Итак, что нужно сделать, если у вас есть резервная копия WSL и вам ее нужно восстановить на том же или на другом компьютере.
Например, я хочу перенести мой настроенный WSL на другой компьютер. Для начала посмотрю какие дистрибутивы WSL уже установлены:
wsl --list
Чтобы восстановить WSL из резервной копии нужно выполнить команду:
wsl --import <Название образа> <Куда сохраняется образ> <Путь до резервной копии образа>
Резервная копия у меня находится на внешнем диске по адресу F:\ubuntu-lamp.tar, восстановить я хочу в C:\Users\Alex\Ubuntu поэтому команда будет выглядеть так:
wsl --import Ubuntu-Lamp C:\Users\Alex\Ubuntu F:\ubuntu-lamp.tar
Через пару минут операцию восстановления завершится и выполнив команду wsl —list мы увидим восстановленный дистрибутив в списке образов:
Готово, теперь запускаем нужный дистрибутив с нужным пользователем командой:
wsl --distribution Ubuntu-Lamp --user alex
p.s. Если вы переносили на другой компьютер или восстанавливали дистрибутив с настроенным LAMP не забывайте проверять файл hosts.
p.p.s Еще восстановленный дистрибутив не отображается в меню Пуск, зато в Windows Terminal отображается