WSL Linux внутри Windows без виртуализации
Зачем разработчику гибридная система?
Знакома ситуация, когда нужны Linux-инструменты для работы, но переключаться между системами неудобно? Windows Subsystem for Linux (WSL) решает эту проблему, позволяя запускать настоящие Linux-дистрибутивы прямо в Windows — без виртуальных машин и двойной загрузки.
Что такое WSL?
WSL — это технология Microsoft, которая:
- Позволяет запускать Linux-приложения в Windows
- Поддерживает большинство консольных утилит и сервисов
- Обеспечивает интеграцию между Windows и Linux
Эволюция технологии
- WSL1 (2016) — слой совместимости, транслирующий Linux-системные вызовы в Windows API
- WSL2 (2019) — полноценный Linux-ядро в легковесной виртуальной машине
Главное отличие — WSL2 работает быстрее, особенно при операциях с файлами, и поддерживает Docker.
Кому пригодится WSL?
- Веб-разработчики, работающие с Node.js, Python, Ruby
- DevOps-инженеры, использующие Ansible, Terraform, Kubernetes
- Системные администраторы, которым нужен доступ к Linux-утилитам
- Сетевые специалисты (Kali Linux для тестирования безопасности)
- Data Scientists, работающие с Python-библиотеками
Основные возможности
1. Поддержка популярных дистрибутивов
Из коробки доступны:
- Ubuntu
- Debian
- openSUSE
- Kali Linux
- Fedora Remix
А через сторонние инструменты можно установить даже Arch Linux или Gentoo.
2. Интеграция с Windows
- Доступ к Windows-файлам из Linux через
/mnt/c/ - Запуск Windows-приложений из терминала WSL
- Совместное использование буфера обмена
3. Поддержка GUI-приложений
С WSLg (начиная с Windows 11) Linux-приложения с графическим интерфейсом работают без дополнительных настроек. Например:
sudo apt install gedit
gedit
4. CUDA для машинного обучения
WSL2 поддерживает GPU-ускорение через CUDA, что важно для:
- TensorFlow/PyTorch
- Обработки изображений
- Научных вычислений
Практическое применение
Для веб-разработки
- Установите Node.js:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
- Работайте с Docker (требуется WSL2):
docker run -p 80:80 nginx
Для системного администрирования
- Управление серверами через Ansible
- Тестирование скриптов в разных дистрибутивах
- Работа с облачными API (AWS, Azure)
Полезные инструменты
Терминалы
- Windows Terminal — стандартный терминал от Microsoft
- Tabby — кросс-платформенный терминал с вкладками
Утилиты
- wslgit — использование git из WSL в VS Code
- WSL-Hello-sudo — авторизация sudo через Windows Hello
Как начать использовать
- Активируйте WSL в PowerShell (администратор):
wsl --install
- Установите дистрибутив из Microsoft Store
- Настройте терминал под свои нужды
WSL — это:
✅ Мост между Windows и Linux-экосистемами ✅ Легковесная альтернатива виртуальным машинам ✅ Идеальный инструмент для кросс-платформенной разработки
Особенно рекомендую попробовать:
- Веб-разработчикам, уставшим от нативных Windows-инструментов
- Студентам, изучающим Linux
- IT-специалистам, работающим в гетерогенных средах
Полный список ресурсов и инструментов смотрите в репозитории Awesome WSL.
