Windows subsystem for linux preview что это

Microsoft объявила, что версия подсистемы Windows для Linux (WSL) стала доступна в  магазине компании для клиентов Windows 10 и 11.Теперь Microsoft отказывается...

Microsoft объявила, что версия подсистемы Windows для Linux (WSL) стала доступна в  магазине компании для клиентов Windows 10 и 11.

Теперь Microsoft отказывается от предоставления WSL в качестве дополнительного компонента операционной системы. Размещение подсистемы в магазине позволит пользователям быстрее получать обновления. 

Кроме того, по запросу все пользователи Windows 10 смогут использовать приложения Linux с графическим интерфейсом после обновления до последней версии Microsoft Store.

Последняя общедоступная версия распространяется на пользователей систем под управлением Windows 10 21H1 и более поздних версий или Windows 11 21H2 и более поздних версий с установленными обновлениями за ноябрь 2022 года.

Новые пользователи могут получить WSL, запустив wsl —install, а существующие пользователи могут выполнить обновление до последней версии Store, используя wsl —update.

Microsoft выпустила WSL в 2018 году, что позволило пользователям Windows запускать двоичные файлы Linux на своих компьютерах с помощью PowerShell или командной строки Windows 10. В мае 2019 года вышло крупное обновление WSL 2, значительно повысившее производительность файловой системы, с поддержкой полной совместимости системных вызовов и использования ядра Linux, работающего внутри облегчённой виртуальной машины (ВМ).

В мае 2021 года была внедрена поддержка приложений Linux на основе графического интерфейса через WSLg (Windows Subsystem for Linux GUI).

В ноябре 2021 года Microsoft опубликовала новую версию подсистемы Windows для Linux в формате приложения.

В сентябре 2022 года Microsoft и Canonical объединились для добавления поддержки systemd в подсистему Windows для Linux, что позволяет устанавливать большее количество совместимых приложений.

Подробное руководство по установке и запуску приложений Linux с графическим интерфейсом размещено на официальной странице WSLg на GitHub.

Windows Subsystem for Linux (WSL) — подсистема ОС Windows 10, позволяющая разработчикам, тестировщикам запускать нативные приложения Linux, писать скрипты, выполнять команды непосредственно из Windows. В обновлённой Windows 10 (2004) появилась 2я версия WSL, в которой используется полноценное ядро Linux с возможностью запуска приложений и контейнеров Docker, реализована высокая скорость загрузки, небольшой объем потребляемых ресурсов, управление в фоновом режиме, обновление ядра. Таким образом вы сможете запускать ELF64 программы, которые могут получать доступ к файловой системе Windows без использования сторонних порто (таких как Cygwin).

Образ ядра Linux (версия ядра 4.19) в Windows 10 представляет собой легкую виртуальную машину, для запуска которой не нужно ставить полноценную роль Hyper-V. Системные вызовы Linux транслируются на лету в вызовы Windows без использования эмулятора (в отличии от WSL1).

Изначально компонент WSL отключен. Чтобы его включить, вам необходимо зайти в Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows (Control PanelAll Control Panel ItemsPrograms and FeaturesTurn Windows features on or off), активировать галочку Подсистема Windows для Linux (Windows Subsystem for Linux), нажать кнопку ОК, и перезагрузить компьютер.

установка Windows Subsystem for LInux 2 версия в windows 10

Вы можете включить компоненты WSL в Windows 10 с помощью dism:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

или PowerShell

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

В Windows Server 2004 Semi-Annual Channel (SAC) для установки компонента WSL используется командлет Install-WindowsFeature:

Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux

После этого также необходимо перезагрузить компьютер.

В настройка BIOS/UEFI компьютера должна быть включена поддержка аппаратной виртуализации: Intel VT (Intel Virtualization Technology) или AMD-V.

Теперь вам нужно выполнить обновление WSL до версии 2. Для этого требуется зайти на сайт https://docs.microsoft.com/ru-ru/windows/wsl/wsl2-kernel, скачать файл wsl_update_x64.msi, установить его. По завершении увидите картинку

windows subsyste for linux update setup

Чтобы сделать WSL2 архитектурой по умолчанию для новых дистрибутивов, в PowerShell выполните команду:

wsl --set-default-version 2

Далее вам необходимо открыть Microsoft Store, в поиске ввести слово “Linux”. В появившемся списке выберите нужный дистрибутив. Доступные Ubuntu, Debian, Kali Linux, Linux Cheatsheet, SUSE Linux Enterprise Server15, openSUSE Leap 15-1, Pengwin Enterprise, Fedora Remix for WSL или другие. В нашем примере мы будем использовать Ubuntu 20.04 LTS, нажмите кнопку Получить.

образы linux для wsl в microsoft store

Если у вас отключен Windows Store или вы хотите установить дистрибутив WSL в Core редакции Windows Server, вы можете скачать дистрибутив Ubuntu с помощью PowerShell командлета Invoke-WebRequest:

Invoke-WebRequest https://aka.ms/wslubuntu2004 -OutFile ubuntu-2004.zip –UseBasicParsing

Распакуйте архив:

Expand-Archive -Path .ubuntu-2004.zip

Запустите установку образа Linux с помощью файла Ubuntu.exe.

Также вы можете скачать образ в виде appx файла и установить его с помощью командлета Add-AppxPackage.

После установки можно проверить используемую версию WSL с помощью команды

wsl --list –-verbose

wsl --list –-verbose список доступных образов linux

Если у вашей среды Linux указана версия 1, нужно изменить ее на WSL2 командой:

wsl --set-version Ubuntu-20.04 2

Файл жёсткого диска с образом виртуальной машины ОС Linux Ubuntu 20.04 будет располагаться в профиле пользователя: C:Users234AppDataLocalPackagesCanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgscLocalState.

После установки дистрибутива в стартовом меню появляется ярлык на него. Для запуска Ubuntu зайдите в меню Пуск, нажмите на соответствующем ярлыке и получите в отдельном окне полноценную командную оболочку Bash. Запускать WSL можно и с помощью команды wsl. При первом запуске образа в командной строке Bash вам будет предложено создать пользователя и пароль (которые не должны совпадать с учётной записью Windows). Чтобы выполнять команды с правами root, необходимо использовать дополнительный ключ (префикс) sudo. В WSL есть общие команды для Bash и CMD, и тут нужно не забывать, что система Linux чувствительна к регистру.

Вы можете выполнить Linux-команды из CMD. Для этого необходимо вначале указать “WSL”. Например, для просмотра списка файлов и папок в каталоге Windows, выполните:

wsl
ls /mnt
ls/mnt/c

запуск команд linux в windows
dir | wsl grep Sa
wsl ls ‑la > 123.txt
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”

команды linux

Также вы можете открыть проводник командой explorer.exe, калькулятор – calc.exe, блокнот – notepad.exe, paint – mspaint.exe, календарь – cal, погоду – curl wttr.in

запуск команд linux в windows 10 subsystem for linux

Ещё один пример взаимосвязи 2х систем – вы можете открыть в Windows файл из WSL-дистрибутива по сетевому пути. Для этого в CMD наберите путь к файлу:

notepad \wsl$Ubuntu-20.04home1122.txt

Из окна консоли вы можете обновить список пакетов в Ubuntu с помощью команд:

sudo apt-get update
sudo apt-get upgrade

После обновления Ubuntu папка …/LocalState будет занимать 1.5 Гб.

Из командной строки Linux можно не только просмотреть Windows-файлы и каталоги, но и получить к ним доступ. Чтобы удобнее копировать файлы, просматривать директории и их содержимое, установите файловый менеджер Midnight Commander с помощью команды

sudo apt-get install mc

Вы можете запустить Midnight Commander как в командной оболочке Bash, так и внутри CMD. На скриншоте ниже показано, что в двух панелях MC показывается список файлов с обеих ОС.

Midnight Commander в windows 10 wsl2

Можно отобрахить сетевые настройки (IP адрес) IP-адрес Linux-системы:

ip addr | grep eth0

запуск команд linux из windows

В WSL не предусмотрена работа приложений с графическим интерфейсом. Тем не менее вы можете попробовать их установить и использовать. Чтобы запускать графические приложения в Linux, нужно скачать и установить в Windows программу VcXsrv Windows X Server (https://sourceforge.net/projects/vcxsrv/).

VcXsrv Windows X Server

С помощью пакетного менеджера apt-get установим несколько графических программ: например, браузер, текстовый редактор или что-то ещё:

sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app

Затем создайте файл в директории root:

cd /~
vim .bash_login

впишите строку

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

сохраните запись

Esc -> :wr -> :q

Теперь можете запустить графические программы Linux через WSL командами:

firefox

или

gedit

запуск браузера firefox через WSL 2 в Windows 10

запуск графического редактора gedit в WSL

Вы можете установить в Windows 10 несколько дистрибутивов Linux и запускать одновременно в разных окнах WSL. Вывести весь перечень установленных дистрибутивов можете с помощью команды:

wsl --list –all

чтобы завершить работу всех запущенных дистрибутивов и ядра WSL 2, выполните команду:

wsl --shutdown

Windows Subsystem for Linux (WSL) — очень полезная возможность, которую Microsoft добавила в Windows 10 в 2017 году. Она позволяет разработчикам запускать среды GNU/Linux непосредственно в Windows, не требуя виртуальных машин (VM) или конфигураций с двойной загрузкой. Конечно, эта функция присутствует и в Windows 11. Ранее для включения WSL использовалось диалоговое окно «Включение или отключение компонентов Windows», но теперь Microsoft выпустила специальное приложение для WSL через Microsoft Store в Windows 11.

Приложение WSL в настоящее время доступно в виде предварительной версии в Microsoft Store для Windows 11. Microsoft отметила, что распространение WSL с помощью этого метода дает два взаимосвязанных преимущества. Во-первых, вы получите доступ к функциям быстрее, поскольку WSL можно обновлять прямо из магазина. Это также тесно связано со вторым преимуществом, когда WSL отделена от компонента Windows, а это означает, что вам не придется обновлять или изменять установку Windows только потому, что WSL получает новые функции.

Microsoft отметила, что она уже добавила некоторые новые возможности в предварительную версию WSL в Microsoft Store. Это:

• WSLg теперь входит в состав приложения WSL!;
• Новые функции wsl.exe —mount!;
• Добавляйте —mount —vhd, чтобы упростить монтирование файлов VHD;
• Реализуйте обнаружение файловой системы для wsl —mount. Это изменение реализует определение типа файловой системы, если при использовании wsl.exe —mount не указан —type;
• Добавляйте функцию —name в wsl —mount. Это изменение добавляет поддержку для необязательного наименования точки монтирования при монтировании диска через WSL;
• Ядро Linux обновлено до версии 5.10.60.1;
• Добавлена вспомогательная функция индикатора выполнения, используемая для отображения сообщения «Пожалуйста, подождите» с анимированными точками в процессе преобразования, чтобы показать пользователям, что WSL все еще работает;
• Переключено wsl —install, чтобы не требовать аргумент —distribution. Это изменение переключает wsl —install, чтобы не требовать аргумент —distribution, но поддерживает поддержку, чтобы избежать нарушения существующих сценариев.
• Добавлена команда wsl.exe —version, которая отображает соответствующую информацию о версии;

Важно отметить, что версия WSL для Windows и аналог WSL для Microsoft Store могут сосуществовать и будут иметь доступ к одним и тем же дистрибутивам. Однако вариант из Microsoft Store будет иметь приоритет. Можно использовать дистрибутивы WSL 1, но в качестве предварительного условия вам необходимо убедиться, что WSL также включена в Windows, поскольку связанный драйвер еще не отделен от ОС.

Интересно, что Microsoft отметила, что будет продвигать версию WSL для Microsoft Store как оптимальный способ задействовать эту возможность на вашем компьютере с Windows 11, поскольку это обеспечит более быструю частоту обновления. Однако те, кто использует версию для Windows, по-прежнему поддерживаются. Компания будет использовать отзывы, чтобы определить целесообразность включения WSL в образ Windows.

Вы можете загрузить

Windows Subsystem for Linux Preview из Microsoft Store для Windows 11 здесь

.

Как настроить полноценное окружение разработчика, привыкшего к Linux и Mac OS X.

Традиционно считается, что разработчики (в особенности связанные с бэкенд-разработкой) предпочитают использовать unix-like-системы. Причиной тому было немало. Ситуация начала несколько меняться в 2017 году — именно тогда вышел первый стабильный релиз Windows Subsystem for Linux (также известен под более ранним названием BashOnWindows), который дал разработчикам то, чего они так давно ждали, — полноценный Linux в качестве приложения в Windows!

Но не всё оказалось так просто — лишь к концу 2018 года WSL стало возможно использовать полноценно, при этом способ отнюдь не очевиден. О нём и пойдёт речь.

Конечная цель

Для начала пара слов о том, что такое вообще Windows Subsystem for Linux, он же WSL в сокращённом варианте. Это прослойка между ядром Windows и приложениями для Linux, которая позволяет преобразовывать системные вызовы к ядру Linux в вызовы к ядру Windows. Благодаря тому, что виртуализация практически отсутствует, такое решение работает быстрее традиционной виртуализации, где эмулируется целый компьютер, как это происходит в Oracle VirtualBox и VMWare Player.

Кроме того, WSL включает в себя целый ряд утилит для интеграции с Windows — пути в файловой системе автоматически преобразовываются в нужный формат, из-под Linux можно запускать приложения в Windows (но не наоборот!), Linux в WSL имеет доступ ко всем портам и сервисам в Windows.

Для разработчика основное применение WSL сразу же видится в развёртывании среды разработки именно там. Всё же установка многих языков, компиляторов и интерпретаторов, утилит происходит в Linux куда проще — часто одной командой из репозитория. Да и привычная консоль под рукой.

В статье будет рассматриваться именно настройка среды разработки в WSL — для примера возьмём небольшой проект, написанный на Python/Angular/Go (а почему бы и нет?), разрабатываемый в Visual Studio Code. Однако описанные рекомендации в целом подойдут для любого другого редактора или IDE.

Установка для Windows 10 x64

Важный момент: WSL официально поддерживается только в Windows 10 x64, начиная с Anniversary Update. Если у вас иная версия — альтернативное решение представлено в следующем разделе.

  • Включить поддержку Windows Subsystem for Unix, открыв PowerShell от администратора и выполнив команду:

PS C:Windowssystem32> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

  • Если у вас установлена десктопная редакция Windows 10: зайти в Microsoft Store и установить необходимый вам дистрибутив. Для нашего эксперимента будет использована Ubuntu 18.04 LTS. Затем вы сможете запустить ваш дистрибутив через меню «Пуск».
  • Если у вас установлена иная редакция Windows, без Microsoft Store (например, Windows 10 LTSC либо Windows Server): в PowerShell выполнить следующие команды:

PS C:Windowssystem32> cd ~
PS C:Userssomebody> Rename-Item .Ubuntu.appx .Ubuntu.zip
PS C:Userssomebody> Expand-Archive .Ubuntu.zip .Ubuntu
PS C:Userssomebody> cd .Ubuntu
PS C:Userssomebody> .ubuntu1804.exe

При первом запуске необходимо задать ваши логин и пароль.

vagrant up

Далее уже вам откроется консоль с Ubuntu.

Установка для 32-битных редакций Windows 10 и Windows 7, 8 и 8.1

К сожалению, на этих редакциях WSL не поддерживается. Но мы можем без особого труда заменить его Vagrant — мощной утилитой для конфигурирования виртуальных машин. Vagrant работает поверх других сред виртуализации: VirtualBox, VMWare Player или Microsoft Hyper-V. Поэтому стоит понимать, что такой вариант будет по умолчанию медленнее, нежели WSL. А в случае с VirtualBox значительно медленнее из-за файловой системы vboxsf.

Установить Vagrant можно с официального сайта. Также вам потребуется VirtualBox и Git. После этого создайте папку для вашей виртуальной машины, в ней создайте файл Vagrantfile со следующим содержимым:

Vagrant.configure(«2») do |config|
config.vm.box = «bento/ubuntu-18.04»
config.vm.synced_folder «c:/», «/windows»
# Необходимо указать для каждого порта, который вы хотите расшарить из ВМ или в ВМ
config.vm.network :forwarded_port, host: 5432, guest: 5432
config.vm.provider «virtualbox» do |vb|
vb.memory = 2048
end
end

После чего в том же PowerShell или cmd выполните команду:

vagrant up

После загрузки, настройки и запуска виртуальной машины вы попадёте в консоль Linux. Ура!

Устанавливаем всякие скучные вещи

Разворачиваем наше окружение под Python/JS/Go.

:~$ sudo apt update
:~$ sudo apt install build-essential
:~$ sudo apt install -y git nodejs golang python-dev libreadline-dev libbz2-dev libssl-dev libsqlite3-dev libxslt1-dev libxml2-dev libffi-dev
:~$ curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
:~$ # Инсталлятор попросит вас добавить загрузку pyenv в ~/.bashrc
:~$ source ~/.bashrc
:~$ pyenv install 3.7.2
:~$ pyenv global 3.7.2

Быстро проверяем работоспособность версий и, собственно, версии:

:~$ nodejs -v
v8.10.0
:~$ go version
go version go1.10.4 linux/amd64
:~$ python -V
Python 3.7.2
:~$

Неужели всё уже работает?

Конечно нет.

Сразу стоит отметить важный факт: ни Visual Studio Code, ни Sublime Text, ни даже ваша любимая IDE ничего не знают о существовании WSL. Из коробки более-менее с ним умеют работать только продукты от JetBrains. Лично мне Visual Studio Code по настройке, скорости работы нравится куда больше (но это текстовый редактор, о чём не стоит забывать).

И единственное, что вы можете сделать в Visual Studio Code, установленной на Windows, — подключить себе WSL вместо стандартного PowerShell в терминале. Это делается в User Settings:

{
«terminal.integrated.shell.windows»: «C:\Windows\System32\wsl.exe»,
# Добавьте сюда иные настройки по вашему усмотрению
}

На этом всё. Про линтер, автодополнение кода из библиотек, подсветку ошибок можете забыть, по крайней мере для Python. Способа решения сообщество ждёт вот уже три года. Сейчас самый простой и действенный способ заставить его работать — установить в WSL.

  • Установите MobaXterm и Cmder. Конечно, вы можете по своему выбору заменить их на альтернативные приложения. MobaXterm — мощный SSH-терминал со встроенным X-сервером, что позволяет ему рендерить приложения, которые запускаются на удалённом X-сервере (в данном случае — внутри WSL). Cmder — локальный эмулятор терминала с поддержкой PowerShell, cmd, bash, WSL и не только, с нормальным копипастом.
  • Запустите Cmder. По умолчанию он запустит cmd, но при двойном клике на нижнюю панель покажет окно, где есть возможные варианты.
  • Нам нужен тот вариант, что отмечен как {WSL::bash}. Он запустит в новой вкладке консоль внутри WSL.
  • Запустите MobaXterm. Он сразу же увидит WSL, установленную в системе. Для запуска X-сервера нажмите выделенную на скриншоте кнопку.
  • Настроим WSL для запуска GUI-приложений. Для этого откройте файл ~/.bashrc и допишите в него:

export DISPLAY=:0

  • После этого выполните команду source ~/.bashrc для применения изменений.
  • Не обязательно, но желательно установить XFCE (или другой DE на ваш вкус), а также поставить шрифты, иначе от внешнего вида VS Code у вас, возможно, вытекут глаза. По крайней мере, люди жалуются.

:~$ sudo apt install -y xfce4
:~$ sudo apt install -y fonts-noto fonts-noto-hinted fonts-noto-mono fonts-noto-unhinted

  • Скачайте установщик Visual Studio Code с официального сайта.
  • Установите зависимости и сам VS Code:

:~$ sudo apt install libgtk2.0-0 libxss1 libasound2
:~$ sudo dpkg -i <code deb file>
:~$ sudo apt install -f

  • Запустите VS Code при помощи команды code.

Вот теперь работает :) Ещё более кратко и по сути расписано вот тут.

Однако до совершенства есть ещё один штрих.

{

«window.titleBarStyle»: «native»,

}

Добавьте приведённую выше настройку в User Settings. В противном случае окно VS Code не будет ресайзиться.

А ты ещё докажи, что работает

Разворачивается оно стандартно для подобного рода проектов.

# You are on a project root
:~$ python -m venv env/
:~$ source env/bin/activate
:~$ pip install -r requirements.txt
:~$ cd frontend
:~$ npm install
:~$ ng build outDir=../backend/microblog/static
:~$ cd ../backend
:~$ python manage.py runserver

Отличия в настройке между Vagrant и WSL

Единственное существенное различие в контексте статьи — необходимость пробрасывать порты в хостовую файловую систему. По умолчанию Vagrant поднимает SSH-туннель на порту 2222 — именно туда вам будет необходимо логиниться из Cmder и добавить соответствующее соединение в MobaXterm.

Более подробно об использовании Vagrant с MobaXterm можно прочитать по ссылке.

Итоги

Но стоит заметить, что даже подобные извращения могут помочь многим людям, вынужденно сталкивающимися с… не всегда очевидным поведением новой технологии от Microsoft.

Упоминаются ли Linux и Windows вместе?

Если да, то что это за объединение?

Может ли это быть чем-то, что позволит преодолеть разрыв между двумя мирами?

В прошлом люди, использующие технологический стек Microsoft, применяли Windows в качестве среды разработки, в то время как другие, более заинтересованные в сообществе разработчиков с открытым исходным кодом, предпочитали Linux.

До появления подсистемы Windows для Linux (WSL) между ними существовала четкая пропасть, и они никогда ничем не делились.

Но с появлением WSL разработчики теперь могут работать в Linux на своем настольном компьютере версии Windows 10 с помощью подсистемы Windows Subsystem for Linux или Windows WSL.

Запуск системы Linux рядом с системой Windows значительно упрощается и становится более гибким благодаря WSL.

Kali Linux в подсистеме Windows для Linux

Содержание

  1. Что такое подсистема Windows для Linux?
  2. Сравнение WSL1 и WSL2
  3. Для чего нужна подсистема Windows для Linux?
  4. Зачем использовать WSL вместо Linux на виртуальной машине?
  5. Как настроить среду разработки WSL?
  6. Установите дистрибутив Linux
  7. Создание логина и пароля Linux
  8. Обновление и модернизация пакетов
  9. Можно включить больше дистрибутивов
  10. Настройка терминала Windows
  11. Хранение файлов
  12. Выберите редактор кода
  13. Использование Visual Studio Code
  14. Использование Visual Studio
  15. Использование Git для управления версиями
  16. Настройка Docker для удаленной разработки
  17. Создание базы данных
  18. Настройка GPU
  19. Используйте основные команды WSL
  20. Монтирование внешнего диска или USB
  21. Запуск приложений с графическим интерфейсом Linux
  22. Плюсы и минусы использования подсистемы Windows для Linux
  23. Плюсы
  24. Минусы
  25. Заключение

Что такое подсистема Windows для Linux?

Подсистема Windows Subsystem for Linux (WSL) позволяет исполняемым файлам Linux 64-разрядного формата (ELF64) работать на ядре Windows в операционной системе (ОС) Windows 10.

WSL – это компонент, который позволяет использовать средства разработки Linux на компьютерах Windows, но не рабочие нагрузки.

Изначально он был разработан как вариант установки клиентской системы Windows.

Для администрирования экземпляра Linux в состав WSL входит служба управления сеансами в пользовательском режиме, уменьшенные процессы Pico для обработки системных вызовов Linux и драйверы Pico для имитации ядра Linux.

Такая архитектура позволяет ядру Windows принимать и обрабатывать системные вызовы Linux.

На прошлой неделе компания Microsoft объявила, что Windows Subsystem for Linux версии 2 (WSL2) теперь совместима с Windows Server 2022.

Основными причинами для перехода с WSL 1 на WSL 2 являются:

  • Ускорение работы файловой системы
  • Поддержка совместимости системных вызовов.

WSL 2 запускает ядро Linux внутри легковесной виртуальной машины с использованием новейшей технологии виртуализации (VM).

Однако WSL 2 не является типичной виртуальной машиной.

Сравнение WSL1 и WSL2

За исключением производительности в файловых системах разных ОС, которую можно решить, храня файлы проекта в той же операционной системе, что и инструменты, используемые для работы над проектом, архитектура WSL 2 по многим параметрам превосходит WSL 1.

Только Windows 11 или 10, версия 1903, Build 18362 или более поздняя поддерживают WSL 2.

Другими ключевыми различиями между обеими версиями являются:

  • Архитектурное различие
  • Производительность ввода-вывода файлов
  • WSL 2 обеспечивает полную совместимость с системными вызовами

На Linux системные вызовы используются для доступа к файлам, запроса памяти и запуска процессов.

В отличие от WSL 1, которая была основана на слое трансляции, созданном командой WSL, WSL 2 имеет встроенное ядро Linux, которое работает со всеми системными вызовами.

Для чего нужна подсистема Windows для Linux?

С помощью подсистемы Windows для Linux вы можете:

  • Выбрать дистрибутивы GNU/Linux, которые вы предпочитаете, из магазина Microsoft.
  • Запустить бинарники ELF-64 или стандартные инструменты командной строки, такие как grep, sed или awk.
  • Запускать программы командной строки GNU/Linux и скрипты оболочки Bash, включая: Инструменты: tmux, emacs и vi, Языки: Go, Rust, NodeJS, Javascript, Python, Ruby, C/C++, C# и F#, Сервисы: PostgreSQL, MongoDB, Apache, MySQL, SSHD и lighttpd.
  • Установить дополнительное программное обеспечение с помощью менеджера пакетов в вашем собственном дистрибутиве GNU/Linux.
  • Использовать оболочку командной строки, аналогичную Unix, для запуска приложений Windows.
  • Запускать программы GNU/Linux на компьютере с Windows.
  • Запускать Linux в оболочке Bash (Ubuntu, Debian, OpenSUSE, Kali, Alpine и т.д.). Вы можете использовать Bash для запуска утилит и программ командной строки Linux.

Зачем использовать WSL вместо Linux на виртуальной машине?

WSL использует меньше ресурсов (процессор, память и хранилище), чем целая виртуальная машина.

Наряду с запуском инструментов и приложений командной строки Linux наряду с приложениями командной строки, рабочего стола и магазина Windows, WSL также позволяет вам получать доступ к файлам Windows из Linux и запускать инструменты и приложения командной строки Linux.

Это позволяет использовать как приложения Windows, так и инструменты командной строки Linux на одном и том же наборе файлов.

Как настроить среду разработки WSL?

В составе операционной системы Windows есть подсистема для Linux, которая называется Windows Subsystem for Linux.

Вот краткое руководство по настройке среды разработки WSL:

Установите дистрибутив Linux

Перед включением WSL установите дистрибутив Linux.

Чтобы воспользоваться преимуществами команды упрощенной установки, вы должны использовать последнюю версию Windows (Build 20262+).

Чтобы узнать, какая у вас версия и номер сборки, нажмите клавишу с логотипом Windows + R, введите winver и нажмите OK.

Обновления можно выполнить через меню Настройки или помощник обновления Windows.

Создание логина и пароля Linux

После завершения процесса установки WSL откройте дистрибутив Linux (по умолчанию Ubuntu).

Для вашего дистрибутива Linux должны быть созданы имена пользователей и пароли.

Обновление и модернизация пакетов

Используйте менеджер пакетов вашего дистрибутива для частого обновления пакетов.

Windows не выполняет автоматических обновлений и модернизаций.

Большинство пользователей Linux предпочитают справляться с этой задачей самостоятельно.

Можно включить больше дистрибутивов

Если вы хотите установить больше дистрибутивов Linux через Microsoft Store, вы можете загрузить свой собственный дистрибутив, использовать команду -import или загрузить свой собственный дистрибутив из Интернета.

Кроме того, вы можете создать уникальные образы WSL и распространить их по всей компании.

Настройка терминала Windows

Любое приложение, имеющее интерфейс командной строки, может быть запущено через терминал Windows.

Механизм рендеринга текста с ускорением GPU, множество вкладок и панелей, совместимость с символами Unicode и UTF-8, возможность создания собственных тем, а также возможность изменения текста, цвета фона и ярлыков – вот лишь некоторые из его ключевых особенностей.

При установке нового дистрибутива WSL Linux внутри терминала Windows будет создан его свежий экземпляр, который можно настроить по своему вкусу.

Хранение файлов

Храните файлы проекта на том же компьютере, что и оборудование, которое вы собираетесь использовать.

Наибольшая скорость работы достигается при сохранении файлов в файловой системе WSL (Ubuntu, OpenSUSE и т.д.).

Для сохранения файлов в файловой системе Windows можно использовать командную строку Windows (PowerShell, Command Prompt) и инструменты Windows.

Хотя файлы можно просматривать из любой операционной системы, производительность может заметно снизиться.

Выберите редактор кода

Поскольку они изначально позволяют осуществлять удаленную разработку и отладку WSL, мы советуем использовать Visual Studio Code или Visual Studio.

С помощью Visual Studio Code вы можете использовать WSL как полнофункциональную среду программирования.

Visual Studio обеспечивает встроенную поддержку WSL для кроссплатформенной разработки на C++.

Использование Visual Studio Code

Вы можете использовать WSL в качестве основной среды разработки из VS Code с помощью расширения Remote – WSL и Visual Studio Code.

После установки и настройки VS Code вы можете использовать удаленный сервер VS Code для запуска вашего WSL-проекта.

Использование Visual Studio

Используя один и тот же экземпляр Visual Studio 2022, вы можете собирать и отлаживать проекты CMake на Windows, WSL-дистрибутивах и SSH-соединениях.

Использование Git для управления версиями

Наиболее распространенная программа управления версиями называется Git.

С помощью Git вы можете отслеживать изменения, которые вы вносите в файлы, чтобы иметь запись о том, что было сделано, и при необходимости вернуться к более старым версиям.

Git также облегчает сотрудничество, позволяя объединять правки нескольких авторов в одном хранилище.

Настройка Docker для удаленной разработки

Docker Desktop предлагает среду разработки для создания, распространения и запуска докеризованных приложений для Windows.

Вы можете запускать контейнеры Linux и Windows в Docker Desktop на одной машине, включив механизм на базе WSL 2.

Создание базы данных

Начните с подключения вашего проекта в WSL к базе данных. С MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server или SQLite вы сможете быстро приступить к работе.

Настройка GPU

Подсистема Windows для Linux (WSL) предоставляет отличную среду для запуска наиболее распространенных и популярных приложений машинного обучения с GPU-ускорением, независимо от того, являетесь ли вы специалистом по исследованию данных, инженером по ML или только начинаете работать с ML. Итак, вашим следующим шагом должна стать установка и запуск GPU.

Используйте основные команды WSL

Лучший способ администрирования дистрибутивов Linux, установленных через WSL, – это PowerShell или Windows Command Prompt (CMD).

Монтирование внешнего диска или USB

Используйте WSL 2 для монтирования диска и чтения его содержимого, если вам нужен доступ к диску формата Linux, который Windows не поддерживает.

Процедуры поиска диска и раздела для подключения к WSL2, их монтирования и получения доступа к ним рассматриваются в этом уроке.

Запуск приложений с графическим интерфейсом Linux

Чтобы запускать программы Linux GUI (X11 и Wayland) на Windows в полностью интегрированной среде рабочего стола, теперь вы можете изучить совместимость с Windows Subsystem for Linux (WSL).

Благодаря WSL 2 приложения с графическим интерфейсом Linux на Windows теперь могут ощущаться как родные и интуитивно понятные.

Плюсы и минусы использования подсистемы Windows для Linux

Вот некоторые плюсы и минусы использования Windows Subsystem для Linux.

Плюсы

Идеально подходит для разработчиков, использующих инструменты с открытым исходным кодом

Если вы разработчик, уже использующий инструменты с открытым исходным кодом, ничто не сравнится с подсистемой Windows для Linux.

Она идеально подходит для тех, кто хочет использовать существующий язык разработки и инструменты сборки, или для тех, кто хочет воспользоваться преимуществами своих любимых языков программирования, которые могут работать как в Windows, так и в Linux.

В последние годы поддержка Linux со стороны Microsoft постоянно улучшается, но она все еще не настолько совершенна, как при использовании виртуальной машины или контейнера.

Но если вам нужно запустить свой код на нескольких платформах, это один из единственных вариантов, который позволит вам сделать это без необходимости устанавливать что-либо на свой компьютер.

Совместимость Windows-Linux

Совместимость Windows и Linux обеспечивается с помощью WSL.

Файловая система как Windows, так и Linux доступна для просмотра.

Кроме того, они могут запускать программы из командных интерпретаторов друг друга.

Это может привести к появлению некоторых интригующих приложений и, возможно, к переходу от рассмотрения этих двух систем как конкурентов к рассмотрению их как взаимодополняющих параметров.

Проще, чем двойная загрузка или виртуальные машины

Вам не нужно перезагружаться или запускать виртуальную машину, поскольку WSL уже работает в Windows.

При установке системы с двойной загрузкой необходимо оставить место на жестком диске и убедиться, что у вас есть резервный носитель для загрузки в случае, если что-то пойдет не так.

Вы должны перезагрузить систему, если хотите использовать Windows для выполнения программ Linux или наоборот.

Хотя виртуальная машина (VM) является более простой и быстрой в настройке, Windows и Linux сталкиваются с трудностями при обмене данными, поскольку VM все еще является принципиально другой машиной.

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

Простое введение в Linux для пользователей Windows

Для тех, кто не знаком с Linux, WSL может стать лучшей отправной точкой.

Они могут познакомиться с командами Linux, не устанавливая полностью новую операционную систему. WSL можно установить всего несколькими щелчками мыши из магазина Microsoft Store.

Кроме того, это облегчит людям переход на Linux.

Минусы

Вы продолжаете использовать Windows

Поскольку использование WSL все равно подразумевает участие в этой экосистеме, ее использование вызывает возражения у тех, кто идеологически не приемлет Microsoft и проприетарное ПО.

WSL будет поддерживать участие в этой системе.

Для ярых сторонников свободного программного обеспечения не подойдет ничто иное, как ПК под управлением свободной версии GNU/Linux.

WSL создавалась не для серверов

Дистрибутивы не предназначены для работы в качестве серверов, хотя WSL может быть установлена на Windows Server.

Запустить такие серверы, как Apache или MariaDB на Ubuntu сложнее, поскольку система не поддерживается.

Большинство пользователей, которым требуются серверы, устанавливают обычные Linux-серверы, поэтому этот недостаток может быть не столь существенным.

WSL может препятствовать внедрению Linux на настольных компьютерах

Меньшему числу пользователей может понадобиться установка настольной версии Linux, поскольку WSL совместима с Windows.

Учитывая, что у них уже есть настольная система Windows и они могут запускать приложения Linux GUI на Windows, они могут не видеть необходимости в установке совершенно новой настольной ОС.

Предположим, что только крошечный процент пользователей Linux работает с полным рабочим столом.

В этом случае, возможно, не будет прилагаться столько усилий для улучшения совместимости оборудования, что может только усугубить проблемы с рабочим столом Linux.

Заключение

В своем нынешнем виде WSL – это довольно крутой прогресс в Windows.

Разработчики, работающие в Windows, могут получить доступ к среде Linux благодаря Windows Subsystem for Linux.

WSL предлагает ядро Linux и позволяет установить несколько дистрибутивов внутри среды Windows, устраняя необходимость запускать виртуальную машину или полагаться на удаленный компьютер с Linux для разработки.

Конечная цель – предоставить простой способ запуска Linux в Windows.

Самое главное, WSL не занимает много памяти (например, около 256 МБ для Bash), что означает, что ваша машина может работать быстрее и плавнее.

Microsoft выпустила предварительную версию Windows Subsystem for Linux (WSL) в магазине приложений Microsoft Store для Windows 11, чтобы протестировать новый способ доставки обновлений для подсистемы. Ранее WSL являлся дополнительной функцией для Windows 10 и Windows 11, которую можно было установить через приложение «Параметры», однако в таком варианте подсистема обновлялась лишь вместе с обновлениями ОС, а значит и новые функции внедрялись медленно.

Теперь же WSL будет обновляться через Microsoft Store, так что пользователи Windows 11 смогут чаще получать обновления и, следовательно, новые функции.

Предварительная версия Windows Subsystem for Linux в Microsoft Store включает в себя несколько новых функций, в том числе обновлённое ядро Linux (5.10.60.1) и компонент WSLg, позволяющий запускать Linux-приложения с графическим интерфейсом.

Windows Subsystem for Linux теперь доступен в Microsoft Store для Windows 11

Но важно отметить, что версия из Microsoft Store не поддерживает WSL 1, поэтому для дистрибутивов, установленных на первое поколение подсистемы, по-прежнему требуется компонент WSL, включаемый в приложении «Параметры». Компонент и версию из Microsoft Store можно использовать одновременно, так что это не самая большая проблема.

Скачать предварительную версию Windows Subsystem for Linux (WSL) можно из Microsoft Store, перейдя по этой ссылке.

Новые функции в Windows Subsystem for Linux (WSL) Preview:

  • WSLg теперь является частью приложения WSL.
  • Новые функции wsl.exe --mount:
    • Добавлена параметр --mount --vhd для упрощения монтирования VHD.
    • Реализовано определение файловой системы для wsl --mount. Это изменение реализует определение типа файловой системы, если при использовании wsl.exe --mount не используется параметр --type.
    • Добавлен параметр --name в wsl --mount. Он добавляет поддержку необязательного указания точки монтирования диска.
  • Ядро Linux обновлено до версии 5.10.60.1.
  • Добавлена вспомогательная функция индикатора выполнения, используемая для отображения сообщения «Пожалуйста, подождите» с анимированными точками в процессе преобразования, чтобы показать пользователям, что WSL всё еще работает.
  • Изменена команда wsl --install, чтобы она не требовала аргумента --distribution. При этом поддержку самого параметра оставили, чтобы имеющиеся сценарии продолжали работать.
  • Добавлена команда wsl.exe --version, которая отображает соответствующую информацию о версии.

Понравилась статья? Поделить с друзьями:
  • Windows subsystem for linux has no installed distributions
  • Windows subsystem for linux command reference скачать
  • Windows subsystem for linux 2 wsl2
  • Windows steadystate аналог для windows 7
  • Windows startup and shutdown sounds lost effect