Итоговая пачка фич Fedora 21

Уже готов итоговый список того нового, что будет ждать нас в Fedora 21. Мы уже несколько раз рассказывали про принятые фичи по мере их поступления, а теперь можно подвести промежуточный итог (курсивом выделены фичи, про которые мы уже говорили, а зачеркнуты фичи, которые пришлось перенести или от которых пришлось отказаться):

  • (А)периодически обновляемые базовые установочные образы для облачных систем. Планируется их периодически пересобирать, скажем для включения исправлений безопасности.
  • Доработка autofs - добавление парсера amd-формата (automount daemon). Проект am-utils заброшен, и autofs выглядит более перспективно, но, к сожалению, в autofs до сих пор не хватает некоторого функционала из am-utils, среди которого поддержка amd-формата. Вот его добавление и запланировано.
  • Полная поддержка чипов Allwinner sunxi (A10 / A13 / A20) (используются, например, в CubieTruck). Работа будет проведена в рамках Fedora ARM SIG. До сих пор Fedora на этой платформе работала благодаря ремиксу, а теперь планируется включить все нужное прямо в Fedora для ARM. К сожалению, поддержка графического режима работы пока не планируется.
  • Включение в репозиторий Amplab Tachyon, распределенной файловой системы. Эта работа проводится в рамках Fedora BigData SIG.
  • Anaconda Server Roles - плугин для анаконды, реализующий некоторые часто используемые операции для серверов, слишком сложные для скриптов в секции %post.
  • Включение в репозиторий Apache Accumulo, распределенного KV-хранилища.
  • Включение в репозиторий Apache Ambari, фреймворка для управления кластерами и GUI для Hadoop.
  • Включение в репозиторий Apache HBase, распределенной базы данных, построенной на базе Hadoop.
  • Включение в репозиторий Apache Hive, хранилище данных, построенное на базе Hadoop.
  • Включение в репозиторий Apache Mesos, система управления кластерами. Можно сказать, что это микроядро для кластерных систем. Также для Fedora BigData SIG.
  • Включение в репозиторий Apache Oozie , планировщика заданий Hadoop.
  • Включение в репозиторий Apache Pig, платформы для анализа больших объемов данных.
  • Включение в репозиторий Apache Spark, еще одного кластерного компонента, предназначенного для обработки больших объемов данных.
  • AppInstaller - полная интеграция нового инсталлятора ПО в GNOME.
  • Обновление Erlang до версии 17, и начало работы по интеграции Erlang и systemd.
  • Выпуск нескольких дополнительных установочных образов для приложений Big Data в облачных системах.
  • Внедрение технологии LVM Cache Logical Volumes, когда в LVM быстрые SSD-диски используются для кэширования более медленных.
  • Включение Cockpit Project по умолчанию в образы для Fedora Server.
  • Более удобный способ использования образа для облачных систем для обычных серверов. Т.е. быстрый способ попасть со скотного двора в дом.
  • Перевод приложений с cron jobs на timer-юниты systemd. Участник покинул Fedora Project из-за несогласия по ряду вопросов.
  • Унификация системных крипто-политик. Это еще один шажок в сторону унифицированного общесистемного криптографического фреймворка, с централизованным управлением. Сейчас планируется ввести общесистемную установку уровня безопасности. В идеале, изменяя некий текстовый файл, системный администратор установит минимальный размер ключей, список допустимых криптоалгоритмов и т.п. для всей системы. Все крипто-библиотеки и крипто-приложения должны учитывать установленные параметры. Работы довольно много - это не 11 новых обоев, но мы надеемся, что наши коллеги успеют.
  • Поддержка ведения журнала CUPS в journald, который традиционно пишет в файлики в /var/log/ Это часть более значительного проекта по унификации ведения журнала во всех приложениях и демонах. Мы уверены, что все OpenSource-приложения должны перестать писать в файлики, в syslog и т.п, и переходить на унифицированный фреймворк, предоставляемый systemd, т.е. journald. И мы надеемся, что вы в ближайшее время услышите еще о фичах из этой серии.
  • Среди ролей проекта Fedora Server будет роль сервера базы данных.
  • Официальный образ Fedora для Docker, собранный Fedora Release Engineering, а не кем-то еще.
  • Среди ролей проекта Fedora Server будет контроллер домена (на основе FreeIPA).
  • Обновление Boost до версии 1.56.
  • Обновление Make до версии 4.0.
  • Обновление TCL/TK до версии 8.6.
  • Очередное изменение во флагах GCC по умолчанию - включение -Werror=format-security. Как обычно, будет запланирована полная пересборка всего дерева. В качестве теста мы уже попробовали пересобрать дерево, и нашли почти две сотни проблем, часть из которых уже исправлена (и патчи, как обычно, уже отправлены или отправляются в апстрим). Типичное исправление выглядит довольно просто, но его нужно сделать, чем мы традиционно и занимаемся.
  • Фреймворк для управлений ролями Fedora Server.
  • Обновление GCC до версии 4.9.x. Как всегда, запланирована полная пересборка всех пакетов.
  • Обновление GHC до версии 7.8. Работа будет проведена участниками Fedora Haskell SIG.
  • GNOME 3.12, вышедший несколько месяцев назад, и уже доступный в специальном тестовом выпуске RFFemix 20.
  • "Headless" Java. Одной из популярных претензий к большим языковым платформам, поставляемым в Fedora /RHEL, было "мне нужно запустить демон на %название_языка%, а он тянет за собой пол-иксов" (например, так жалуются на Erlang). Теперь появится возможность поставить Java без "десктопных" компонентов, таких, как X11 и PulseAudio.
  • Улучшенная интеграция менеджера пакетов Apache Ivy с Fedora.
  • Улучшения в экосистеме Scala. Несмотря на то, что в Fedora формально Scala уже есть, пользоваться ей, без сторонних репозитариев, пока было сложно. В рамках этого изменения будет добавлен ряд отсутствующих компонентов.
  • Перенесенная с Fedora 20 фича - поддержка DNSSEC в FreeIPA.
  • Java 8 по умолчанию - очень серьезное изменение.
  • Долгожданное включение Jenkins. ДО сих пор его у нас не было, как это ни прискорбно.
  • System-wide jQuery. Сейчас у нас нет пакета с jQuery в дистрибутиве, поэтому каждое приложение, которое его использует, тянет его как bundled lib, и эта практика в общем случае приводит к куче проблем. Теперь, после включения пакета в дистрибутив, от мэйнтейнеров приложений, использующих jQuery, будет требоваться перейти на system-wide копию, либо получить от FESCo разрешение.
  • Обновление KDE до KDE Frameworks 5.
  • Переход с bzip2 на lbzip2, независимую реализацию, поддерживающую многопоточность. Сейчас идет обсуждение этой фичи, и некоторые наши коллеги сомневаются в целесообразности полного перехода, т.к. в рамках lbzip2 не было предусмотрено библиотечного API. Автор утверждает, что может "легко запилить", но это мы слышим постоянно, и народ был неособо этим впечатлен.. Отказались (отложили до Fedora 22 или позднее).
  • libzhuyin, незатейливо названный компонент (очередной!) для ввода китайских символов.
  • Переименование фонтов Lohit Oriya и Lohit Punjabi в Lohit Odia и Lohit Gurmukhi, как того требует правительство индийского штата Орисса.
  • Обновление MariaDB до версии 10.0.
  • Обновление MATE до версии 1.8.
  • Сделать ядро Linux более модульным, чтоб не устанавливать (или легко удалять) ненужные модули при установке в виртуальные машины.
  • Обновление Mono в Fedora с версии 2.10 до 3.4. Мы уж думали, что Mono забросили.
  • Создавать официальные облачные образы с помощью Anaconda и Koji. Это и повысит прозрачность и создания, и упростит повторяемость процесса, и просто улучшит качество Anaconda и нашей инфраструктуры. Чем меньше нестандартных утилит и шагов используется в работе нашей rel-eng группы, тем лучше.
  • Включение в репозиторий NFS Ganesha, независимой реализации NFS-сервера, работающей в user-space. Работа будет проведена одним из upstream-разработчиков.
  • Базовая поддержка OpenCL в Fedora 21.
  • Объявить *-javadoc пакеты необязательными. С начала массовых пересборок для ARM и переходом на Java 8, выяснилось, что 80% ошибок сборки возникли во время создания javadoc-пакетов. Было решено сделать их необязательными, чтоб не блокировать сборку основных пакетов. Исправление ошибок в javadoc, это невысокоприоритетная задача, так как полно более важных дел, но когда-нибудь мы может быть возьмемся и за нее.
  • Общесистемная политика доступа к смарт-картам. Ну тут все понятно. Планируется запретить неавторизованным пользователям и/или процессам доступ к смарт-картам.
  • Обновление PHP до версии 5.6.
  • Репозиторий-песочница. Мы продолжаем экспериментировать с формами взаимодействия мэйнтейнеров и пользователей. В рамках этой фичи будет создан "тестовый" репозиторий, в котором будут находиться пакеты в процессе их рецензирования или просто экспериментальные. Особенно отмечается, что в репозиторий запрещено включать ПО нарушающее т.н. "софтверные патенты".
  • PrivateDevices=yes и PrivateNetwork=yes для всех сервисов, которые предназначены для долговременной работы. Это очередная фича systemd, которую мы начнем активно использовать. Идея в том, чтобы отобрать у сервисов, которым это не нужно, доступ к физическим устройствам (PrivateDevices=yes), или вообще доступ к сети (PrivateNetwork=yes). Такие ограничения резко снизят возможности злоумышленников.
  • Обновление Python3 до версии 3.4
  • Python3 по умолчанию. Решили перенести на Fedora 22.
  • Пересылка системного журнала Journald на удаленную машину, как это было давно реализовано в syslog.
  • Удаление виртуальной "Provides: python-setuptools-devel" и соответствующих BuildRequires/Requires из rpm-пакетов.
  • Обновление Review Board до версии 2.0.
  • RPM 4.12. Это очень серьезный апдейт - в нем, например, будут включены "мягкие" зависимости.
  • Ruby 1.9.3 и RoR 3.2.8 будут доступны в SCL (см. ниже).
  • Обновление Ruby до версии 2.1.
  • Обновление Ruby on Rails до версии 4.1
  • Включение Software Collections
  • Перенесенная с Fedora 20 фича - Переход KDE с KDM на SDDM.
  • Включение Serf 0.4.5, написанного на Golang децентрализованного оркестратора сервисов.
  • Включение Shogun Machine Learning Toolbox.
  • Облачные образы системы будут уменьшенного размера.
  • В SSSD будет доступен GPO-Based Access Control.
  • Поддержка конфигурационных файлов syslinux в U-boot. Традиционно, в ARM-системах, то, как надо загружать систему, "хардкодилось" прямо в U-boot, что, само собой, неудобно для дистрибутивов общего пользования. Поэтому было принято решение вынести платформо-специфичные настройки в отдельный файл конфигурации, который будет создаваться Anaconda или самим пользователем, и который будет использоваться U-boot во время загрузки. Возможно в будущем перейдут на спецификации для загрузчиков от FreeDesktop.org, но пока будет вот так.
  • Использование RPM-макроса %license в пакетах, из которых собираются облачные образы. Это позволит удалять документацию на этапе сборки, но оставлять лицензионную информацию. Мы очень тщательно подходим к вопросам лицензирования. Однако стоит предупредить, что старые версии RPM трактуют неизвестные им мкросы как ошибки (таковы были архитектурные решения того времени), так что не получится использовать один и тот-же SPEC-файл на Fedora и старых версиях RHEL, например.
  • Запуск 64-битных ARM-машин на x86_64-хостах. Эти ARM-системы собираются выпускать в РФ, так что интерес уже есть - нужно удовлетворять! К тому же практика такова, что ARM на эмуляции в x86_64-хосте работает быстрее, чем на нативном железе.
  • Полная поддержка Wayland в GNOME.
  • Поддержка аутентификации Web-приложений на системном уровне, например с помощью плугинов Apache для SSSD.
  • Выделение специальной директории для Web Assets (CSS-файлы, JS-скрипты и т.п.). Также теперь мы будем стараться применять практику "no bundled libs" ко всем JS-скриптам в системе.
  • Долгожданный X.org без прав суперпользователя. Эта фича стала возможно благодаря работе нашего коллеги, инженера Red Hat, Hans de Goede, о чем вы уже могли слышать. Недавно Ханс похвалился, что все уже готово.



В этот раз релиз будет просто ошеломляющим!