Системные администраторы и разработчики! Похоже, на вашей улице настал праздник. WSL, начиная с последнего обновления, так называемого Fall Creators Update, стала полноправной частью Windows 10.
Хотите пользоваться Linux на Windows с помощью подсистемы WIndows для Linux (Windows Subsystem for Linux, WSL), но вас тревожит то, что WSL пока имеет статус бета-версии и доступна только в режиме разработчика Windows 10? Теперь можно не беспокоиться. Дело в том, что в Windows 10 Fall Creators Update (WinFCU) WSL может быть запущена любым пользователем.
WSL, эта комбинация оболочки Bash и Windows, которую тестировали более года, в WinFCU приобретёт множество новых функций.
Кроме того, что WSL переросла статус бета-версии и больше не требует использовать режим разработчика, среди её новых возможностей стоит отметить следующие:
Помимо Ubuntu, новая WSL теперь поддерживает openSUSE — дистрибутив сообщества SUSE, и его корпоративный вариант SUSE Linux Enterprise Server (SLES). Кроме того, ожидается, что скоро в Windows Store появятся Fedora и другие дистрибутивы.
Если вы уже пользовались WSL, существующая установка Ubuntu продолжит работать, но этот вариант считается устаревшим и не будет поддерживаться. Для того, чтобы пользоваться техподдержкой, надо заменить существующий экземпляр Ubuntu на новый, из Windows Store. Если этого не сделать, не получится получить поддержку ни от Canonical, ни от Microsoft.
Для того, чтобы сохранить старые файлы, их лучше всего заархивировать с помощью tar и скопировать в файловую систему Windows, например, в
Кроме того, теперь можно установить несколько дистрибутивов Linux из Windows Store на одной Windows 10-системе.
Для того, чтобы это сделать сначала надо активировать WSL в окне
После перезагрузки нужно выполнить поиск по слову
Если в WSL уже есть установленный экземпляр Bash, вы можете начать всё сначала с помощью команды lxrun /uninstall/. Для этого можно воспользоваться командной строкой или PowerShell.
Помимо возможности устанавливать несколько дистрибутивов Linux, теперь несколько дистрибутивов можно и одновременно запускать. Каждый из них работает независимо от других. Здесь не применяются ни виртуальные машины, ни контейнеры. Это означает, что дистрибутивам понадобятся их обычные системные ресурсы. Я например, запускал бы несколько дистрибутивов на системе, в которой на каждый работающий экземпляр WSL имеется по 2 Гб дополнительной памяти.
Сама по себе WSL требует минимальных системных ресурсов. Рич Тёрнер, старший руководитель программы WSL и Windows Console в Microsoft, написал следующее: «Мы не приводим [требования к оперативной памяти], так как, честно говоря, об этом особо нечего сказать. Если вы не устанавливали WSL, дополнительная память не используется. Если вы включили WSL, на короткое время загружается маленький драйвер размером 850 Кб, а затем, до запуска дистрибутива Linux, он выгружается. При запуске загружается
Дистрибутивы Linux могут, кроме того, работать с файловой системой хост-машины, управляемой Windows, с сетевым стеком, и так далее. Это означает, что к изменению данных в файловой системе Windows следует относиться с осторожностью.
Зачем может понадобиться одновременный запуск нескольких дистрибутивов Linux? Microsoft говорит об этом следующее: «Возможность запускать различные дистрибутивы Linux позволяет вам использовать одни и те же инструменты, пакетные менеджеры, или экосистемы и окружение, где будет выполняться ваш продакшн-код. Это ведёт к уменьшению потерь времени на поиск труднообнаружимых ошибок при развёртывании кода. Это позволяет, например, использовать браузеры Edge, Chrome и Firefox на Windows для просмотра веб-сайта, работающего на сервере Apache, установленном на Ubuntu, который взаимодействует с REST-службой, работающей на openSUSE… без необходимости задавать правила файрвола при локальном тестировании, так как все эти процессы работают по одну сторону файрвола, рядом друг с другом!».
Разработчикам Linux понравится поддержка передачи данных по USB/serial. Это позволит приложениям и сценариям командной строки взаимодействовать с последовательными портами.
Кроме того, WSL теперь поддерживает монтирование USB-накопителей и общих сетевых ресурсов. Это — хорошая новость. Плохая новость заключается в том, что она поддерживает только инфраструктуру ввода-вывода файловой системы NT. Другими словами, работать можно только с носителями, отформатированными в файловых системах FAT/FAT32/NTFS. Как насчёт файловых систем *nix? Можете голосовать, комментировать, или делать и то и другое в ветке этого запроса на UserVoice.
Если углубиться в детали улучшений, то обновлённая WSL в WinFCU включает в себя следующее:
В Fall Creators Update были добавлены следующие системные вызовы:
Как и ожидалось, WSL будет доступна на платформе Windows Server и на виртуальных машинах Windows в Microsoft Azure. Это рассчитано на системных администраторов.
Благодаря всем этим улучшениям разработчикам и системным администраторам будет проще пользоваться командами оболочки Linux в Windows. В то время, как обычному пользователю ПК подобное, возможно, не окажется особенно полезным, для IT-профессионалов это — шаг вперёд. Это расширяет возможности Windows в мире серверов и облачных служб, в котором сейчас всё более важное место занимает Linux. Даже в Azure больше трети виртуальных машин используют Linux.
WSL предоставляет большинство инструментов оболочки Linux . Среди них —
Используя WSL можно запускать графические интерфейсы и приложения Linux, но пока эту возможность нельзя воспринимать серьёзно. Конечно, если над этим поработают, ситуация изменится.
Как функционирует WSL? Дастин Киркланд, член группы Ubuntu Product and Strategy в Canonical, рассказал следующее: «Мы говорим о непосредственном выполнении кода Ubuntu ELF на Windows. [WSL], по сути, выполняет, в реальном времени, трансляцию системных вызовов Linux в системные вызовы Windows. Приверженцы Linux могут считать это чем-то вроде WINE наоборот, а именно, двоичные файлы Ubuntu совершенно естественным образом работают в Windows».
Независимо от технических особенностей того, как WSL делает своё дело, самое главное то, что подсистема WIndows для Linux работает очень и очень хорошо. Надеемся, новая WSL вам понравится.
Уважаемые читатели! Если вы уже обновились до Windows 10 Fall Creators Update, просим поделиться впечатлениями о новой WSL.
Хотите пользоваться Linux на Windows с помощью подсистемы WIndows для Linux (Windows Subsystem for Linux, WSL), но вас тревожит то, что WSL пока имеет статус бета-версии и доступна только в режиме разработчика Windows 10? Теперь можно не беспокоиться. Дело в том, что в Windows 10 Fall Creators Update (WinFCU) WSL может быть запущена любым пользователем.
WSL, эта комбинация оболочки Bash и Windows, которую тестировали более года, в WinFCU приобретёт множество новых функций.
Кроме того, что WSL переросла статус бета-версии и больше не требует использовать режим разработчика, среди её новых возможностей стоит отметить следующие:
- Установка дистрибутивов Linux из Windows Store.
- WSL теперь поддерживает запуск нескольких дистрибутивов Linux.
- WSL доступна в Windows Server и в виртуальных машинах Microsoft Azure.
- WSL теперь поддерживает обмен данными по USB/serial.
- Различные исправления и улучшения.
Помимо Ubuntu, новая WSL теперь поддерживает openSUSE — дистрибутив сообщества SUSE, и его корпоративный вариант SUSE Linux Enterprise Server (SLES). Кроме того, ожидается, что скоро в Windows Store появятся Fedora и другие дистрибутивы.
Если вы уже пользовались WSL, существующая установка Ubuntu продолжит работать, но этот вариант считается устаревшим и не будет поддерживаться. Для того, чтобы пользоваться техподдержкой, надо заменить существующий экземпляр Ubuntu на новый, из Windows Store. Если этого не сделать, не получится получить поддержку ни от Canonical, ни от Microsoft.
Для того, чтобы сохранить старые файлы, их лучше всего заархивировать с помощью tar и скопировать в файловую систему Windows, например, в
/mnt/c/temp/backups
, а потом скопировать в новый экземпляр Ubuntu.Кроме того, теперь можно установить несколько дистрибутивов Linux из Windows Store на одной Windows 10-системе.
Для того, чтобы это сделать сначала надо активировать WSL в окне
Включение или отключение компонентов Windows
, после чего — перезагрузить систему. Надо отметить, что WSL по умолчанию не активна, и то, что после её включения придётся перезагрузиться.После перезагрузки нужно выполнить поиск по слову
Linux
в Windows Store, выбрать подходящую систему и установить её.Если в WSL уже есть установленный экземпляр Bash, вы можете начать всё сначала с помощью команды lxrun /uninstall/. Для этого можно воспользоваться командной строкой или PowerShell.
Помимо возможности устанавливать несколько дистрибутивов Linux, теперь несколько дистрибутивов можно и одновременно запускать. Каждый из них работает независимо от других. Здесь не применяются ни виртуальные машины, ни контейнеры. Это означает, что дистрибутивам понадобятся их обычные системные ресурсы. Я например, запускал бы несколько дистрибутивов на системе, в которой на каждый работающий экземпляр WSL имеется по 2 Гб дополнительной памяти.
Сама по себе WSL требует минимальных системных ресурсов. Рич Тёрнер, старший руководитель программы WSL и Windows Console в Microsoft, написал следующее: «Мы не приводим [требования к оперативной памяти], так как, честно говоря, об этом особо нечего сказать. Если вы не устанавливали WSL, дополнительная память не используется. Если вы включили WSL, на короткое время загружается маленький драйвер размером 850 Кб, а затем, до запуска дистрибутива Linux, он выгружается. При запуске загружается
/init
, который запускает /bin/bash
. Это приводит к загрузке драйвера, занимающего 850 Кб и к созданию пико-процессов для init
и bash
. Поэтому, в целом, требования WSL к памяти соответствуют требованиям средств Linux, с добавлением примерно 1 Мб».Дистрибутивы Linux могут, кроме того, работать с файловой системой хост-машины, управляемой Windows, с сетевым стеком, и так далее. Это означает, что к изменению данных в файловой системе Windows следует относиться с осторожностью.
Зачем может понадобиться одновременный запуск нескольких дистрибутивов Linux? Microsoft говорит об этом следующее: «Возможность запускать различные дистрибутивы Linux позволяет вам использовать одни и те же инструменты, пакетные менеджеры, или экосистемы и окружение, где будет выполняться ваш продакшн-код. Это ведёт к уменьшению потерь времени на поиск труднообнаружимых ошибок при развёртывании кода. Это позволяет, например, использовать браузеры Edge, Chrome и Firefox на Windows для просмотра веб-сайта, работающего на сервере Apache, установленном на Ubuntu, который взаимодействует с REST-службой, работающей на openSUSE… без необходимости задавать правила файрвола при локальном тестировании, так как все эти процессы работают по одну сторону файрвола, рядом друг с другом!».
Разработчикам Linux понравится поддержка передачи данных по USB/serial. Это позволит приложениям и сценариям командной строки взаимодействовать с последовательными портами.
Кроме того, WSL теперь поддерживает монтирование USB-накопителей и общих сетевых ресурсов. Это — хорошая новость. Плохая новость заключается в том, что она поддерживает только инфраструктуру ввода-вывода файловой системы NT. Другими словами, работать можно только с носителями, отформатированными в файловых системах FAT/FAT32/NTFS. Как насчёт файловых систем *nix? Можете голосовать, комментировать, или делать и то и другое в ветке этого запроса на UserVoice.
Если углубиться в детали улучшений, то обновлённая WSL в WinFCU включает в себя следующее:
- Улучшенные параметры TCP, в частности,
IP_OPTIONS
,IP_ADD_MEMBERSHIP
,IP_MULTICAST
, и другие.
- Теперь
/etc/hosts
наследует записи из файлаhosts
Windows.
- Поддержка системных вызовов, имеющих отношение к
xattr
. - Исправление некоторых функций, связанных с файловой системой.
- Улучшена поддержка
PTRACE
. - Улучшена поддержка
FUTEX
. - Теперь здесь работает
chsh
, что позволяет менять оболочки. В частности, теперь любимую оболочку можно использовать напрямую. При старте оболочки будут исполняться и файлы, отличные от.bashrc
.
В Fall Creators Update были добавлены следующие системные вызовы:
Prlimit64
getxattr
,setxattr
,listxattr
,removexattr
Как и ожидалось, WSL будет доступна на платформе Windows Server и на виртуальных машинах Windows в Microsoft Azure. Это рассчитано на системных администраторов.
Благодаря всем этим улучшениям разработчикам и системным администраторам будет проще пользоваться командами оболочки Linux в Windows. В то время, как обычному пользователю ПК подобное, возможно, не окажется особенно полезным, для IT-профессионалов это — шаг вперёд. Это расширяет возможности Windows в мире серверов и облачных служб, в котором сейчас всё более важное место занимает Linux. Даже в Azure больше трети виртуальных машин используют Linux.
WSL предоставляет большинство инструментов оболочки Linux . Среди них —
apt
, ssh
, find
, grep
, awk
, sed
, gpg
, wget
, tar
, vim
, emacs
, diff
, и patch
. Кроме того, тут можно использовать популярные языки программирования с открытым кодом, такие, как python, perl, ruby, php, и gcc. Далее, WSL и Bash поддерживают серверные приложения, такие, как веб-сервер Apache и система управления базой данных Oracle MySQL. Другими словами, благодаря WSL на Windows можно создать нормальную среду разработки, основанную на Linux.Используя WSL можно запускать графические интерфейсы и приложения Linux, но пока эту возможность нельзя воспринимать серьёзно. Конечно, если над этим поработают, ситуация изменится.
Как функционирует WSL? Дастин Киркланд, член группы Ubuntu Product and Strategy в Canonical, рассказал следующее: «Мы говорим о непосредственном выполнении кода Ubuntu ELF на Windows. [WSL], по сути, выполняет, в реальном времени, трансляцию системных вызовов Linux в системные вызовы Windows. Приверженцы Linux могут считать это чем-то вроде WINE наоборот, а именно, двоичные файлы Ubuntu совершенно естественным образом работают в Windows».
Итоги
Независимо от технических особенностей того, как WSL делает своё дело, самое главное то, что подсистема WIndows для Linux работает очень и очень хорошо. Надеемся, новая WSL вам понравится.
Уважаемые читатели! Если вы уже обновились до Windows 10 Fall Creators Update, просим поделиться впечатлениями о новой WSL.