Показать статистику
0 голосов
от (1.7тыс. баллов)
Расскажите пожалуйста, что такое WSL. Кто нибудь использовал WSL для запуска Линукс приложений в Windows?
511 просмотров 1 ответов

1 Ответ

0 голосов
от (4.6тыс. баллов)

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

Что позволяет WSL?

  • Выбрать нужный вам дистрибутив Linux из Microsoft Store (ссылка работает только на Windows, т.к. ссылается на "магазин приложений Windows")
  • Запускать утилиты командной строки, такие как grep, sed, awk и другие исполняемые файлы ELF-64
  • Выполнять скпипты на Bash и другие подобные приложения, такие как:
    • Редакторы и утилиты: vim, emacs, tmux
    • Языки программирования: NodeJS, JavaScript, Python, C/C++, C#, F#, Rust, Go и другие
    • Сервисы: SSHD, MySQL, Apachr, lighthttps, MongoDB, PostreSQL
  • Устанавливать дополнительный софт с помощью менеджера пакетов из выбранного Linux дистрибутива
  • Вызывать windows приложения из командной строки Linux
  • Вызывать приложения Linux непосредственно из Windows

Что такое WSL 1 ?

Оригинальная версия WSL теперь известна как WSL1. WSL1 - это специальная "прослойка совместимости" для запуска двоичных исполняемых файлов (ELF) Linux непосредственно в Windows 10. Повторная компиляция или «перенос» приложений не требуется. WSL1 предоставляет Linux-совместимый интерфейс ядра, разработанный Microsoft, который позволяет пользователю выбрать дистрибутив Linux для установки из Microsoft Store. 

WSL1 выполняет немодифицированные двоичные файлы Linux ELF64, управляя интерфейсом ядра Linux поверх ядра Windows в Windows 10. Интерфейс WSL1 переводит системные вызовы Linux из двоичных файлов в системные вызовы Windows, а затем выполняет их с собственной скоростью. Приложения Linux работают в рамках дистрибутива Linux, который обеспечивает зависимости приложений и управление пакетами в среде, подобной контейнеру. WSL предоставляет интерфейс для монтирования дисков в WSL.

Что такое WSL 2 ?

WSL 2 - это новая версия подсистемы Windows для архитектуры Linux, которая позволяет подсистеме Windows для Linux запускать двоичные файлы ELF64 Linux в Windows. Его основные цели - повысить производительность файловой системы, а также добавить полную совместимость с системными вызовами.

Эта новая архитектура меняет способ взаимодействия этих исполняемых файлов Linux с Windows и оборудованием вашего компьютера, но по-прежнему обеспечивает тот же пользовательский интерфейс, что и в WSL 1 (текущая широко доступная версия). Отдельные дистрибутивы Linux можно запускать с архитектурой WSL 1 или WSL 2. Каждый дистрибутив можно обновить или понизить в любое время, и вы можете запускать дистрибутивы WSL 1 и WSL 2 одновременно. WSL 2 использует совершенно новую архитектуру, которая выигрывает от запуска реального ядра Linux.

Как установить WSL ?

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

  • Windows 10 version 2004 или выше (Build 19041 и выше) или Windows 11.

Существует специальная инструкция по установке WSL на более ранние версии Windows.

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

wsl --install

Эта команда включит необходимые дополнительные компоненты, загрузит последнюю версию ядра Linux, установит WSL 2 по умолчанию и установит для вас дистрибутив Linux (по умолчанию Ubuntu). При первом запуске только что установленного дистрибутива Linux откроется окно консоли, и вам будет предложено подождать, пока файлы будут распакованы и сохранены на вашем компьютере. Все будущие запуски должны занять менее секунды.

Как изменить дистрибутив Линукс который идет по умолчанию на нужный вам

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

  • Что бы изменить установленный дистрибутив, выполните: 
    wsl --install -d <Distribution Name>

    Вместо <Distribution Name> укажите нужный вам дистрибутив Linux

  • Что бы узнать список всех поддерживаемых дистрибутивов Линукс, выполните команду: 
    wsl --list --online

    Либо можно выполнить wsl -l -o

  • Что бы установить дополнительные дистрибутивы Linux в дополнение к уже установленным, выполните команду 
    wsl --install -d <Distribution Name>

    Если вы хотите установить дополнительные дистрибутивы непосредственно из командной строки Bash в Linux (вместо powershell в Windows), тогда необходимо выполнить команду с указанием расширения windows-файла:

    wsl.exe --install -d <Distribution Name>

     

...