Когда было выпущено обновление Windows 10 Anniversary Update (AU), подсистема Windows для Linux (WSL) была еще далека от завершения. У нее была масса несовместимостей, особенно с популярными инструментами разработчика, такими как Node.js, Java и т.д. Но с недавно вышедшим Creators Update многое изменилось.

Что нового в WSL? Во время цикла разработки Windows 10 Creators Update (CU) команда разработчиков WSL добавила сотни исправлений и улучшений, большинство из которых можно найти в списке изменений. Мы же опишем самые выдающиеся из них.

Дополнительная совместимость

Основной целью для Win10 CU было значительно улучшить глубину и широту WSL-совместимости с интерфейсом системных вызовов Linux (SCI). Расширяя и улучшая реализации системных вызовов, Microsoft увеличивает количество доступных инструментов, платформ и сред выполнения.

Каков результат? В Win10 CU большинство основных инструментов разработчика теперь работают, как и должны, в том числе:

  • основные инструменты: apt, sed, grep, awk, top, tmux, ssh, scp и прочее;
  • оболочки: Bash, zsh, fish и т. д.;
  • инструменты для разработки: vim, emacs, nano, git, gdb и т. д.
  • языки и платформы: Node.js и npm, Ruby и Gems, Java и Maven, Python и Pip, C / C ++, C # и .NET Core с Nuget, Go, Rust, Haskell, Elixir / Erlang и другие;
  • системы и службы: sshd, Apache, lighttpd, nginx, MySQL, PostgreSQL.

Поддержка Ubuntu 16.04

В то время, как Anniversary Update Win10 предоставило поддержку Ubuntu 14.04, в Creators Update WSL теперь поддерживает Ubuntu 16.04. Любые новые версии Bash, установленные на Win10 CU, теперь устанавливают Ubuntu 16.04.


ifconfig и поддержка перечисления сетевых подключений

Одной из главных неприятностей для Win10 AU было то, что ему не хватало возможности перечислять сетевые соединения, и это мешало правильной работе таких инструментов, как ifconfig, gulp и npm. Это было исправлено в Win10 CU, и теперь вы можете использовать ifconfig для перечисления и проверки конфигурации доступных сетевых адаптеров/


Поддержка Ping и ICMP

Еще одна проблема, с которой пользователи столкнулись в Win10 AU, заключалась в том, что не администраторы не могли проверить связь с конечной точкой сети. В Win10 CU это исправлено/


Поддержка уведомлений об изменении файлов (INOTIFY)

Еще одно исправление — это возможность регистрации уведомлений при изменении файла. Это существенная функция, часто используемая веб-, Node-, Ruby- и Python-разработчиками, а также многими другими.


Windows и Linux

Основной целью создания WSL было сокращение «пробелов», возникающих при работе с инструментами Windows вместе с инструментами и командной строкой Linux. Когда в Windows 10 AU внедрили WSL, Linux и Windows объединились друг с другом, но по-прежнему существовал большой «пробел». Несмотря на то, что обе системы могли использовать одни и те же файлы, среды были довольно сильно изолированы друг от друга.

Пользователи часто говорили, что хотели бы работать с приложениями приложения Windows в Bash и открывать приложения Linux из Windows. И эта функция появилась!

В Windows 10 Creators Update теперь можно запускать приложения и инструменты Windows из Bash/


Улучшения в сокетах UNIX и Netlink

Некоторые аспекты сокетов UNIX и сокетов Netlink не поддерживались в Anniversary Update.

В обновлении Creators в WSL были добавлены сокеты дейтаграмм UNIX и сокеты Netlink. Параметры и свойства позволяют использовать различные формы IPC.

Улучшения в TCP-сокете и IPv6

В обновлении для авторов команда WSL и группы Windows Core Networking работали вместе, чтобы позволить WSL поддерживать несколько дополнительных параметров и свойств сокетов IPv6 и TCP. Это позволяет использовать широкий спектр инструментов и технологий, которые полагаются на различные функции сетевых сокетов, улучшенную поддержку IPv6 и т. д.

Другие улучшения WSL

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

  • Процессы Linux подвержены инфраструктуре перечисления Windows, поэтому они отображаются в TaskManager;
  • Добавлены функции, помогающие включить средства защиты от вредоносных программ и брандмауэров для понимания процессов Linux;
  • Поддержка общей памяти, требуемая PostgreSQL и другими инструментами.

Консоль Windows является одной из фундаментальных частей всей операционной системы и является частью Windows на протяжении нескольких десятилетий. Около двух лет назад была сформирована новая консоль Windows, которая позволила самой консоли измениться впервые за 30 лет!


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