Обзор наиболее значимых и интересных событий в мире дистрибутивостроения

В отличие от консервативного Slackware, большинство дистрибутивов развивается и видоизменяется со временем. Меняется многое: подходы к разработке и к формированию пакетов, цикл выпуска релизов, системные компоненты, технологии. Может измениться даже направление развития и философия дистрибутива. О том, как и зачем это происходит, мы поговорим в этой статье.

Из этой статьи ты узнаешь о феерии вокруг уже «полюбившейся» сообществу темы UEFI Secure Boot и о том, как ее преодолели разработчики ведущих дистрибутивов, о танцах вокруг systemd и решениях включать и не включать его в дистрибутивы, о дроблении графических систем и сред, о вторжении Ubuntu в мобильный и все остальные возможные рынки и о многом-многом другом.

Ubuntu anywhere

В последнее время наиболее интересными событиями, конечно же, стали многочисленные портирования Ubuntu на самые разные устройства. Еще в 2011 году Canonical представила версию Ubuntu для автомобильных информационно-развлекательных систем Ubuntu IVI Remix. Система была урезанной версией стандартной Ubuntu, подогнанной под требования альянса GENIVI, в который входят BMW, GM и многие другие. Дальше второй беты дело так и не пошло, и проект просто свернули.

![Ubuntu IVI Remix](ubuntu-ivi.jpg

Ubuntu IVI Remix
Ubuntu IVI Remix

Так и не закончив работу над автомобильной системой, Canonical взялась за телевизоры и уже в начале января 2012 года представила Ubuntu TV. В этот раз проект получился куда более продуманным и дальновидным. Программисты приняли абсолютно правильное решение избавиться от свойственной Linux мешанины из технологий и сделали Unity и базирующиеся на его технологиях приложения основой ОС. Благодаря этому интерфейс системы стал цельным, а разработчики получили возможность легко оптимизировать его для управления с помощью пульта.

Ubuntu TV
Ubuntu TV

Вторым важным отличием системы стала изначальная интеграция с магазином контента Ubuntu One, что автоматически открывало пользователям системы доступ к музыке и фильмам онлайн. Более того, Canonical даже реализовала механизм, позволяющий начать просмотр фильма на телевизоре и продолжить на планшете или смартфоне. В общем, все красиво, интересно и полностью открыто. Проблема только в том, что к моменту выпуска работоспособной версии Ubuntu TV рынок умных телевизоров уже был поделен между Apple и Google, и новая ОС оказалась никому не нужна.

Не успевая запрыгивать на один поезд за другим, Canonical решает попытать счастья и вскочить на, казалось бы, недосягаемый экспресс под названием «мобильные технологии», представив в начале нынешнего года Ubuntu for phones. Новая ОС продолжает идеи, начатые в ТВ-версии системы: Unity в качестве единой оболочки, Ubuntu One как источник контента и основанный на идее предоставления пользователю актуальной информации интерфейс.

Операционная система получилась действительно интересной, но слишком необычной и совершенно непривычной пользователю. Здесь все было ново и не так, как у всех. Вместо рабочего стола — сводка из последних запущенных приложений, прослушанных песен и вызываемых контактов, вместо меню приложений — всплывающая панель со столбцом иконок. Аудио- и видеоплееры встроены прямо в оболочку, а вместо привычной пользователям Android и iOS «шторки» здесь множество различных шторок. Однако, несмотря на необычность, Ubuntu for phones точно найдет свое место под солнцем: система базируется на CyanogenMod, а если быть точным — на системных компонентах этой прошивки, таких как ядро, драйверы и системные библиотеки и серверы. По этой причине Ubuntu for phones будет без танцев с бубном работать везде, где есть CyanogenMod версии не ниже девятой.

Спустя месяц Canonical подготавливает и пробную версию системы для планшетов. По сути, здесь ничего не меняется, все тот же интерфейс, тот же Ubuntu One, тот же CyanogenMod внутри плюс поддержка запуска классических настольных приложений. С этого момента Canonical объявляет, что все версии Ubuntu для различных типов устройств будут базироваться на одной кодовой базе, начатой еще в Ubuntu TV и доведенной до приемлемого состояния в Ubuntu for phones.

Ubuntu для планшетов
Ubuntu для планшетов

Интересно, что все эти метания Canonical оказали влияние также и на пользователей настольной версии ОС. Например, многие наработки Ubuntu в результате перекочевали и в интерфейс системы для ПК, а благодаря необходимости оптимизировать систему для работы на не самых мощных устройствах и в ситуации с ограниченным объемом батареи пользователи получили более быструю настольную систему (это хорошо заметно, например, в версии 13.04).

Наступление Wayland

Второе важное событие произошло в октябре 2012 года, когда была представлена первая стабильная версия протокола Wayland. Напрямую с дистрибутивами это не связано, но будет связано совсем скоро, так как X11 в конце концов канет в Лету и на смену ему придет композитный сервер Weston или любой другой, поддерживающий протокол Wayland. О своем желании внедрить эту технологию высказались разработчики многих дистрибутивов, включая Fedora, Ubuntu и Arch.

Что такое Wayland и зачем он нужен? В двух словах — это замена иксов, причем полная и бескомпромиссная. Это совершенно новая графическая подсистема для Linux, созданная, чтобы решить проблемы X11, связанные с устаревшей архитектурой, запутанностью кода, огромной избыточностью и нездоровыми аппетитами к памяти. Чтобы не развивать и не тащить этот кусок устаревшего кода, которому в прошлом году стукнуло 25 лет, было решено начать все с нуля, создав простой, легкий и соответствующий современным реалиям дисплейный сервер и протокол.

Поддержка Wayland уже есть в Qt5, GTK+3, XBMC, многих популярных приложениях, открытых драйверах intel, radeon и nouveau (точнее, Wayland их поддерживает), а для совместимости со всем остальным балластом уже реализован сервер XWayland, позволяющий запускать любой X11-софт. Работа по портированию GNOME 3, KDE и Enlightenment идет полным ходом, так что иксы выкинут уже совсем скоро.

Интересно, что одной из первых об интеграции нового сервера в свой дистрибутив заявила команда Ubuntu и даже пригрозила сделать это к выпуску релиза 12.10. Само собой, обещания они не выполнили, а вместо этого заявили о создании собственного дисплейного сервера Mir — он будет отличаться парой-тройкой плюшек, отсутствие которых сильно возмутило разрабов Ubuntu.

Эта новость сразу вызвала большой резонанс среди разработчиков X.org, Wayland, KDE, Enlightenment и других проектов, которые начали резко критиковать Canonical за дробление системных компонентов и безосновательные претензии к Wayland. Как оказалось, почти все из необходимых Canonical функций уже есть в Wayland, а те, которых нет, могут быть с легкостью реализованы в виде расширений. Лидеры проектов KDE и Enlightenment c недоумением отнеслись к идее реализации нового графического стека и вообще отказались поддерживать его, как узкую специфичную разработку.

Несмотря на все это, Canonical упорно продолжала гнуть свою линию, игнорируя все доводы других разработчиков, чем еще больше удивляла сообщество. Наиболее реалистичное объяснение такому поведению дал разработчик X.Org Дэвид Эйрли, который предположил, что столь бессмысленный проект может быть начат только по политической причине. Другими словами, для Canonical Mir — это способ заявить о себе как о ведущем игроке рынка и благодаря популярности Ubuntu сосредоточить в своих руках разработку всей графической подсистемы. С другой стороны, Эйрли готов предположить, что объяснение в простой глупости команды Ubuntu.

Как бы там ни было, а Mir фактически уже доступен в Ubuntu и, начиная с версии 13.04, может быть протестирован всеми желающими. Если все пойдет в том же духе, то Canonical может стать новым мелким, но пакостливым Майкрософтом, который будет принято обливать грязью и называть мастдаем.

Ubuntu и Rolling-релизы

И третье событие опять создает Canonical. На этот раз неутомимым ребятам под руководством бравого космонавта приходит в голову идея перевести дистрибутив на Rolling-модель обновления, предполагающую, что релизов больше не будет, а дистрибутив будет всегда находиться в состоянии развития, то есть обновляться по мере обновления пакетов в репозитории.

Те, кто использует Arch Linux или Gentoo, знают, как работает такая модель: один раз устанавливаешь дистрибутив, а затем всю жизнь сидишь на новой версии, просто обновляя дистрибутив с помощью менеджера пакетов хоть каждый день. Само собой, это очень удобно и притягательно как для пользователей, которые хотят постоянно получать новые версии софта, так и для разработчиков — теперь им не нужно поддерживать сразу несколько версий дистрибутива (стабильный и разрабатываемый), а можно сосредоточиться на одном. Некоторые разрабы Canonical резонно решили, что это есть гуд, и начали активно обсуждать идею.

Вот только они не учли того, что почти все имеющиеся на рынке дистрибутивы с моделью Rolling-релизов — это дистрибутивы для продвинутых пользователей. И этому есть простое объяснение: когда речь идет о полном обновлении дистрибутива из любой точки, произойти может все что угодно. Rolling-модель работает лишь до тех пор, пока пользователь регулярно обновляет дистрибутив, тогда все новшества плавно интегрируются ровно так, как это предусмотрели разрабы. Но что, если попытаться обновить дистр, который был установлен год или даже два назад и ни разу не обновлялся? Я делал это и скажу честно, что головоломка не для слабонервных.

Кроме того, Rolling — это всегда все новое и свежее. А такая идея придется по вкусу далеко не всем. Одно дело, когда интерфейс нужной по работе программы кардинально меняется в ходе планового глобального обновления, для которого ты выделяешь свой выходной, а другое — если это происходит утром в понедельник, когда надо срочно писать доклад. В общем, ситуация сложная, и затея вряд ли стоит того, чтобы тратить на нее время.

Интересно, что еще в январе 2013 года с точно такой же инициативой выступили разработчики Fedora и даже создали соответствующий репозиторий с непрерывными обновлениями Rawhide, однако пока дело не идет. К тому же не лишним будет отметить, что глобальные обновления Fedora случаются намного реже убунтовских шести месяцев, так что там подобная инициатива куда более уместна.

Systemd и все-все-все

В 2010 году Novell и Red Hat анонсируют новую систему инициализации systemd. В том же году система добавляется в Fedora в качестве экспериментальной, а в 2011-м становится основной. На протяжении последующих двух лет systemd вбирает в себя функциональность большого количества смежных системных компонентов и превращается в единый системный менеджер, управляющий загрузкой, запуском сервисов, журналированием, горячим подключением устройств, сетевыми соединениями, сессиями и правами пользователей. В конце 2012 года консервативный Arch Linux завершает переход на systemd, чем подтверждает, что от Леонарда Поттеринга не спасется никто.

Шумиха вокруг systemd началась еще в момент его появления и продолжает разрастаться. Идея единой системы загрузки и управления всеми системными событиями пришлась по вкусу далеко не всем, в результате чего мир Linux раскололся на два лагеря. С одной стороны оказались апологеты классического UNIX-way, предполагающего, что система должна состоять из большого количества простых обособленных компонентов, а с другой — сторонники интеграции, заявляющие, что systemd позволяет сделать управление системой более простым, очевидным и привести все системные инструменты к единому виду.

С последней точкой зрения согласились Red Hat, Novell и другие компании, которые зарабатывают на Linux деньги, в них systemd уже используется по умолчанию. Против systemd выступили независимые сообщества, такие как Gentoo и Debian (последний, впрочем, старается угодить всем). Интересно, что на стороне systemd оказался и истинно гиковый дистрибутив Arch Linux, но здесь причина проста и банальна: ребятам было проще перейти на systemd, чем тащить собственную систему инициализации.

В результате получилась интересная картина, в которой фрагментация Linux стала еще более очевидной. На одном полюсе находятся адепты systemd, такие как Red Hat и Novell, на другом — приверженцы классического подхода, такие как Debian, Gentoo и Slackware, плюс есть еще куча дистрибутивов, основанных на Ubuntu, в которых используется Upstart. Впрочем, последний не так страшен, поскольку использует классические sh-скрипты инициализации, а не какие-то непонятные unit-файлы, написанные на собственном языке программирования, как в systemd.

Но и это еще не все. Благодаря тому что systemd со временем впитал в себя функциональность и код других смежных системных компонентов, таких, например, как udev, управляющий горячим подключением устройств, и ConsoleKit, реализующий многосеансовость, разработчикам тех дистрибутивов, интеграция systemd в которые не планируется, пришлось как-то выкручиваться из положения.

Так, в начале 2013 года Ubuntu начал постепенно впитывать в себя наработки systemd, и в 13.04 в качестве обязательного появился пакет systemd-services, включающий в себя hostnamed, localed и timedated, отвечающие за изменение и уведомление приложений об имени хоста, локали и времени. В будущем Canonical также планирует замену ConsoleKit на systemd-logind, позволяющий реализовать одновременную работу нескольких юзеров на одной машине. Вот только logind сильно завязан на systemd, и не совсем понятно, как из этой ситуации будут выходить разрабы.

Забавно, что девелоперы Gentoo пошли еще дальше и объявили о создании собственного форка udev, независимого от systemd. Проект получил имя eudev и ставит своей целью вернуть в udev то, что было из него выделено после интеграции с systemd, например поддержку UNIX-сокетов.

Linux Mint и страсти по GNOME 2

Появившись просто как очередная редакция Ubuntu для тех, кто не хочет заморачиваться с установкой дополнительных компонентов, Linux Mint со временем обрел собственные черты, выделяющие его на фоне других дистрибутивов. Linux Mint заслужил популярность благодаря своему классическому облику. Разработчики не стали заимствовать из Ubuntu оболочку Unity и так и не перешли окончательно на GNOME 3, до последнего используя вместо него GNOME 2, а затем и его форк под названием MATE и набор дополнений для GNOME 3 MGSE (Mint GNOME Shell Extensions), делающих новый GNOME похожим на старый.

Linux Mint с окружением MATE
Linux Mint с окружением MATE

Тем не менее на устаревших технологиях и одних только дополнениях далеко не уедешь, и поэтому лидер проекта принял решение создать ни много ни мало форк GNOME 3, который бы выглядел и работал как старый добрый GNOME 2, но при этом базировался на новых технологиях и предлагал пользователям полезную функциональность из новой версии GNOME. Проект был анонсирован в конце 2011 года, а в середине 2012-го уже вышел Linux Mint 13 с новой графической оболочкой Cinnamon.

По сути, Cinnamon — это просто приведенный к виду классического десктопа GNOME 3, в котором есть панель с меню, с областью быстрого запуска, перечнем открытых окон и системным лотком. При этом оболочка наследует все лучшие черты GNOME 3, включая расширяемость и повсеместное использование OpenGL-вывода. В состав Cinnamon также входит файловый менеджер Nemo, представляющий собой форк Nautilus 3.4, в котором сохранены такие возможности, как панель инструментов и меню, двухпанельный режим, меню со ссылками для быстрого перехода, компактная форма отображения списка файлов и боковая панель.

Интересно, что вместе с Cinnamon команда разработчиков Linux Mint продолжает использовать и рабочий стол на основе MATE — форка GNOME 2, продолжающего идеи классического рабочего стола.

Рабочий стол Linux Mint
Рабочий стол Linux Mint
Фирменное меню Linux MINT
Фирменное меню Linux MINT

Империя зла, UEFI Secure Boot и Linux

Еще в конце 2011 года компания Microsoft объявила о необходимости обязательной активации режима Secure Boot, требующего подписи ядра и драйверов, во всех системах на базе UEFI, которые должны поддерживать Windows 8. В результате этого требования стало фактически невозможно загрузить отличные от Windows ОС на UEFI-системах, так как разработчики открытых ОС просто не обладают необходимыми ресурсами, чтобы договориться с производителями железа о включении своих закрытых ключей в материнские платы и другие компоненты.

В результате разразился большой скандал, в котором Microsoft обвинили в использовании монопольного положения с целью выдавить других игроков с рынка. Разумеется, на саму MS это никак не повлияло, и требование активировать Secure Boot осталось в силе, а вот разработчикам открытых ОС, как всегда, пришлось подстраиваться.

Первыми отреагировали разработчики Fedora, которые, не долго думая, купили открытый ключ у самой Microsoft, сделали минималистичный загрузчик, подписанный этим ключом, и включили его в состав дистрибутива. Вскоре, ругаясь, матерясь, но не видя иного выхода, за ними последовали другие представители сообщества, а в конце 2012 года сама Linux Foundation выпустила загрузчик, который предлагается использовать всем, кто пожелает, но так и не смогла договориться с MS о его подписи.

Сегодня поддержка UEFI Secure Boot реализована только в некоторых дистрибутивах посредством опубликованного проектом Fedora загрузчика Shim. В частности, Secure Boot будет поддерживаться в Fedora 18, уже поддерживается в 64-битной версии Ubuntu 12.10 и выше, в дистрибутиве Sabayon (создан на базе Gentoo), а также в ближайшее время будет доступна в SUSE и Debian.

Интересно, что в основанном на UEFI планшете-нетбуке Windows Surface, работающем под управлением Windows 8, этот загрузчик и ключи, полученные от MS, не действуют, так как Империя зла, в очередной раз доказав свой титул, прошила в устройство только свои собственные закрытые ключи, оставив сообщество не у дел. Впрочем, в этой ситуации к MS не может быть претензий, так как это полностью ее устройство, изначально спроектированное для работы только с Windows 8.

Выводы

Дистрибутивы развиваются, изменяясь и преображаясь со временем, однако последние события показывают нам довольно печальную картину. Все более и более заметен раскол технологий и разработчиков, все больше дистрибутивов отходят от UNIX-way и превращаются в сложные ОС, в которых уже бывает трудно что-то починить, просто открыв консоль. Возможно, это к лучшему, так как конкуренция рождает более совершенные технологии, однако, скорее всего, мы наблюдаем за последней стадией искоренения UNIX внутри Linux.

INFO

К разработке Wayland подключились некоторые разработчики X.Org. О намерении обеспечить возможность работы поверх Wayland объявили такие проекты, как KDE, GNOME и Enlightenment.

Примечательно, что разработчики проекта X.Org планируют включить компонент XWayland в состав X.Org Server, начиная с выпуска 1.15.

Встраиваемый комп под управлением Ubuntu IVI Remix продается до сих пор: goo.gl/wFbgu.

Разработчики Arch Linux объявили о создании проекта ArchBSD (goo.gl/hv8jO): ядро FreeBSD + окружение Arch.

Оставить мнение

Check Also

Конкурс хаков: пишем на PowerShell скрипт, который уведомляет о днях рождения пользователей Active Directory

В компаниях часто встречается задача уведомлять сотрудников о приближающихся днях рождения…