Перейти до вмісту

Windows Subsystem for Linux

Матеріал з K2 ERP Wiki

Це комфортно для відкриття Linux-файлів у File Explorer або редакторах.; | Повільніший.; |- | Fedora Remix | Fedora-подібне середовище у WSL.; | Linux.;== 28.; WSL для кібербезпеки ==


systemd корисний для:

`wsl.conf` — про конкретний Linux-дистрибутив.; | Корисно для Windows-native development tools.;

5.; але мати нормальні Linux-інструменти поруч.; 3.; |- | “WSL забирає багато RAM” | WSL 2 VM має змогу кешувати пам'ять.; |- | 2022

| WSL почав активніше поширюватися через Microsoft Store.; !;

+

</div>

wsl --list --verbose
Імпорт:
'''WSL 2''' — сучасна основна технічна архітектура WSL.; |-
| 2016
| WSL 1 дозволив запускати Linux userland через compatibility layer без повного Linux-ядра.; WSL 2 краще обрати, якщо:
WSL став символом іншої епохи:

Замість цього WSL 1 перекладав Linux system calls у Windows NT kernel interfaces.;<pre>

Рекомендовані практики: /etc/wsl.conf

У 2026 році WSL є собою одним із найважливіших developer tools у Windows.; Увімкнути systemd, якщо потрібно.; | Ні, якщо завантажений Linux.; |}

WSL особливо популярний серед розробників, які працюють на Windows, але мають проєкти, орієнтовані на Linux-сервери, cloud, containers або open source tooling.;== 10.; Коли краще WSL 2 ==



* Git;
* SSH;
* Docker CLI;
* kubectl;
* helm;
* Terraform;
* Ansible;
* Python;
* Go;
* jq;
* yq;
* curl;
* make;
* gcc;
* cloud CLIs;
* bash scripts.; |-
| “Docker не функціонує”
| Потрібен WSL 2 backend і правильна інтеграційні функціональні можливості.; | POSIX-like середовище поверх Windows.; |-
| Developer convenience на Windows
| Дуже висока.;[[DevOps]]
<pre>
Але WSL 1 має змогу бути корисним, якщо:

 +--> Ubuntu tab
Linux-файли можна відкрити з Windows через:
Це істотно не плутати.; |-
| WSLg
| Можна запускати Linux GUI apps.; |-
| systemd
| Ні.; wsl --shutdown

Я хочу залишитися у Windows,

7.; |- | Dev workflow | Дуже зручний.; |}

+--> VS Code Remote WSL

wsl --export Ubuntu ubuntu-backup.tar

18.; systemd у WSL

wsl --install -d Ubuntu

|- | Перемикання

| Без перезавантаження.;

pip install -r requirements.txt

  • потрібна сучасна Linux-сумісність;
  • потрібен Docker Desktop;
  • потрібен systemd;
  • потрібні Linux GUI apps;
  • проєкт зберігається всередині Linux filesystem;
  • потрібні сучасні DevOps-інструменти;
  • потрібна робота з containers;
  • потрібні Python/Node.js/Rust/Go development workflows;
  • потрібне середовище, близьке до Linux-сервера.; 2.; !; Критерій

І, як завжди, будь-яке security-тестування має бути легальним і виконуватися тільки на власних або дозволених системах.; Критерій

/home/user/project

Увімкнення systemd у дистрибутиві має змогу виглядати так:

якщо пакет встановлений.; |- | Oracle Linux | Enterprise Linux-сценарії в Oracle ecosystem.; |- | Hardware access | Обмежений.; |- | Docker Desktop integration | Дуже комфортно для container development.;</syntaxhighlight>

openSUSE

17.; Цікавий факт: правильне місце для коду дуже важливе

~/projects/my-app

!; wsl --shutdown |- | “npm install дуже повільний” | Проєкт лежить на /mnt/c.; Cygwin / MSYS2

4.; історичний розвиток

Віртуалізація

== 21. Windows Terminal ==

wsl --set-version Ubuntu 2
Сучасний спосіб встановлення:

!; Значення

== 39.; Порівняння з dual boot ==
swap=2GB
У WSL є собою два різні конфігураційні світи:

1.; Дистрибутив
|-
| Ubuntu
| Найпопулярніший і найзручніший старт для більшості користувачів.; !; ip addr
|-
| 2016
| Microsoft представила першу версію Windows Subsystem for Linux для Windows 10.; Оновити WSL:
== 25.; DevOps-сценарії ==
Це корисно для:

!; | Потрібне перезавантаження.; * Linux tools у Windows;
* WSL 2 з реальним Linux kernel;
* просте встановлення;
* кілька дистрибутивів одночасно;
* VS Code Remote WSL;
* Docker Desktop integration;
* WSLg;
* systemd;
* зручність для DevOps і web development;
* хороший старт для вивчення Linux.; Приклади:

  • потрібен production Linux server;
  • потрібен повний Linux desktop;
  • потрібен глибокий kernel development;
  • потрібен повний hardware access;
  • потрібні складні USB/RF/GPU-сценарії;
  • потрібно тестувати саме native Linux behavior;
  • потрібна максимальна ізоляція;
  • Windows не потрібен у workflow.; |-

| “systemctl не функціонує” | systemd не ввімкнений або старий WSL.; {| class="wikitable"

як ілюстрація:

41.; Порівняння з Cygwin і MSYS2

|

\\wsl.localhost\ WSL — це компроміс, який виявився дуже вдалим.; Недолік


'''істотно:''' WSL — це не повна заміна нативного Linux у всіх сценаріях.;

32. .wslconfig

Windows Subsystem for Linux

Його використовують для:

WSL з'явився як відповідь на потребу розробників мати Linux-інструменти в Windows.; |- | Рекомендація | Спеціальні випадки.; WSL

  • backup;
  • перенесення середовища;
  • створення копій;
  • лабораторій;
  • експериментів;
  • швидкого відновлення.; Де знаходиться

Перегляд доступних дистрибутивів:

Тобто WSL надає можливість не перемикатися між двома комп'ютерами або двома ОС, а працювати в одному середовищі.; Рік |- | Основна ОС | Windows.; характеристика |- | Linux-інструменти у Windows | Можна використовувати Bash, Git, SSH, Python, Node.js, apt та інші інструменти.; |- | 2019

| Microsoft представила WSL 2 з реальним Linux-ядром у керованій lightweight VM.;


Встановлення конкретного дистрибутива:
{| class="wikitable"
Приклади:

<pre>

python3 -m venv .venv
Запуск конкретного дистрибутива:
<div style="border-left: 6px solid #f57c00; background: #fff3e0; padding: 12px 16px; margin: 16px 0;">

hostname -I

systemd=true wsl --shutdown Ситуація з WSL:

Сучасний WSL 2 підтримує роботу systemd.; | Повний desktop.; |-
| Debian
| Стабільна Debian-база.; |-
| Alpine
| Мінімалістичне середовище.; |-
| systemd
| Більше сумісності з сучасними Linux-дистрибутивами.; * Docker-related workflows;
* snaps у частині сценаріїв;
* system services;
* timers;
* journald;
* dbus;
* developer environments;
* більшої сумісності з Linux-дистрибутивами.; |-
| WSL зручний для Docker Desktop
| WSL 2 backend став стандартним способом роботи з Linux containers у Windows.; | Трохи важчий.;<pre>
[boot]

== 7. WSL 2 ==

[[Ubuntu]]

Windows

WSLg зробив це значно простіше.; |-
| WSL 2 використовує ресурси VM
| Пам'ять і CPU треба контролювати через .wslconfig.;
|
|
+--> Docker workflows
|

33. /etc/wsl.conf

або:

[user]

  • web development;
  • microservices;
  • PostgreSQL у контейнері;
  • Redis;
  • Docker Compose;
  • local Kubernetes;
  • DevOps labs;
  • CI-like testing.; | Реальне Linux-ядро у lightweight VM.; Зберігати Linux-проєкти всередині WSL filesystem.;== 43.; Коли WSL має змогу бути не найкращим вибором ==
{{SEO
|title=Windows Subsystem for Linux — Linux-середовище всередині Windows
|description=Огляд Windows Subsystem for Linux: WSL 1, WSL 2, Linux-дистрибутиви у Windows, systemd, WSLg, Docker, VS Code, DevOps, переваги, недоліки, цікаві факти та порівняння з VM, dual boot і нативним Linux.
|keywords=Windows Subsystem for Linux, WSL, WSL 2, WSL 1, Linux on Windows, Ubuntu WSL, Debian WSL, systemd, WSLg, Docker Desktop, VS Code, Windows Terminal, DevOps
}}
 +--> Linux containers
|-
| .wslconfig
| Windows home directory
| Глобальні параметри WSL 2 VM.; |-
| WSL 2 має реальне Linux-ядро
| Це значно покращило сумісність.; | Так.; | Так, у сучасному WSL.; Windows має змогу бути основною desktop-системою,

4.;Windows Terminal

!; | Використовувати \\wsl.localhost\.;

Краще для Linux-проєктів:

WSL не завжди є собою production Kubernetes-середовищем, але для локальної розробки він дуже практичний.;== 16.; Доступ до Linux-файлів із Windows ==

C:\Users\Name\.wslconfig

42.; Коли варто використовувати WSL

49.; Безпека

!; |}

Windows Terminal

Це корисно для:

Це корисно для:

окрема VM або dual boot для Linux-команд

source .venv/bin/activate

розробників забезпечується через Чому це цікаво: WSL перетворив Windows на зручну платформу; додатково реалізовано яким потрібні і Windows-програми, і Linux-інструменти одночасно: VS Code, Docker, Git, Python, Node.js, Bash, SSH, apt, make, gcc і Kubernetes-утиліти можуть працювати поруч.; systemd=true

Але істотно: WSL не завжди підходить для low-level security work, wireless testing, kernel-level labs або hardware-heavy задач.; !; * ls;

  • cd;
  • grep;
  • find;
  • sed;
  • awk;
  • chmod;
  • chown;
  • ssh;
  • scp;
  • tar;
  • systemctl у WSL 2 з systemd;
  • package managers;
  • shell scripting.;

11.; |- | Зручність для розробки | Дуже висока.; | Перевірити Docker Desktop settings.;

Windows 11

  • machine learning;
  • CUDA workflows;
  • data science;
  • Linux ML tools;
  • Jupyter;
  • PyTorch;
  • TensorFlow;
  • GPU-accelerated development.;

+--> Linux development environment * швидше для Linux tools; * краще для npm, pip, git, compilers; * менше проблем із permissions; * краще для Docker workflows; * ближче до реального Linux-середовища.;<pre> </div> * Node.js; * npm; * pnpm; * yarn; * Python; * Django; * Flask; * FastAPI; * Ruby; * PHP; * Laravel; * Go; * Rust; * PostgreSQL; * Redis; * Docker Compose; * local dev servers.; Файл !;

47.; Цікаві факти

6.; |-

Пакети Пакети Linux-дистрибутива.; npm install

31.; WSL і networking


* повніша сумісність із Linux system calls;
* краща супровід Linux software;
* краща продуктивність Linux filesystem;
* сумісність із Docker Desktop;
* супровід systemd;
* супровід WSLg;
* кращий вибір для більшості modern development workflows.; Встановити WSL 2.; Це корисно для:

<pre>

[[WSL 2]]

Чому?; !; Оновити пакети.; Класична VM
<pre>
Приклад:
!; |-
| Без dual boot
| Не потрібно перезавантажуватися між Windows і Linux.; | Повний контроль над системою.;== 37.; Недоліки WSL ==

== 29.; WSL і GPU ==

<pre>

* web development;
* backend development;
* cloud development;
* DevOps;
* Docker;
* Kubernetes;
* scripting;
* Python/Node.js/Rust/Go;
* Linux learning;
* data science;
* AI/ML у відповідних GPU-сценаріях;
* security labs у дозволених умовах;
* cross-platform development.; Характеристика

<pre>

  • потрібно часто працювати саме з файлами на Windows-диску;
  • важлива дуже швидка інтеграційні функціональні можливості з Windows filesystem;
  • потрібне максимально легке середовище;
  • не потрібні Docker, systemd або повна Linux-сумісність;
  • конкретний старий workflow краще функціонує на WSL 1.; Колись Windows і Linux часто сприймалися як конкуренти з різних світів.; !; WSL показав, що для сучасної розробки важливі не “табори”, а зручність інструментів.; Перевага

npm run dev

WSL 1 — перша технічна архітектура Windows Subsystem for Linux.; |-

/etc/wsl.conf Всередині Linux-дистрибутива Поведінку конкретного дистрибутива.;
== 8.; WSL 1 і WSL 2 ==

wsl --set-version Ubuntu 2

== 48.; Людське пояснення: чим є собою WSL ==

WSLg — це компонент WSL для запуску Linux GUI apps у Windows.; характеристика processors=4

wsl --list --online

1.; Загальний характеристика

Встановлення версії WSL для дистрибутива: Типовий workflow:

24.; WSL і Kubernetes

[boot] wsl --install Він не намагається зробити Windows схожою на Linux.;Debian

WSL популярний у DevOps, бо надає можливість запускати Linux tooling без окремого Linux-комп'ютера.;
; WSL часто використовують разом із Windows Terminal.; class="wikitable"

WSL надає можливість експортувати й імпортувати дистрибутиви.; |-

Networking має змогу плутати VPN, firewall і localhost іноді потребують налаштувань.; WSL

Недоліки WSL 2: Типові моменти: systemd

WSL має змогу бути не найкращим варіантом, якщо:

Недоліки WSL 1:

+--> WSL 2 backend

Можна практикувати: Його головні переважні аспекти:

30.; WSL і USB

== 12.; Типові дистрибутиви WSL ==

Вона використовує справжнє Linux-ядро, яке функціонує в керованій lightweight virtual machine.; {| class="wikitable"

wsl --set-default Ubuntu

!; |-
| WSL можна використовувати з кількома дистрибутивами одночасно
| як ілюстрація, Ubuntu, Debian і Kali можуть бути встановлені паралельно.;== 2.; Коротка характеристика ==

6. WSL 1

3.; WSL простими словами


* відкрити Linux-проєкт у VS Code;
* запускати terminal у WSL;
* використовувати Linux dependencies;
* працювати з Git;
* запускати Node.js/Python/Go/Rust tooling у Linux;
* редагувати файли з Windows UI;
* мати зручний bridge між Windows і Linux.; Головні обмеження:

\\wsl.localhost\Ubuntu\home\user

Вищий через розмітку.; wsl -d Ubuntu


Шлях у WSL:

<div style="border-left: 6px solid #2e7d32; background: #e8f5e9; padding: 12px 16px; margin: 16px 0;">
'''Windows Subsystem for Linux''' або '''WSL''' — це компонент Windows, який надає можливість запускати Linux-дистрибутиви всередині Windows.; |}

WSL зручний для Kubernetes-інструментів:

cd ~/projects/site
[[WSL 1]]
[[Visual Studio Code]]
ls /mnt/c
|-
| Linux-середовище
| Реальний Linux userland, WSL 2 — з Linux kernel.; |-
| 2025
| WSL став open source-проєктом на GitHub.; Для розробки, DevOps, scripting і навчання він дуже зручний, але для kernel development, повного desktop Linux, низькорівневого hardware-доступу або production-серверів краще використовувати нативний Linux, VM або окремий сервер.; Робити export backup важливих дистрибутивів.; | Повний.; |}

!; | Значно краща.; |-
| Не production server
| WSL не призначений як основна ОС для production-сервера.; Нативний Linux
<pre>
[automount]
Ключові етапи:
== 22.; VS Code і WSL ==
<pre>
</pre>
__TOC__
 +--> Windows apps
<pre>
code .; {| class="wikitable"

== 50.; WSL у сучасній розробці ==

або:

;== 23.; Docker і WSL 2 ==

53.; Див.; додатково

46.; Базові команди WSL

Назва Windows Subsystem for Linux
Скорочення WSL
Розробник Microsoft
Тип Сумісне Linux-середовище всередині Windows
Платформи Windows 10, Windows 11, Windows Server у відповідних версіях
Основні версії WSL 1, WSL 2
Типове встановлення wsl --install
Типові дистрибутиви Ubuntu, Debian, Kali Linux, openSUSE, Fedora Remix, Alpine та інші
GUI apps WSLg
systemd Підтримується у WSL 2 для сумісних дистрибутивів
Основне призначення розробка програмного забезпечення, DevOps, Linux tooling, scripting, навчання, containers
Головна перевага Linux-інструменти без dual boot і без ручного конфігурація повної VM

WSL найкраще підходить тим, хто функціонує у Windows, але хоче мати Linux-команди, Linux-пакети, Linux-розробку й DevOps-інструменти прямо поруч із Windows-застосунками.; WSL 2 зазвичай кращий вибір.; wsl --import UbuntuDev C:\WSL\UbuntuDev ubuntu-backup.tar

40.; Порівняння з нативним Linux

Fedora

cd ~/projects/my-app

Linux filesystem

Docker

  • Linux graphical editors;
  • GUI utilities;
  • simple Linux desktop apps;
  • plotting tools;
  • development tools;
  • деякі графічні Linux-застосунки.; |-

| DevOps | Краще для Linux/cloud workflows.; Не перетворювати WSL на production-сервер.; wsl -l -v


wsl --install

* CTF;
* scripting;
* Linux CLI;
* Python tools;
* basic network utilities;
* Kali WSL для навчальних лабораторій;
* log parsing;
* forensic file analysis у безпечних сценаріях.; |-
| 2022–2023
| З'явилася офіційна супровід systemd у WSL 2.; * Microsoft;
* Windows;
* Linux shell;
* Ubuntu;
* Debian;
* Bash;
* apt;
* systemd;
* Docker;
* все в одному робочому процесі.; |-
| Kali Linux
| Легальні security labs, навчання й інструменти кібербезпеки.; |-
| Docker
| Обмежено.; У WSL можна встановити різні Linux-дистрибутиви.; Критерій

[[Windows 10]]
default=myuser
memory=8GB

або:

<pre>
завдяки наявності WSLg можна запускати:
Вона не використовувала справжнє Linux-ядро.; | Власні пакети Cygwin/MSYS2.; переважні аспекти WSL 1:

* це все ж VM-подібна технічна архітектура;
* networking іноді потребує розуміння NAT/localhost;
* доступ до файлів Windows має змогу бути повільнішим, ніж робота всередині Linux filesystem;
* використання пам'яті й CPU треба контролювати;
* не всі hardware-сценарії працюють як у нативному Linux.; |-
| Kernel experiments
| Обмежено.; |-
| Повна ізоляція
| Менша.; |-
| WSLg надає можливість запускати Linux GUI apps
| Linux-програми можуть відкриватися як Windows-вікна.; |}

 +--> PowerShell tab

{| class="wikitable"

* основна платформа — Windows;
* потрібні Linux-команди;
* потрібен Bash;
* потрібен Python/Node.js/Go/Rust у Linux-середовищі;
* потрібен Docker Desktop;
* потрібен VS Code Remote WSL;
* потрібно вчити Linux;
* потрібно працювати з Git/SSH;
* потрібні DevOps tools;
* не хочеться dual boot;
* повна VM здається надмірною.; WSL 2

!; |-
| 2026
| WSL залишається одним із головних способів запуску Linux-інструментів у Windows.; |-
| openSUSE
| SUSE/openSUSE ecosystem.; {| class="wikitable"

Один із найсильніших сценаріїв WSL — робота з Visual Studio Code.;== 13.; Керування дистрибутивами ==
Одна з типових помилок WSL-новачків:
Він не намагається в цілому замінити Linux.; |-
| Швидкість Linux filesystem
| Нижча для Linux-heavy workloads.; !; Після зміни:
<pre>

10.;

WSL доцільно використовувати, якщо:

  • localhost часто функціонує між Windows і WSL;
  • WSL 2 використовує VM-подібне мережування;
  • іноді потрібно розуміти IP WSL-дистрибутива;
  • firewall Windows має змогу впливати на доступ;
  • VPN іноді створює проблеми;
  • corporate networks можуть мати особливі обмеження.; !; !; root=/mnt/

8.; Що налаштовує

26.; WSL для веброзробки

WSL можна використовувати для частини security-learning задач:

C:\Users\Name\Desktop

Docker Desktop для Windows активно використовує WSL 2.; |- | Не всі hardware-сценарії працюють | USB, GPU, low-level devices можуть мати обмеження.; |- | “Не бачу файли Linux у Windows” | Шлях неочевидний.; Проблема

Windows-диски доступні у WSL через `/mnt`.; Чому виникає

Файл `/etc/wsl.conf` налаштовує поведінку конкретного Linux-дистрибутива.; Windows для браузера, Office, ігор, Adobe, Visual Studio

  • неповна сумісність із Linux system calls;
  • не всі Linux-програми працюють;
  • гірша сумісність з containers;
  • немає повноцінного Linux kernel behavior;
  • менше підходить для сучасних DevOps-сценаріїв.; |-

| Сумісність | Вища з Linux software.; * оновлювати WSL;

  • оновлювати Linux-дистрибутиви;
  • не запускати випадкові скрипти з інтернету;
  • не працювати постійно від root;
  • зберігати важливі SSH keys обережно;
  • не змішувати production-секрети з тестовими WSL-середовищами;
  • обмежувати доступ до проєктів;
  • використовувати Windows Defender або корпоративні security-політики;
  • не запускати неперевірені Linux GUI apps;
  • робити backup важливих WSL-дистрибутивів;
  • пам'ятати, що WSL інтегрований із Windows, з цієї причини межа між середовищами не така жорстка, як у повній VM.; Використовувати Windows Terminal.; | ключовий вибір для більшості користувачів.; Для таких сценаріїв потрібні сумісні драйвери, Windows-версія, WSL 2 і налаштоване середовище.; Для контейнерів увімкнути Docker Desktop WSL integration.; Встановити Ubuntu або Debian.;

WSLg WSL — дуже зручний спосіб вивчати Linux-команди, якщо основна платформа — Windows.; |- | Ризик для диска | Нижчий.; | Вища для Linux filesystem.; |- | Production server | Не призначений.; |- | Desktop Linux | Не ключовий сценарій.; | Налаштувати .wslconfig.; | Перевірити IP, firewall, binding address.; |- | WSL 2 має справжнє Linux-ядро | Краща сумісність із Linux software.; Пояснення

11.; Встановлення WSL

І для багатьох людей це ідеальний варіант.; Критерій

<pre>
wsl --shutdown
== 38.; Порівняння з віртуальною машиною ==

Це має змогу працювати, але іноді повільніше й проблемніше.; | має змогу бути повільнішим для інтенсивної роботи.; |- | WSL став open source | Це важлива зміна в історії проєкту.; | Висока, але окреме середовище.; | Вища.; Шлях Windows:

|

!; | Повніший.; |}

або коротко:

[[Категорія:Windows]]
Зробити дистрибутив стандартним:
!; wsl --list --verbose


 +--> Linux packages

* embedded development;
* serial devices;
* debugging boards;
* microcontrollers;
* Android development у частині сценаріїв.; |-
| VS Code Remote WSL
| Один із найкращих developer workflows у Windows.; Приклад отримання IP:

[[Windows]]

* Bash;
* Zsh;
* Fish;
* GNU/Linux-команди;
* APT, DNF, pacman або інші package managers залежно від дистрибутива;
* Git;
* SSH;
* Python;
* Node.js;
* Go;
* Rust;
* C/C++;
* Docker tooling;
* Kubernetes CLI;
* Linux development workflows;
* Linux GUI apps через WSLg;
* VS Code Remote WSL;
* systemd у підтримуваних дистрибутивах.; WSL 1
і повторний запуск WSL.; | Можливий.; Можна писати код у VS Code, запускати Bash, використовувати Docker, працювати з Git, тестувати Linux-команди, запускати Python або Node.js, і паралельно з цим не залишати Windows-середовище.; | Перенести код у ~/projects.; |-
| Доступ до Windows-файлів
| Часто швидший.; |-
| інтеграційні функціональні можливості з Windows
| Дуже сильна.; | Обмеженіша.; | Залежить від потреб Windows apps.; |-
| Доступ до Windows apps
| Одночасно.; Для чого

<pre>
Windows Terminal надає можливість:
!;<syntaxhighlight lang="ini">

<pre>

!;== 5.; Цікавий факт: WSL змінив ставлення Microsoft до Linux ==
== 14.; Файлова платформа WSL ==
 +--> SSH tab
|-
| Не повна заміна Linux
| Для kernel, hardware і production-сценаріїв краще нативний Linux або VM.; WSL

Перегляд встановлених дистрибутивів:

== 15.; Доступ до Windows-файлів із Linux ==
Приклад шляху:
Після зміни:

[[Kubernetes]]

Типова схема:
[[WSL]]
Для початку це набагато простіше, ніж dual boot.; C:\Users\Name\Projects
Запуск стандартного дистрибутива:

!; | Увімкнути systemd у /etc/wsl.conf і оновити WSL.;<pre>
Приклад:
wsl --update
<pre>
|-
| технічна архітектура
| Translation layer.; WSL
12.; |-
| Файлова продуктивність залежить від місця зберігання
| Проєкти краще тримати у Linux filesystem, а не на /mnt/c.; |-
| VS Code Remote WSL став дуже популярним workflow
| Редактор у Windows, а tooling і файли — у Linux.; +--> Docker Desktop
Рекомендація для більшості Linux-heavy проєктів:
<pre>
== 27.; WSL для навчання Linux ==
Через '''Remote - WSL''' можна:
а Linux — щоденним інструментом розробника всередині неї.; Але це складніше, ніж у нативному Linux, і не всі USB-сценарії працюють без додаткового конфігурація.; |-
| WSL не є собою production Linux-сервером
| Це developer/workstation-технологія, а не заміна серверної ОС.;
Windows Subsystem for Linux — це технологія, яка надає можливість запускати Linux-середовище всередині Windows без dual boot і без класичної повної VM.;<pre>

це технологія Microsoft, яка надає можливість запускати Linux-середовище безпосередньо у Windows, використовуючи звичайні Linux-команди, shell, утиліти, пакети й інструменти розробника виступає ключовою рисою '''Головна ідея:''' Windows Subsystem for Linux.; xeyes

[[Linux]]

Звичайна ситуація без WSL:

Для багатьох це виглядало майже парадоксально:
== 52.; Джерела ==
<pre>

wsl --update

[wsl2]

wsl

<pre>

</syntaxhighlight>

+--> Debian tab

35.; Імпорт і експорт дистрибутивів

\\wsl$

  • відкривати кілька вкладок;
  • запускати PowerShell;
  • запускати Command Prompt;
  • запускати Ubuntu WSL;
  • запускати Debian WSL;
  • налаштовувати теми;
  • використовувати profiles;
  • працювати з Unicode, Nerd Fonts і modern terminal features.; Подія

!; Створити ~/projects.; | Краще у VM.; Факт

9.; Коли WSL 1 все ще має змогу бути корисним

Приклад:

Операційні системи

Це дуже комфортно для:
|-
| WSL 1 не мав справжнього Linux-ядра
| Він перекладав Linux system calls у Windows-механізми.; |-
| “localhost не функціонує як очікував”
| Networking WSL 2 має особливості.; Відкривати проєкти через code .; переважні аспекти WSL 2:

<syntaxhighlight lang="ini">

<pre>
WSL найкраще функціонує, коли кожен світ використовує свою файлову систему за призначенням.; wsl --import UbuntuDev C:\WSL\UbuntuDev backup.tar

{| class="wikitable"
Це істотно, бо багато Linux-сервісів і tools очікують systemd.; Це не завжди замінює повний Linux desktop, але для багатьох інструментів дуже комфортно.;== 45.; Базовий хороший workflow ==

* не повна заміна нативного Linux;
* не production server OS;
* hardware-доступ обмежений;
* networking має змогу бути складним;
* треба правильно працювати з файловими системами;
* WSL 2 використовує ресурси VM;
* для деяких задач краще VM, dual boot або справжній Linux-сервер.; Як думати про це
9.; Dual boot
і повторно запустити дистрибутив.; |-
| Linux kernel
| WSL 2 має kernel у lightweight VM.; або:

<pre>
`.wslconfig` — про всю WSL 2 машину.; а для Windows-проєктів:

enabled=true Windows


як ілюстрація: /home/user/projects
Він без ускладнень дає розробнику можливість сказати:
!; |-
| 2021
| З'явилася супровід Linux GUI apps через WSLg у Windows 11.; gedit
<div style="border-left: 6px solid #1565c0; background: #e3f2fd; padding: 12px 16px; margin: 16px 0;">

Kali Linux

}

У WSL є собою два важливі світи:

Файл `.wslconfig` у Windows home directory надає можливість налаштовувати WSL 2 VM.; Типовий запуск: wsl --export Ubuntu backup.tar Через WSL можна використовувати:

WSL 2 має змогу використовувати GPU-прискорення у певних сценаріях.; |-

2020 - Linux-сумісність }

зберігати код у Linux filesystem

34.; Цікавий факт: WSL має два рівні конфігурації

WSL не замінює всі Linux-сценарії, але дуже добре закриває щоденну потребу розробника у Linux-інструментах на Windows.;

44.; Типові проблеми новачків

  • Microsoft Learn: Windows Subsystem for Linux Documentation
  • Microsoft Learn: What is Windows Subsystem for Linux
  • Microsoft Learn: Install WSL
  • Microsoft Learn: Comparing WSL 1 and WSL 2
  • Microsoft Learn: Basic commands for WSL
  • Microsoft Learn: WSL release notes
  • Microsoft Learn: WSL kernel release notes
  • Microsoft WSL GitHub repository
  • Visual Studio Code Remote WSL documentation
  • Docker Desktop WSL 2 backend documentation
- Нативний Linux hardware access - Повний Linux desktop Не основна мета.; Приклад:

WSL можна уявити як Linux-робочу зону всередині Windows.; | Добра для окремих UNIX-like tools.; | ключовий варіант для Docker Desktop.; |}

20.; Цікавий факт: WSLg зробив Linux GUI apps майже “рідними” для Windows

+--> Linux terminal
Типові інструменти:
Запуск Дуже швидкий.; Критерій

cd /mnt/c/Users

<pre>

wsl --list --online

* systemd;
* default user;
* automount;
* interop;
* mount options;
* network settings.; /mnt/c/Users/Name/project
wsl --set-default-version 2
== 19. WSLg ==
Експорт:
== 51.; Висновок ==
{| class="wikitable"
== 36.; переважні аспекти WSL ==

Bash

Завершити всі WSL-сесії:

Windows filesystem

і запускати Linux tools через /mnt/c/...; WSL 2 має власну мережеву модель.; Встановити Git, build tools, language runtime.; WSL добре підходить для: /mnt/c/Users/Name/Desktop
  • kubectl;
  • helm;
  • k9s;
  • kind;
  • minikube;
  • Docker Desktop Kubernetes;
  • cloud CLIs;
  • Terraform;
  • Ansible;
  • GitOps tools.; !; Раніше запуск Linux GUI apps у Windows вимагав X server, ручного конфігурація DISPLAY і додаткової магії.; |-
Легше за повну VM }

зберігати Node.js або Python-проєкт у C:\Users\...; |}

WSL 2 має змогу працювати з USB-пристроями через спеціальні механізми підключення.;

у файлі:

  • швидкий старт;
  • мала вага;
  • добра інтеграційні функціональні можливості з Windows-файлами;
  • іноді швидший доступ до файлів на Windows-дисках;
  • не потребує повної virtual machine.; Людське пояснення: WSL — це як мати маленький Linux-термінал прямо всередині Windows, але в сучасному WSL 2 цей “термінал” має змогу бути дуже серйозним середовищем для розробки.;