Russian Fedora

cообщество русскоязычных участников
международного проекта Fedora

Улучшения в gettext и другие новости

Это архивная статья

Последние несколько лет мэйнтейнером gettext является наш коллега, инженер Red Hat и участник Fedora Project, Daiki Ueno. За это время в gettext были внесены важные улучшения, благодаря которым нет никакой нужды использовать конкурирующее решение - intltool, разрабатывающееся в Launchpad с помощью bzr. Наш коллега, Matthias Clasen, в своем блоге постарался рассказать о преимуществах gettext.

Вкратце, это большое количество понимаемых форматов (*.desktop, файлы Gtkbuilder, *.appdata.xml, *.metainfo.xml), включение и использование переведенных строк, и удобство подключения новых XML-форматов к gettext.

Peter Hutterer объявил, что libinput окончательно завершен.

У него закончился TODO-список. Эта библиотека будет основным источником ввода для Wayland, поэтому это очень важно. Fedora перешла на libinput, как основной драйвер для X11 начиная с Fedora 22 - таким образом будет достигнут бесшовный переход на Wayland. Недавно, кстати, выпустили Wayland Protocols 1.5 - набор дополнительных протоколов для Wayland, и среди изменений есть относящиеся к touchpad. Немного опасаемся за будущее Wayland. В XMPP идея о базовом функционале и дополнительных функциях, реализуемых в виде необязательных к следованию им XEP, привела к тому, что гарантированно работали только базовые функции, и от протокола массово начали отказываться большие вендоры в пользу самописных, более функциональных решений.

Постепенно набирает скорость Vulkan. Наш коллега, инженер Red Hat и участник Fedora и Debian, David Airlie, предложил первый вариант Vulkan-драйвера для некоторых видеокарт AMD.

Новости о systemd больше не пугают революционностью. Недавно systemd дорос до версии 231.

Основная работа, судя по ChangeLog, идет в направлении контейнеров и systemd-networkd. Интересно, что и systemd, и wayland стали настолько хороши, что GNOME в Fedora 24 теперь использует их практически незаметно для пользователя (обратите внимание на строку 259, где располагается процесс с PID 2147).

А ведь нам уже говорили, что systemd --user планировали переработать.

OpenVZ 7.0

Это архивная статья

Наши друзья из Parallels / OpenVZ наконец-то выпустили седьмую версию своего флагманского продукта.

В этой версии, что особенно примечательно, было принято решение использовать KVM вместо самописного проприетарного гипервизора. Из других фич - использование CRIU для живой миграции контейнеров, еще меньшая разница между ядрами OpenVZ и RHEL, и постепенный отказ от утилиты vzctl в пользу virsh или аналогичных решений. И особенно хочется отметить последовательную реализацию плана по открытию своих технологий и увеличению прозрачности процесса. Вы знали, что у OpenVZ есть аккаунт на GitHub? Решения, разработанные в Parallels, разбираются и другими вендорами, например Red Hat, где CRIU доступен как "technology preview" начиная с RHEL 7.2. В RHEL версия уже старовата, но попробовать можно. К сожалению не всегда к инженерам Parallels прислушиваются внимательно. Например, разработчики Parallels нашли ошибку в ядре года три назад, но тогда никто особо не заинтересовался. А вот недавно, та ошибка внезапно привлекла всеобщее внимание, т.к. с помощью Docker, который как некоторые ошибочно считают мегабезопасен, ее можно использовать на некоторых хостингах контейнеров. Сразу бы так.

Знаковость.

Это архивная статья

Один из наших коллег был вынужден использовать вот такой патч:
--14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14,
--14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14,
+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,
+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,

Не все так однозначно!

Rust в Fedora

Это архивная статья

Ситуация с языком Rust сдвинулась с мертвой точки. Совсем недавно Rust официально одобрили для включения в Fedora. Как раз успеем - наши коллеги уже используют язык для системного ПО, и отладка приложений на Rust уже доступна в GBD. Включение Rust и сопутствующей сборочной инфраструктуры, пакета Cargo, объявлено фичей Fedora 25.

Firefox с версии 48 будет использовать компоненты, написанные на Rust, и разработчики Mozilla Foundation всячески призывают следовать их примеру.

Так что инициатива нашего коллеги, Andy Grover, по использованию Rust в системном ПО тоже получила поддержку с их стороны. Недавно Andy выступил на ежемесячном митапе по Rust, проводимом MoFo. Тема его выступления была - "Froyo: Using Rust to get fancy with storage". К сожалению, доступно только видео на Archive.org: Раз уж заговорили о Rust, то обратите внимание на это спорное предложение. Will Crichton, бывший интерн Palantir Technologies и Jane Street Capital, предлагает при разработке DSL и просто новых языков программирования выбирать не LLVM, а Rust в качестве целевой платформы. К 2035 году в РФ планируют разработать суверенный национальный язык программирования, безопасный к взлому и уводу аккаунта во Вконтакте, так что самое время начать обсуждение его архитектуры.

systemd на ChromeOS

Это архивная статья

Потихоньку идет процесс перевода операционок от Google на современные компоненты. Несмотря на то, что Chrome OS и Android не будут сливаться в одну систему (т.е. будут, но путем переноса фич туда-сюда, а обои будут разные), и та, и эта системы пока технологически отстают от дистрибутивов линукса. Например, SELinux в Android включили лишь в 2012 году, что гораздо позже Fedora / RHEL (ну, кстати, в Ubuntu его до сих пор нет, что сильно подрывает и без того плохую ситуацию с безопасностью этого дистрибутива).

PulseAudio и Wayland были доступны на Android в качестве очень очень экспериментальной сборки от стороннего разработчика. Но самая плохая ситуация была с системой инициализации. В Chrome OS до сих пор используется Upstart, а в Android самописная система инициализации - init.

К счастью, благодаря тому, что Chrome OS основана на Gentoo, сменить init-систему на systemd не так и сложно, что продемонстрировали разработчики CoreOS, заменившие Upstart на systemd. Тем не менее, пока Chrome OS официально использовал лишь устаревший и малофункциональный Upstart.

Неожиданно выяснилось, что инженеры Intel уже несколько месяцев работают над возможностью использовать стандартное дерево Chrome OS с systemd.

Пока непонятно, насколько полно поддерживается systemd в Chrome OS, но новость позитивная.

Ситуация с безопасностью скачивания дистрибутивов и обновлений к ним

Это архивная статья

Участник коммьюнити Debian, Philipp Emanuel Weidmann, решил разобраться, как обстоит дело с безопасностью при скачивании популярных дистрибутивов? Он выделил несколько ключевых моментов:
  • Страница со ссылками на скачивание должна быть доступна по HTTPS
  • Еще лучше, чтобы она была доступна только по HTTPS и желательно с HSTS
  • Файлы (пакеты, ISO-образы, и т.п.) должны скачиваться по HTTPS
  • На странице со ссылками должна присутствовать контрольная сумма скачиваемых образов
  • На странице со ссылками должна присутствовать GPG-подпись проекта
  • Должна присутствовать инструкция по проверке скачанного

Результаты кого-то сильно удивят, но, конечно, не нас. Мы-то знаем, что в плане обеспечения безопасности пользователя Fedora всегда последовательно реализует лучшие из имеющихся схемы - как и внутри системы (контрольные суммы у пакетов, SELinux, SecureBoot/RestrictedBoot), так и снаружи. Приведем таблицу, которую составил Philipp на 17 июля 2016 года:

System Message: ERROR/3 (<string>, line 27)

Malformed table.

+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| Distro                                                                    | HTTPS supported   | HTTPS forced   | HTTPS download   | Checksum                 | Signature                | Instructions             |
+===========================================================================+===================+================+==================+==========================+==========================+==========================+
| `Mint <https://linuxmint.com/download.php>`__                             | Yes               | Yes            | No\ :sup:`1`     | Externally hosted        | Yes                      | Difficult\ :sup:`2`      |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| `Debian <https://www.debian.org/distrib/netinst>`__                       | Yes               | Yes            | No               | Hard to find\ :sup:`3`   | Hard to find\ :sup:`3`   | Difficult\ :sup:`3`      |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| `Ubuntu <https://www.ubuntu.com/download/desktop>`__                       | No                | No             | No               | HTTP only                | Yes                      | Very clear               |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| `openSUSE <https://en.opensuse.org/openSUSE:Tumbleweed_installation>`__   | Yes               | Yes            | No               | HTTP only                | No                       | None                     |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| `Manjaro <https://manjaro.github.io/download/>`__                         | Yes               | No             | No               | Yes (SHA-1)              | Yes                      | Clear                    |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| `Fedora <https://getfedora.org/en/workstation/download/>`__               | Yes               | Yes            | Yes              | Yes                      | Yes                      | Clear\ :sup:`4`          |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| `Zorin <http://zorinos.com/download9.html>`__                             | No                | No             | No\ :sup:`5`     | HTTP only                | No                       | None                     |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| `CentOS <https://www.centos.org/download/>`__                             | Yes               | Yes            | No               | Hard to find\ :sup:`6`   | No                       | Hard to find\ :sup:`6`   |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| `elementary <https://elementary.io/>`__                                   | Yes               | No             | Yes              | Yes                      | No                       | Clear                    |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+
| `Arch <https://www.archlinux.org/download/>`__                            | Yes               | Yes            | No               | Yes (SHA-1)              | Yes                      | None                     |
+---------------------------------------------------------------------------+-------------------+----------------+------------------+--------------------------+--------------------------+--------------------------+

1 Some download mirrors support HTTPS, but are linked to via HTTP only.
2 The (externally hosted) signature and checksum files are not linked to directly. The user has to navigate through multiple subdirectories to find them.
3"Official releases of Debian CDs come with signed checksum files; look for them alongside the images in the iso-cd, jigdo-dvd, iso-hybrid etc. directories." No directory or direct links are provided. Verification instructions are not linked to from the download page.
4 Not linked to directly from the download page.
5 Additionally, Zorin OS downloads are funneled through intransparent "bit.ly" links.
6 No instructions on the download page. A web search brings up a page with obscure references to a "md5sum.txt" that "can be found in the same directory as the iso image".

Ну что тут скажешь, некоторые дистрибутивы очень удивили своим подходом к безопасности пользователей. У нас-то тоже не все бывает ладно, например, проверку подписей пакетов, скачиваемый во время установки в Anaconda реализовали лишь в Fedora 19, но чтобы вообще полоска результатов была красной или почти красной, то это не к нам, а к другим удобным и популярным среди начинающих дистрибутивам.
Выбирайте дистрибутив не по тому, что вам советовали дуалбутчики в школе или институте, и насколько легко в нем ставится проприетарное ПО, а по тому, как его разработчики подходят к решению базовых вопросов.

День рождения OpenStack в Москве

Это архивная статья

Шесть лет OpenStack За шесть лет OpenStack прошел путь стремительного развития. Нашему глобальному сообществу удалось создать, поддерживать, обновлять и внедрять одну из самых востребованных и эффективных технологий для построения частных и публичных облаков.

Сейчас проект OpenStack объединяет более 25 тысяч специалистов из 165 стран и поддерживается более, чем 500 компаниями. На нашем первом OpenStack саммите в 2010 году было всего 75 человек, а уже в ноябре 2014 – более 4700! Каждый год в июле все локальные OpenStack сообщества по всему миру собираются вместе для того, чтобы подвести итоги предыдущего года, пообщаться друг с другом и главное - поздравить OpenStack с днем рождения. Для нашей страны прошедший год был знаковым, так как к нашему сообществу присоединились не только новые разработчики, но и российские компании, которые работают с данной технологией.

Мы приглашаем Вас разделить с нами радость этого дня и принять участие в мероприятии! В программе: конференция, поздравления и подарки от OpenStack Foundation и спонсоров, празднование для рождения и фуршет.

Посмотреть подробности и зарегистрироваться можно на сайте мероприятия.

Kristian Høgsberg перешел из Intel в Google

Kristian Høgsberg, участник Fedora и уже бывший инженер Intel, всем известный, как основной архитектор Wayland, с июля 2016 перешел в Google. Главное теперь, чтобы гугли не решили с его помощью спроектировать что-нибудь еще более новое и несовместимое, а начали бы долгожданный переход на Wayland! Поздравляем, Kristian!