Windows 10 Creators Update: что нового в WSL и консоли Windows

Когда было выпущено обновление 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.

Если вы хотите узнать, какую версию Ubuntu вы используете, введите следующую команду в Bash на Ubuntu :

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:        16.04
Codename:       xenial

Важное примечание: Существующие версии Ubuntu 14.04 НЕ обновляются автоматически до 16.04: вы должны вручную обновиться до Ubuntu 16.04.

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

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

ifconfig

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

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

ping

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

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

inotify

Windows и Linux

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

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

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

winbash

… и вы можете запускать файлы / команды / скрипты Linux в Windows:

bashwin

Улучшения в сокетах 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.

Что нового в консоли?

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

В Windows 10 Anniversary Update консоль была усовершенствована, позволяя обрабатывать большинство распространенных VT Sequence, позволяя ей правильно отображать большинство простого форматирования текста. Однако не хватало поддержки для нескольких более сложных сценариев.

В Windows 10 Creators Update поддержка VT Sequence в консоли была дополнительно улучшена, чтобы корректно обрабатывать несколько более продвинутые VT Sequence, позволяя консоли освещать многие функции богатого текстового интерфейса в vim, emacs, Midnight Commander, tmux, htop и других.

terms

Поддержка 24-битного цвета

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

В Win10 Creators Update консоль обновлена и поддерживает 24-битный цвет!

24bitcolor

Для получения дополнительной информации можете прочитать запись в блоге, посвящённую этому изменению.

Поддержка мыши

Количество многофункциональных текстовых интерфейсов постоянно растет, и поэтому пользователям нужна поддержка мыши для таких инструментов, как Midnight Commander, Htop и тому подобного. Поэтому эта функция также появилась в новом обновлении.

mouse

Символьные ссылки в Windows без прав администратора

Символьные ссылки (симлинки) — важный инструмент, широко используемый в Linux, но в меньшей степени в Windows. Для их создания необходимы права администратора.

В Windows 10 Creators Update было отменено ограничение прав администратора для пользователей, которые включили режим разработчика, позволяя создавать символические ссылки в консоли.

Итоги

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

Источник: блог Microsoft