Алексей Федорчук
Некогда для многих применителей Linux’а актуальной задачей было — наладить запуск отдельных Windows-приложений в своей операционке. Для удовлетворения этой потребности возник ряд проектов, начиная с Corel Office for Linux (да-да, некогда существовал специальный эмулятор для запуска в Linux’е текстового процессора WordPerfect, электронной таблицы QuattroPro и примкнувшей к ним Presentation) и заканчивая дожившими до наших дней Wine и CrossOver. Нередко с этой же целью использовались и виртуальные машины, сначала VMWare, а затем VirtualBox и другие. Существовали и решения обратной задачи, но цели их были ограничены.
И вот в преддверии великого первоапрельского праздника весь Инет облетела весть о встраивании в MS Windows 10 подсистемы запуска приложений Ubuntu — именно так можно было интерпретировать название статьи Microsoft and Canonical partner to bring Ubuntu to Windows 10. Резонные люди предположили, что авторы новости поспешили с праздничной шуткой. Однако последовавшие публикации показали, что дело это серьёзное. Или, по крайней мере, стремящееся выглядеть таковым. И в сети (в том числе её русскоязычном сегменте) начался ажиотаж, вполне вписывающийся в рубрику Скандалы, интриги, расследования.
Поскольку тема эта от меня была далека, я проглядел соответствующие новости по диагонали — и никаких поводов для ажиотажа не увидел. Да, внутри Windows (именно 10, как подчёркивается в источниках) можно будет запускать Bash, а в его среде — такие утилиты, как find
, xargs
, grep
, sed
и многие другие. Иными словами, то, что обычно объединяется понятием Linux-утилит (или классических UNIX-утилит в их GNU-реализации). Да, наряду с этим станут доступны gcc
, perl
, php
, python
и другие средства разработки, созданные в рамках различных открытых проектов (не обязательно GNU и FSF). Да, для управления этим хозяйством будет использоваться семейство утилит apt
. И да, всё это очень блаародно, но…
…кое-что из этого появилось в составе подсистемы POSIX в Windows NT, начиная, если меня не подводят эклер со склерозом, с версии 3.5X (или только с NT 4?). А в развивавших её подсистемах SUA (Subsystem for UNIX-based Applications) и SFU (Microsoft Windows Services for UNIX) имел место быть уже совсем весь комплекс утилит CLI (кроме, разве что, apt
‘а). Да и средства разработки типа gcc, не говоря уже о perl’е, php или python’е, в Windows существовали чуть ли не испокон веку.
Однако ажиотаж крепчал по экспоненте, версии экспертов и аналитиков о возможных последствиях этого события множились, и я заставил себя прочитать некоторые источники. В их числе:
- исходное сообщение Стивена Вогэн-Николса (Steven J. Vaughan-Nichols) на ZDNet, которое уже упоминалось;
- многочисленные комментарии к нему, принадлежащие, в том числе, и разработчикм подсистемы;
- «расшифровка» первичного сообщения в блоге Дастина Киркленда (Dustin Kirkland);
- русскоязычное обобщение предыдущих материалов на Opennet.ru;
- статья Microsoft is adding the Linux command line to Windows 10 Криса Уэлша (Chris Welch), сопровождаемая роликом.
Из приведённых материалов вырисовывается такая картина. Разработанная подсистема, именуемая WSL (Windows Subsystem for Linux), позволяет в эмуляторе терминала Windows (или как он там у них называется?) запустить Bash, а в его командной строке — весь комплекс Linux-утилит CLI и консольных средств разработки. Происходит это не путём портирования оных (то есть без перекомпиляции), и не в режиме эмуляции, а в нативном виде, посредством трансляции системных вызовов ядра Linux в таковые ядра Windows.
Теоретически субсистема WSL, которая будет штатно включена в Windows 10, посредством apt
может наращиваться дополнительными пакетами из (родных?) репозиториев Ubuntu — утилитами CLI и серверными приложениями консольного режима. Поддержка приложений, работающих в режиме графическом, в настоящее время отсутствует и, судя по всему, даже не планируется.
Для всего этого хозяйства создан специальный блог, на котором, правда, пока нет ничего, кроме сообщения о его создании и «протокола о намерениях» —
…публиковать новости, статьи, обновления, информацию, ссылки и всевозможные материалы, связанные с инструментами командной строки Windows, включая PowerShell, Ubuntu’уевского Bash в Windows и собственно консоли.
В указанных выше материалах проводятся аналогии с Wine, в которой решается обратная задача (трансляция системных вызовов Windows в Linux), и с Nexenta OS, в которой пользовательское окружение Ubuntu работает на ядре OpenSolaris. За Wine ничего не скажу, так как дела с ней практически не имел (разве что лет 15 назад запускал в ней Солитёра).
А вот аналогия с Nexenta мне кажется не правомерной. Ибо эта система представляет собой просто портирование инфраструктуры Debian/Ubuntu на ядро OpenSolaris. И в своё время, когда она имела две линии развития, десктопную и серверную, содержала не только консольные утилиты, но и перекомпилированные Иксы, рабочие среды и приложения графического режима, и внешне была неотличима от Linux’а. Кстати, десктопная линия прекратила своё развитие ещё в прошлом десятилетии ввид невостребованности. Тогда как линия серверная (ныне именуется NexentaStor), вполне успешно применяется во всякого рода NAS’ах.
Больше сходства WSL, как мне кажется, обнаруживает с так называемым режимом совместимости с Linux во FreeBSD (Linux Binary Compatibility). Он позволяет запускать нативные Linux-приложения без всякой перекомпиляции и эмуляции, за счёт трансляции системных вызовов ядра Linux в таковые ядра FreeBSD. Вероятно, технически задача, стоящая перед разработчиками WSL, сложнее — уж больно разные ядра у Linux и Windows. Но разным оказывается и результат: в режиме совместимости FreeBSD запускаются не только консольные утилиты, но и весьма сложные программы графического режима.
Собственно, режим совместимости во FreeBSD и был придуман для запуска специфических для Linux программ, которые некогда портировать было или невозможно, или очень сложно. В частности, именно таким образом в прежние времена во FreeBSD запускались и StarOffice с Netscape (предтечи AOo с LOo и Firefox’а, соответственно), и медиапроигрыватель RealPlayer, и Adobe Acrobat, и уже не помню что. В WSL же, как отмечено выше, о графических приложениях даже и речи не идёт.
Субсистема WLS позиционируется как среда для Linux-разработчиков, работающих в Windows. Или для Windows-разработчиков, желающих разрабатывать приложения для Linux. В первом случае, вероятно, предполагается, что она будет альтернативой массовой миграции Linux-разработчиков на MacOS X (с соответствующим железом, разумеется) как платформу для своей профессиональной жизнедеятельности. Однако MacOS X, насколько я слышал, предлагает не только командную строку, а действительно удобную среду разработки — достаточно вспомнить многочисленных поклонников текстового редактора Sublime Text (кстати, не свободного и в общем случае вовсе не бесплатного) даже в его Linux-инкарнации. Да и слухи о массовости такой миграции сильно преувеличены. А у нас на Руси, после осени 2014 года, просто потеряли все основания.
Второй же случай представляется мне утопией: как-то с трудом верится, что матёрые Windows-разработчики все, как один человек, дружно бросят свои уютные и привычные IDE, занявшись кодированием приложений под Linux в Vim или Emacs. А если и займутся этим делом, и займутся успешно — не забросят ли они Windows-разработку вообще?
Более реально, что WSL окажется неплохим подспорьем для администраторов Unix-серверов, вынужденных делать это с Windows-машин. Например, мой старый товарищ Игорь Борейко, лучший из всех админов, которых я когда-либо знал, в силу ряда причин, не имеющих отношения к личным предпочтениям, бывало,оказывался в такой ситуации. И тогда он первым делом устанавливал что-нибудь типа PowerShell’а или SUA/SFU, ибо без этого чувствовал себя очень некомфортно. Ныне Игорь, увы, пребывает у верхних людей. Но будь он здесь — такому инструменту «из коробки», как WSL, порадовался бы. А нам остаётся порадоваться за всех, кто продолжает (или вынужден продолжать) его дело…
Потому что всем обычным применителям Linux’а, использующим эту ОС в целях мирных, не админских и не программерских, от этого WSL, скорее всего, будет ни холодно, ни жарко. Разве что можно отметить: внимание почтеннейшей публики в очередной раз было привлечено к Linux вообще и Ubuntu в частности. Что тоже не… плохо, как сказал однажды Гай Юлий Цезарь, бросив камень в собаку, а попав в тёщу.
Правда, скорее, основная цель всей PR-акции, сопряжённой с WSL, была как раз противоположной — лишний раз привлечь внимание к Windows, не блестяще претворённой в её последних версиях. И отнюдь не победно шествующей по миру со своими Windo-фонами.
А никакого полярного зверя ни для Linux’а, ни для Windows’а из всего произошедшего накануне праздника не последует: поговорят и забудут. Хотя — кто знает? Нельзя исключить, что в деле популяризации Ubuntu (а косвенно и Linux’а) эта штука WSL (и сопряжённый с ней ажиотаж) окажется посильней, чем Фауст Гёте бесплатная рассылка компактов с дистрибутивом.
В заключение хочу выразить признательность Станиславу Шрамко aka Stanis и участникам соответствующего обсуждения на форуме Matuntu: благодаря им я заинтересовался этой темой и даже вспомнил некоторые слова про Windows. Даже не обсценные, а те, которых никогда не знал.
Да, ты прав, Алексей. Консольные posix-утилиты для нас, старых админов, и в Windows представляют интерес. Потому как в «чуждой» среде ты ни grep, ни find, ни, тем более, vim не найдёшь. А иногда: хотелось бы. Как ни странно: часто в интересах той же win-системы. Это всё было и без реверансов MS (cygwin-то здравствует). А учитывая заявленное ограничение WSL (только 10-ка), интерес ещё более падает: после 60-ти очередное детище от MS вызывает болезненную неприязнь. Так что… так себе новость.
Чисто по Владимиру Асмолову получается:
Очень ему хочется
Хоть разок мелькнуть
В «До и после полночи»
Рядом с кем-нибудь,
Съездить в Ригу с Лаймою
К Раймонду на ленч —
Вобщем как-нибудь внимание
К себе привлечь.
Источник: http://www.russhanson.org/text/asmolov/devicit_obsheniya.html
Microsoft все больше напоминает царя Мидаса из сказки Родари: все, к чему он прикасался, превращалось в навоз…
Поздравляю Вас с прошедшим Днем геолога!
К чему столько слов? Ведь и так ясно что остальное дребедень..
Если рассматривать эту новость не как первую, а как третью, то все встает на свои места.
1. MS портирует MS SQL на Linux.
2. MS объявляет MS Server EndOfLife и о переходе на Ubuntu server.
3. MS дает своим админам инструментарий для работы с Ubuntu server.
Все более чем логично.
Т.е. виндакпец пришел со стороны облаков/сервером. Ну и слава богу. :-)
Господин барон вас с утра ожидает. Он в своем кабинете работает, заперся и спрашивает: Томас, говорит, не приехал ли господин пастор. Я говорю — «нет еще». Он говорит — «Ну и слава богу». Очень вас ждет.