ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· WSL, прослойки для запуска Linux-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Windows

Компания Microsoft прСдставила выпуск прослойки для запуска Linux-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Windows — WSL 1.0.0 (Windows Subsystem for Linux), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² WSL, поставляСмых Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Store, снят ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ «wsl —install» ΠΈ «wsl —update» ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° использованиС Microsoft Store для установки ΠΈ обновлСния WSL, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ доставку ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с распространСниСм Π² Ρ„ΠΎΡ€ΠΌΠ΅ встроСнного Π² Windows ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. Для возвращСния старой схСмы установки Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ wsl ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° опция «—inbox». ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Π΅Ρ€Π΅Π· Microsoft Store обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборок для Windows 10, Ρ‡Ρ‚ΠΎ Π΄Π°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ этой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°ΠΌ Π² WSL, ΠΊΠ°ΠΊ запуск графичСских Linux-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСмного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° systemd.

ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° wsl.exe, пСрСвСдённая ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ· Microsoft Store, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² состав Π½ΠΎΡΠ±Ρ€ΡŒΡΠΊΠΈΡ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Windows 10 ΠΈ 11 «22H2», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ° ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ (Windows Settings -> «Check for Updates»), ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ автоматичСски Π² сСрСдинС дСкабря. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° установки Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ msi-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Π΅ Π½Π° GitHub.

Для обСспСчСния запуска исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Linux Π² WSL вмСсто ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ²ΡˆΠ΅Π³ΠΎΡΡ эмулятора, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ²ΡˆΠ΅Π³ΠΎ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Linux Π² систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Windows, прСдоставляСтся ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ ядром Linux. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ для WSL ядро основано Π½Π° выпускС ядра Linux 5.10, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ спСцифичными для WSL ΠΏΠ°Ρ‚Ρ‡Π°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для сокращСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ запуска ядра, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ потрСблСния памяти, возвращСния Windows освобоТдённой Linux-процСссами памяти, оставлСния Π² ядрС минимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ подсистСм.

Π―Π΄Ρ€ΠΎ выполняСтся Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Windows ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΡƒΠΆΠ΅ задСйствованной Π² Azure. ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ WSL выполняСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ дисковом ΠΎΠ±Ρ€Π°Π·Π΅ (VHD) c Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой ext4 ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ сСтСвым Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ пространства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° сборках Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дистрибутивов. НапримСр, для установки Π² WSL Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Microsoft Store ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ сборки Ubuntu, Debian GNU/Linux, Kali Linux, Fedora, Alpine, SUSE ΠΈ openSUSE.

Π’ вСрсии 1.0 исправлСно ΠΎΠΊΠΎΠ»ΠΎ 100 ошибок ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ нСсколько Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²:

  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования систСмного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° systemd Π² Linux-окруТСниях. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° systemd позволяСт ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ трСбования ΠΊ дистрибутивам ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌΡƒΡŽ Π² WSL срСду ΠΊ ситуации запуска дистрибутивов ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ оборудования. Π Π°Π½Π΅Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² WSL дистрибутивы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСдоставляСмый Microsoft ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, запускаСмый ΠΏΠΎΠ΄ PID 1 ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ настройку инфраструктуры для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ Linux ΠΈ Windows.
  • Для Windows 10 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Linux (Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π±Ρ‹Π»Π° доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Windows 11).
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «wsl —install» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—no-launch» для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ запуска дистрибутива послС установки.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «wsl —update» ΠΈ «wsl —install» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—web-download» для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· GitHub, вмСсто Microsoft Store.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «wsl —mount» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ «—vhd» для монтирования VHD-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ «—name» для задания ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ монтирования.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «wsl —import» ΠΈ «wsl —export» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «—vhd» для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈΠ»ΠΈ экспорта Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ VHD.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «wsl —import-in-place» для рСгистрации ΠΈ использования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° .vhdx Π² качСствС дистрибутива.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «wsl —version» для отобраТСния Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок.
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ графичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (WSLg) ΠΈ ядро Linux ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… MSI-Ρ„Π°ΠΉΠ»ΠΎΠ².

По горячим слСдам Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ WSL 1.0.1 (ΠΏΠΎΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ статус Pre-release), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ устранСно зависаниС процСсса wslservice.exe ΠΏΡ€ΠΈ запускС Π½ΠΎΠ²ΠΎΠ³ΠΎ сСанса, Ρ„Π°ΠΉΠ» с unix-сокСтом /tmp/.X11-unix ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π² Ρ€Π΅ΠΆΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ошибок.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru