Дело в том, что Microsoft совместно с Canonical сумели интегрировать операционную систему Ubuntu внутрь Windows 10 (что-то вроде эмулятора). Дастин Кирклэнд, сотрудник группы Ubuntu Product and Strategy, рассказал на конференции об этом проекте (видеозапись), а ещё раньше в своём блоге выложил несколько спойлеров.
«Это немного странно для меня, — пишет Дастин, — потому что я не использовал Windows уже около 16 лет. Но всё изменилось пару месяцев назад, когда погрузился в сверхсекретный (и абсолютно невероятный) проект между Microsoft и Canonical, который анонсировал сегодня во вступительной речи Кевин Галло».
Итак, в новом билде Windows 10 пространство пользователя Ubuntu и оболочка bash работают нативно в консоли cmd.exe!
Работает это следующим образом.
Пользователь Windows 10
Открывает меню «Пуск»
Набирает там "bash" [enter]
После чего открывается консоль cmd.exe
С запущенным /bin/bash от Ubuntu
С полным доступом ко всему пространству пользователя Ubuntu
Да, там есть apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch...
И большинство из десятков тысяч бинарных пакетов в архивах Ubuntu!
Дастин Кирклэнд говорит, что это не виртуальная машина, никаких контейнеров и не Cygwin, а нечто похожее на эмулятор, где системные вызовы Linux в реальном времени транслируются в системные вызовы Windows. Сейчас в Windows 10 используется Ubuntu 14.04 LTS.
Microsoft называет это "Windows Subsystem for Linux" (исходный код пока закрыт).
Трансляция вызовов очень эффективная: утилита sysbench показывает почти одинаковую производительность CPU, памяти и операций ввода/вывода.
Все логические диски, вроде C:, монтируются для чтения и записи в директории /mnt, то есть /mnt/c, /mnt/d и т.д. И наоборот, файловая система Ubuntu доступна через «Проводник» в C:\Users\Kirkland\AppData\Local\Lxss\rootfs\.
Из «подсистемы Linux» нормально запускается ssh.
Конечно, пока есть некоторые глюки, особенно с tty и vt100. Не очень хорошо работают byobu, screen и tmux. Но всё равно Microsoft и Canonical проделали огромную работу, что такое вообще стало возможным.