- PVSM.RU - https://www.pvsm.ru -

Windows 10 Fall Creators Update и подсистема Windows для Linux

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

Windows 10 Fall Creators Update и подсистема Windows для Linux - 1 [1]

Хотите пользоваться Linux на Windows с помощью подсистемы WIndows для Linux (Windows Subsystem for Linux [2], WSL), но вас тревожит то, что WSL пока имеет статус бета-версии и доступна только в режиме разработчика Windows 10? Теперь можно не беспокоиться. Дело в том, что в Windows 10 Fall Creators Update (WinFCU) WSL [3] может быть запущена любым пользователем.

WSL, эта комбинация оболочки Bash и Windows, которую тестировали более года [4], в WinFCU приобретёт множество новых функций [5].

Кроме того, что WSL переросла статус бета-версии и больше не требует использовать режим разработчика, среди её новых возможностей стоит отметить следующие:

  • Установка дистрибутивов Linux из Windows Store.
  • WSL теперь поддерживает запуск нескольких дистрибутивов Linux.
  • WSL доступна в Windows Server и в виртуальных машинах Microsoft Azure.
  • WSL теперь поддерживает обмен данными по USB/serial.
  • Различные исправления и улучшения.

Помимо Ubuntu [6], новая WSL теперь поддерживает openSUSE [7] — дистрибутив сообщества SUSE [7], и его корпоративный вариант SUSE Linux Enterprise Server (SLES) [8]. Кроме того, ожидается, что скоро в Windows Store появятся Fedora [9] и другие дистрибутивы.

Если вы уже пользовались WSL, существующая установка Ubuntu продолжит работать, но этот вариант считается устаревшим и не будет поддерживаться. Для того, чтобы пользоваться техподдержкой, надо заменить существующий экземпляр Ubuntu на новый, из Windows Store. Если этого не сделать, не получится получить поддержку ни от Canonical [10], ни от Microsoft.

Для того, чтобы сохранить старые файлы, их лучше всего заархивировать с помощью tar [11] и скопировать в файловую систему Windows, например, в /mnt/c/temp/backups, а потом скопировать в новый экземпляр Ubuntu.

Кроме того, теперь можно установить несколько дистрибутивов Linux из Windows Store на одной Windows 10-системе.

Для того, чтобы это сделать сначала надо активировать WSL в окне Включение или отключение компонентов Windows, после чего — перезагрузить систему. Надо отметить, что WSL по умолчанию не активна, и то, что после её включения придётся перезагрузиться.
После перезагрузки нужно выполнить поиск по слову Linux в Windows Store, выбрать подходящую систему и установить её.

Если в WSL уже есть установленный экземпляр Bash, вы можете начать всё сначала с помощью команды lxrun /uninstall/ [12]. Для этого можно воспользоваться командной строкой или PowerShell.

Помимо возможности устанавливать несколько дистрибутивов Linux, теперь несколько дистрибутивов можно и одновременно запускать. Каждый из них работает независимо от других. Здесь не применяются ни виртуальные машины, ни контейнеры. Это означает, что дистрибутивам понадобятся их обычные системные ресурсы. Я например, запускал бы несколько дистрибутивов на системе, в которой на каждый работающий экземпляр WSL имеется по 2 Гб дополнительной памяти.

Сама по себе WSL требует минимальных системных ресурсов. Рич Тёрнер, старший руководитель программы WSL и Windows Console в Microsoft, написал следующее: «Мы не приводим [требования к оперативной памяти], так как, честно говоря, об этом особо нечего сказать. Если вы не устанавливали WSL [13], дополнительная память не используется. Если вы включили WSL, на короткое время загружается маленький драйвер размером 850 Кб, а затем, до запуска дистрибутива Linux, он выгружается. При запуске загружается /init, который запускает /bin/bash. Это приводит к загрузке драйвера, занимающего 850 Кб и к созданию пико-процессов [14] для 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 [15]. Другими словами, работать можно только с носителями, отформатированными в файловых системах FAT/FAT32/NTFS. Как насчёт файловых систем *nix? Можете голосовать, комментировать, или делать и то и другое в ветке этого запроса [16] на 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 [17]. Среди них — 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 [18], но пока эту возможность нельзя воспринимать серьёзно. Конечно, если над этим поработают, ситуация изменится.

Как функционирует WSL? Дастин Киркланд, член группы Ubuntu Product and Strategy в Canonical, рассказал следующее: «Мы говорим о непосредственном выполнении кода Ubuntu ELF на Windows [17]. [WSL], по сути, выполняет, в реальном времени, трансляцию системных вызовов Linux в системные вызовы Windows. Приверженцы Linux могут считать это чем-то вроде WINE [19] наоборот, а именно, двоичные файлы Ubuntu совершенно естественным образом работают в Windows».

Итоги

Независимо от технических особенностей того, как WSL делает своё дело, самое главное то, что подсистема WIndows для Linux работает очень и очень хорошо. Надеемся, новая WSL вам понравится.

Уважаемые читатели! Если вы уже обновились до Windows 10 Fall Creators Update, просим поделиться впечатлениями о новой WSL.

Автор: ru_vds

Источник [20]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/265909

Ссылки в тексте:

[1] Image: https://habrahabr.ru/company/ruvds/blog/340306/

[2] Windows Subsystem for Linux: https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

[3] WSL: https://blogs.msdn.microsoft.com/commandline/2017/10/11/whats-new-in-wsl-in-windows-10-fall-creators-update/

[4] тестировали более года: http://www.zdnet.com/article/windows-10s-subsystem-for-linux-exits-beta-ready-for-fall-creators-update/

[5] множество новых функций: http://www.zdnet.com/article/windows-10-creators-update-adds-lots-of-new-bashwsl-features/

[6] Ubuntu: http://www.ubuntu.com/

[7] openSUSE: https://www.opensuse.org/

[8] SUSE Linux Enterprise Server (SLES): https://www.suse.com/products/server/

[9] Fedora: https://getfedora.org/

[10] Canonical: https://www.canonical.com/

[11] заархивировать с помощью tar: https://blogs.msdn.microsoft.com/commandline/2017/10/11/whats-new-in-wsl-in-windows-10-fall-creators-update/#comment-34165

[12] lxrun /uninstall/: https://msdn.microsoft.com/en-us/commandline/wsl/reference

[13] не устанавливали WSL: https://blogs.msdn.microsoft.com/commandline/2017/10/11/whats-new-in-wsl-in-windows-10-fall-creators-update/#comment-34145

[14] пико-процессов: https://blogs.msdn.microsoft.com/wsl/2016/05/23/pico-process-overview/

[15] инфраструктуру ввода-вывода файловой системы NT: https://blogs.msdn.microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux/

[16] этого запроса: https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13818042-support-mounting-xfs-ext2-ext3-ext4-etc-partition

[17] инструментов оболочки Linux : http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html

[18] графические интерфейсы и приложения Linux: https://www.reddit.com/r/Windows10/comments/4ea4w4/fyi_you_can_run_gui_linux_apps_from_bash/

[19] WINE: https://www.winehq.org/

[20] Источник: https://habrahabr.ru/post/340306/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best