Бета-выпуск Ubuntu 19.04

Представлен бета-выпуск дистрибутива Ubuntu 20.04 «Disco Dingo», который ознаменовал переход к стадии полной заморозки пакетной базы и итоговому тестированию и исправлению ошибок. Релиз, который отнесён к категории выпусков с длительным сроком поддержки (LTS), обновления для которых формируются в течение 5 лет, запланирован на 23 апреля. Готовые тестовые образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu и UbuntuKylin (редакция для Китая).

Основные изменения:

  • Рабочий стол обновлён до выпуска GNOME 3.36. Переработана предлагаемая по умолчанию тема оформления Yaru, в которой помимо ранее доступных тёмного (тёмные заголовки, тёмный фон и тёмные элементы управления) и светлого (тёмные заголовки, светлый фон и светлые элементы управления) режимов, появится третий полностью светлый вариант. Предложено новое оформление системного меню и меню приложений. Добавлены новые пиктограммы каталогов, которые оптимизированы для отображении на светлом и тёмном фоне.

    Реализован новый интерфейс для смены вариантов темы оформления.

  • Проведена оптимизация производительности GNOME Shell и оконного менеджера. Снижена нагрузка на процессор и сокращены задержки при отрисовке анимации при манипуляции с окнами, при перемещении мыши и при открытии обзорного режима.
  • Добавлена поддержка 10-разрядной глубины цвета.
  • Для X11 реализована поддержка дробного масштабирования, которая ранее была доступна только при использовании Wayland. Указанная возможность позволяет подобрать оптимальный размер элементов на экранах с высокой плотностью пикселей (HiDPI), например, можно увеличить выводимые элементы интерфейса не в 2 раза, а в 1.5.
  • Добавлена новая заставка, показываемая при загрузке.
  • Ядро Linux обновлено до выпуска 5.4. Как и в осеннем выпуске для сжатия ядра и начального загрузочного образа initramf применяется алгоритм LZ4, позволивший сократить время загрузки за счёт более быстрой распаковки данных.
  • Обновлены системные компоненты и средства для разработки: Glibc 2.31, BlueZ 5.53, OpenJDK 11, rustc 1.41, GCC 9.3, Python 3.8.2, ruby 2.7.0, Ruby on Rails 5.2.3, php 7.4, perl 5.30, go 1.13.
  • Обновлены пользовательские и графические приложения: Mesa 20.0, PulseAudio 14.0-pre, Firefox 74.0, Thunderbird 68.6.0, LibreOffice 6.4
  • Обновлены приложения для серверов и виртуализации: QEMU 4.2, libvirt 6.0, Bind 9.16, HAProxy 2.0, OpenSSH 8.2 (c поддержкой токенов двухфакторной аутентификации FIDO/U2F). ,В Apache httpd активирована поддержка TLSv1.3.
  • Демон синхронизации точного времени chrony обновлён до версии 3.5 и дополнительно изолирован от системы через подключение фильтра системных вызовов.
  • Продолжено развитие экспериментальной возможности установки на корневой раздел с ZFS. Реализация ZFSonLinux обновлена до выпуска 0.8.3 с поддержкой шифрования, горячего извлечения устройств, командой «zpool trim», ускорением работы команд «scrub» и «resilver». Для управления ZFS развивается демон zsys, позволяющий запускать несколько параллельных систем с ZFS на одном компьютере, автоматизирующий создание снапшотов и управляющий разнесением системных и изменяемых в процессе пользовательского сеанса данных. В разных снапшотах можно содержать разные состояния системы и переключаться между ними. Например, в случае проблем после установки обновлений можно будет вернуться к старому стабильному состоянию, выбрав прошлый снапшот. Снапшоты также могут быть использованы для прозрачного автоматического создания резервных копий пользовательских данных.
  • По сравнению с прошлым LTS-релизом Snap Store заменил собой Ubuntu-software в качестве инструмента, применяемого по умолчанию для поиска и установки обычных и snap пакетов.
  • Прекращена сборка пакетов для архитектуры i386. Для продолжения работы устаревших программ, остающихся только в 32-разрядном виде или требующих 32-разрядных библиотек, предусмотрена сборка и поставка отдельного набора 32-разрядных пакетов с библиотеками.
  • В Kubuntu предложен рабочий стол KDE Plasma 5.18, набор приложений KDE Applications 19.12.3 и фреймворк Qt 5.12.5. По умолчанию задействован музыкальный проигрыватель Elisa 19.12.3, который заменил собой Cantata. Обновлены latte-dock 0.9.10, KDEConnect 1.4.0, Krita 4.2.9, Kdevelop 5.5.0. Прекращена поддержка приложений KDE4 и Qt4. Предложен экспериментальный сеанс на базе Wayland (после установки пакета plasma-workspace-wayland появляется опциональный пункт «Plasma (Wayland)» на экране входа).
  • Ubuntu MATE 20.04: Рабочий стол MATE обновлён до версии 1.24. Добавлен интерфейс для обновления прошивок, использующий fwupd. Из поставки удалены Compiz и Compton. Обеспечен показ эскизов окон в панели, интерфейсе переключения задач (Alt-Tab) и переключателе рабочих столов. Предложен новый апплет для вывода уведомлений. В качестве почтового клиента вместо Thunderbird задействован Evolution. При установке проприетарных драйверов NVIDIA, которые можно выбрать в инсталляторе, предложен апплет для переключения между разными GPU в системах с гибридной графикой (NVIDIA Optimus).
  • Ubuntu Budgie: По умолчанию задействован апплет с меню приложений Stylish и собственный апплет для управления сетевыми настройками. Добавлен интерфейс для быстрого переключения раскладок рабочего стола (Budgie, Classic Ubuntu Budgie, Ubuntu Budgie, Cupertino, The One и Redmond). В основной состав включены приложения GNOME Firmware и GNOME Drawing. Улучшена интеграция с GNOME 3.36. Рабочий стол Budgie обновлён до версии 10.5.1. Добавлены настройки сглаживания и хинтинга шрифтов. По умолчанию отключён апплет с системным лотком (из-за проблем при работе). Апплеты адаптированы для экранов HiDPI.
  • Ubuntu Studio: В Ubuntu Studio Controls разделены настройки Jack Master, дополнительных устройств и прослоек к PulseAudio. Обновлены RaySession 0.8.3, Audacity 2.3.3, Hydrogen 1.0.0-beta2, Carla 2.1-RC2, Blender 2.82, KDEnlive 19.12.3, Krita 4.2.9, GIMP 2.10.18, Ardour 5.12.0, Scribus 1.5.5, Darktable 2.6.3, Pitivi 0.999, Inkscape 0.92.4, OBS Studio 25.0.3, MyPaint 2.0.0, Rawtherapee 5.8.
  • В Xubuntu и Lubuntu заметны только незначительные изменения и обновления.

Источник: [ссылка]

Компания Oracle опубликовала ядро Unbreakable Enterprise Kernel 6

Компания Oracle представила первый стабильной выпуск Unbreakable Enterprise Kernel 6 (UEK R6), расширенной сборки ядра Linux, позиционируемой для использования в дистрибутиве Oracle Linux в качестве альтернативы штатному пакету с ядром из Red Hat Enterprise Linux. Ядро доступно только для архитектур x86_64 и ARM64 (aarch64). Исходные тексты ядра, включая разбивку на отдельные патчи, опубликованы в публичном Git-репозитории Oracle.

Пакет Unbreakable Enterprise Kernel 6 основан на ядре Linux 5.4 (UEK R5 базировался на ядре 4.14), которое дополнено новыми возможностями, оптимизациями и исправлениями, а также проверено на совместимость с большинством приложений, работающих в RHEL, и специально оптимизировано для работы с промышленным программным обеспечением и оборудованием Oracle. Установочные и src-пакеты с ядром UEK R6 подготовлены для Oracle Linux 7.x и 8.x. Поддержка ветки 6.x прекращена, для применения UEK R6 следует обновить систему до Oracle Linux 7 (нет никаких препятствий по использованию данного ядра в аналогичных версиях RHEL, CentOS и Scientific Linux).

Ключевые новшества Unbreakable Enterprise Kernel 6:

  • Расширенная поддержка систем на базе 64-разрядной архитектуры ARM (aarch64).
  • Реализована поддержка всех возможностей Cgroup v2.
  • Реализован фреймворк ktask для распараллеливания задач в ядре, потребляющих значительные ресурсы CPU. Например, при помощи ktask может быть организовано распараллеливание операций по очистке диапазонов страниц памяти или обработке списка inode;
  • Включена распараллеленная версия kswapd для обработки операций замены страниц памяти в асинхронном режиме, позволяя сократить число прямых (синхронных) операций замены. При уменьшении числа свободных страниц памяти kswapd выполняет сканирование для выявления неиспользуемых страниц, которые могут быть высвобождены.
  • Поддержка верификации целостности образа ядра и прошивок по цифровой подписи, при загрузке ядра при помощи механизма Kexec (загрузка ядра из уже загруженной системы).
  • Проведена оптимизация производительности системы управления виртуальной памятью, улучшена эффективность очистки станиц памяти и кэша, улучшена обработка обращений к не выделенным страницам памяти (page faults).
  • Расширена поддержка NVDIMM, указанная постоянная память теперь может использоваться в качестве традиционного ОЗУ.
  • Осуществлён переход на систему динамической отладки DTrace 2.0, которая переведена на использование подсистемы ядра eBPF. DTrace теперь работает поверх eBPF, по аналогии с тем, как поверх eBPF работают существующие в Linux инструменты трассировки.
  • Внесены улучшения в файловую систему OCFS2 (Oracle Cluster File System).
  • Улучшена поддержка файловой системы Btrfs. Добавлена возможность применения Btrfs на корневых разделах. В инсталлятор добавлена опция для выбора Btrfs при форматировании устройств. Добавлена возможность размещения файлов подкачки на разделах с Btrfs. В Btrfs добавлена поддержка сжатия с использованием алгоритма ZStandard.
  • Добавлена поддержка интерфейса для асинхронного ввода/вывода — io_uring, который примечателен поддержкой поллинга ввода/вывода и возможностью работы как с буферизацией, так и без буферизации. По производительности io_uring очень близок к SPDK и существенно опережает libaio при работе с включённым поллингом. Для использования io_uring в конечных приложениях, работающих в пространстве пользователя, подготовлена библиотека liburing, предоставляющая высокоуровневую обвязку над интерфейсом ядра;
  • Добавлена поддержка режима Adiantum для быстрого шифрования накопителей.
  • Добавлена поддержка сжатия с использованием алгоритма Zstandard (zstd).
  • В файловой системе ext4 задействованы 64-разрядные метки времени в полях суперблока.
  • В XFS включены средства для информирования о состоянии целостности ФС во время работы и получения статуса о выполнении fsck на лету.
  • TCP-стек по умолчанию переведён на модель «Early Departure Time» вместо «As Fast As Possible» при отправке пакетов. Для UDP включена поддержка GRO (Generic Receive Offload). Добавлена поддержка приёма и отправки TCP-пакетов в режиме zero-copy.
  • Задействована реализация протокола TLS на уровне ядра (KTLS), которая теперь может применяться не только для отправляемых, но и для принимаемых данных.
  • В качестве бэкенда для межсетевого экрана по умолчанию задействован nftables. Опционально добавлена поддержка bpfilter.
  • Добавлена поддержка подсистемы XDP (eXpress Data Path), позволяющей в Linux запускать BPF-программы на уровне сетевого драйвера с возможностью прямого доступа к DMA-буферу пакетов и на стадии до выделения буфера skbuff сетевым стеком.
  • Улучшен и включён при использовании UEFI Secure Boot режим Lockdown, который ограничивает доступ пользователя root к ядру и блокирует пути обхода UEFI Secure Boot. Например, в режиме lockdown ограничивается доступ к /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, отладочному режиму kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), некоторым интерфейсам ACPI и MSR-регистрам CPU, блокируются вызовы kexec_file и kexec_load, запрещается переход в спящий режим, лимитируется использование DMA для PCI-устройств, запрещается импорт кода ACPI из переменных EFI, не допускаются манипуляции с портами ввода/вывода, в том числе изменение номера прерывания и порта ввода/вывода для последовательного порта.
  • Добавлена поддержка расширенных инструкций IBRS (Enhanced Indirect Branch Restricted Speculation), которые позволяют адаптивно разрешать и запрещать спекулятивное выполнение инструкций во время обработки прерываний, системных вызовов и переключений контекста. При наличии поддержки Enhanced IBRS данный метод применяется для защиты от атак класса Spectre V2 вместо Retpoline, так как позволяет добиться более высокой производительности.
  • Улучшена защита в каталогах, доступных всем на запись. В подобных каталогах запрещено создания FIFO-файлов и файлов, принадлежащих пользователям, не совпадающим с владельцем каталога с флагом sticky.
  • По умолчанию на системах ARM включена рандомизация адресного пространства ядра на системах (KASLR). Для Aarch64 включена аутентификация указателей.
  • Добавлена поддержка «NVMe over Fabrics TCP».
  • Добавлен драйвер virtio-pmem, представляющий доступ к устройствам хранения, отражённым в физическое адресное пространство, таким как NVDIMM.

Источник: [ссылка]

Выпуск XCP-NG 8.1, свободного варианта Citrix Hypervisor

Опубликован релиз проекта XCP-NG 8.1, развивающего свободную и бесплатную замену проприетарной платформе Citrix Hypervisor (ранее назывался XenServer) для развертывания и управления работой облачной инфраструктуры. XCP-NG воссоздаёт функциональность, которую компания Citrix исключила из бесплатного варианта Citrix Hypervisor/Xen Server, начиная c версии 7.3. Поддерживается обновление Citrix Hypervisor до XCP-ng, обеспечивается полная совместимость с Xen Orchestra и возможно перемещение виртуальных машин из Citrix Hypervisor в XCP-ng и обратно. Для загрузки подготовлен установочный образ размером 600 Мб.

XCP-NG позволяет быстро развернуть систему виртуализации серверов и рабочих станций, предлагая средства для централизованного управления неограниченным числом серверов и виртуальных машин. Среди особенностей системы: возможность объединения нескольких серверов в пул (кластер), средства обеспечения высокой доступности (High Availability), поддержка снапшотов, совместное использование разделяемых ресурсов при помощи технологии XenMotion. Поддерживается живая миграция виртуальных машин между хостами кластера и между разными кластерами/отдельными хостами (не имеющими общего хранилища), а также живая миграция дисков VM между хранилищами. Платформа может работать с большим числом систем хранения данных и отличается наличием простого и понятного интерфейса для установки и администрирования.

Новый выпуск не только воссоздаёт функциональность Citrix Hypervisor 8.1, но и предлагает некоторые улучшения:

  • Установочные образы нового выпуска построены на пакетной базе CentOS 7.5 с использованием гипервизора Xen 4.13. Добавлена возможность использования альтернативного ядра Linux, основанного на ветке 4.19;
  • Стабилизирована поддержка загрузки гостевых систем в режиме UEFI (поддержка Secure Boot не перенесена из Citrix Hypervisor, а создана с нуля, чтобы избежать пересечений с проприетарным кодом);
  • Добавлена поддержка надстроек XAPI (XenServer/XCP-ng API), необходимых для резервного копирования виртуальных машин, захватывая срез содержимого их оперативной памяти. Пользователи получили возможность восстановления VM вместе с контекстом выполнения и состоянием ОЗУ на момент создания резервной копии, по аналогии с восстановлением состояния системы после выхода из спящего режима (перед резервным копированием VM приостанавливается);
  • Внесены улучшения в инсталлятор, в котором теперь предложены две опции установки: BIOS и UEFI. Первый может применяться как запасной вариант на системах, в которых наблюдаются проблемы с UEFI (например, на базе CPU AMD Ryzen). Во втором по умолчанию используется альтернативное ядро Linux (4.19);
  • Улучшена производительность импорта и экспорта виртуальных машин в формате XVA. Повышена производительность хранилища;
  • Добавлены новые драйверы ввода/вывода для Windows;
  • Добавлена поддержка чипов AMD EPYC 7xx2(P);
  • Вместо ntpd задействован chrony;
  • Объявлена устаревшей поддержка гостевых систем в режиме PV;
  • В новых локальных хранилищах по умолчанию теперь применяется ФС Ext4;
  • Добавлена экспериментальная поддержка построения локальных хранилищ на базе ФС XFS (требуется установка пакета sm-additional-drivers);
  • Экспериментальный модуль для ZFS обновлён до версии 0.8.2.

Источник: [ссылка]

Статус подготовки первого стабильного релиза KDE Plasma Mobile

Разработчики KDE опубликовали отчёт о подготовке первого стабильного выпуска мобильной платформы Plasma Mobile. Отмечается, что жёсткого графика подготовки выпуска нет и Plasma Mobile 1.0 будет сформирован после готовности всех намеченных компонентов.

Уже доступные приложения, адаптированные для применения на мобильных устройствах и покрывающие базовые потребности:

  • Музыкальный проигрыватель vvave
  • Просмотрщики изображений Koko и Pix
  • Ведение заметок buho
  • Календарь-планировщик calindori
  • Файловый менеджер Index
  • Просмотрщик документов Okular
  • Менеджер приложений Discover
  • Программа для отправки SMS Spacebar
  • Адресная книга plasma-phonebook
  • Интерфейс для осуществления телефонных вызовов plasma-dialer
  • Браузер plasma-angelfish
  • Из мессенджеров рассматривается предустановка типовых приложений, таких как Telegram и Spectral.

Развиваются отдельными разработчиками, но пока не переведены в репозитории Plasma Mobile:

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

До первого релиза также требуется решить некоторые проблемы в композитном сервера KWin, использующем Wayland. В частности, необходимо обеспечить поддержку выборочного обновления содержимого поверхностей, пропуская области, в которых не было изменений (позволит повысить производительность и снизить потребление энергии). Пока не реализована поддержка показа эскизов в интерфейсе переключения между задачами. Требуется реализовать поддержку протокола input-method-unstable-v1 для организации ввода с экранной клавиатуры в некоторых сторонних приложениях. Необходимо провести профилирование и оптимизацию производительности KWin.

Из общих задач упоминается поддержка вывода уведомлений в интерфейсе блокировки экрана и создание недостающих модулей для конфигуратора. В текущем виде конфигуратор позволяет настраивать дату и время, параметры языка, поддерживает прикрепление учётных записей Nextcloud и Google, предоставляет простые настройки Wi-Fi и выводит общую информацию о системе.

Среди намеченных к реализации задач отмечается автоматическое получение времени от мобильного оператора, настройка параметров звука и уведомлений, отображение сведений об IMEI, MAC-адресе, мобильной сети и SIM-карте, поддержка режимов защиты Wi-Fi, отличных от WPA2-PSK, возможность подключения к скрытым беспроводным сетям, настройка режимов мобильной передачи данных, расширения настроек языка, настройка Bluetooth, управление раскладками клавиатуры, настройка блокировки экрана и PIN, режимы энергопотребления.

Напомним, что платформа Plasma Mobile основана на мобильной редакции рабочего стола Plasma 5, библиотеках KDE Frameworks 5, телефонном стеке Ofono и коммуникационном фреймворке Telepathy. Для создания интерфейса приложений применяется Qt и фреймворк Kirigami из состава KDE Frameworks, позволяющий создавать универсальные интерфейсы, пригодные для смартфонов, планшетов и ПК. Для вывода графики используется композитный сервер kwin_wayland. Для обработки звука применяется PulseAudio.

Plasma Mobile не привязывается к низкоуровневым компонентам операционной системы, что позволяет обеспечить возможность работы платформы под разными базовыми ОС, в том числе, организовать запуск поверх Ubuntu и Mer. Поддерживается выполнение plasma-виджетов и приложений для рабочего стола KDE Plasma, а также предусмотрена возможность использования программ, написанных для платформ UBports/Ubuntu Touch, Sailfish и Nemo.

Источник: [ссылка]

Выпуск мобильной платформы LineageOS 17 на основе Android 10

Разработчики проекта LineageOS, пришедшего на смену CyanogenMod после отказа от проекта компании Cyanogen Inc, представили выпуск LineageOS 17.1, основанный на платформе Android 10. Выпуск 17.1 был сформирован минуя 17.0 из-за особенностей назначения тегов в репозитории.

Отмечается, что ветка LineageOS 17 достигла паритета по функциональности и стабильности c веткой 16, и признана готовой для перехода на стадию формирования ночных сборок. Сборки пока подготовлены только для ограниченного числа устройств, список которых постепенно будет расширяться. Ветка 16.0 переведена на еженедельное формирование сборок, вместо ежедневных. При установке для всех поддерживаемых устройств теперь по умолчанию предлагается собственный Lineage Recovery, не требующий выделения отдельного recovery-раздела.

По сравнению с LineageOS 16, кроме изменений, специфичных для Android 10, также предложены некоторые улучшения:

  • Новый интерфейс для создания скриншотов, позволяющий выбирать определённые части экрана для снимка и редактировать скриншоты.
  • Перенесено предлагаемое в AOSP (Android Open Source Project) приложение для выбора тем оформления ThemePicker. Ранее применявшийся для выбора тем API Styles объявлен устаревшим. ThemePicker не только поддерживает все возможности Styles, но и опережает его по функциональности.
  • Реализована возможность изменения шрифтов, формы пиктограмм (QuickSettings и Launcher) и стиля пиктограмм (Wi-Fi/Bluetooth).
  • Помимо возможности скрытия приложений и блокирования запуска через назначение пароля в интерфейсе для запуска приложений Trebuchet Launcher появилась возможность ограничения доступа к приложению через биометрическую аутентификацию.
  • Перенесены патчи, накопившиеся с октября 2019 года.
  • Сборка основана на ветке android-10.0.0_r31 с поддержкой Pixel 4/4 XL.
  • Возвращён экран Wi-Fi.
  • Добавлена поддержка экранных сенсоров отпечатков пальцев (FOD).
  • Добавлена поддержка всплывающего окна камеры и вращения камеры.
  • Набор Emoji в экранной клавиатуре AOSP обновлён до версии 12.0.
  • Браузерный компонент WebView обновлён до Chromium 80.0.3987.132.
  • Вместо PrivacyGuard для гибкого управления полномочиями приложений задействован штатный PermissionHub из ASOP.
  • Вместо API Expanded Desktop задействованы штатные для AOSP средства навигации через экранные жесты.

Источник: [ссылка]

Доступен для заказа смартфон PinePhone, поставляемый с UBports

Сообщество Pine64 объявило о начале приёма предзаказов на смартфон PinePhone, укомплектованный прошивкой с мобильной платформой UBports, продолжающей развитие проекта Ubuntu Touch, после того как от него отстранилась компания Canonical. Отправка заказанных устройств намечена на середину мая 2020 года. Cтоимость смартфона составляет 149.99 долларов.

Прошивка с UBports находится на стадии бета-тестирования, но утверждается, что базовая функциональность полностью работоспособна. Поддерживается приём и совершение звонков, работа с SMS-сообщениями, подключение к LTE-сетям, использование GPS, поддержка ускорения GPU. Из компонентов, в которых остаются нерешённые проблемы отмечаются камера и USB Host (например, автоматически не обрабатывается подключение мыши), оставляет желать лучшего время автономной работы от аккумулятора.

Напомним, что аппаратная начинка PinePhone рассчитана на использование заменяемых компонентов — большинство модулей не впаяно, а подключено через отсоединяемые шлейфы, что позволяет, например, при желании заменить предлагаемую по умолчанию посредственную камеру на более качественную. Устройство построено на четырёхядерном SoC ARM Allwinner A64 c GPU Mali 400 MP2, оснащено 2 Гб ОЗУ, 5.95-дюймовым экраном (1440×720 IPS), Micro SD (с поддержкой загрузки с SD-карты), 16GB eMMC (внутренний), портом USB-C с USB Host и совмещённым видеовыходом для подключения монитора, Wi-Fi 802.11 b/g/n, Bluetooth 4.0 (A2DP), GPS, GPS-A, GLONASS, двумя камерами (2 и 5Mpx), аккумулятором 3000mAh, аппаратно отключаемыми компонентами с LTE/GNSS, WiFi, микрофоном и динамиками.

Кроме UBports, для PinePhone развиваются загрузочные образы на базе Postmarket OS с KDE Plasma Mobile, Maemo Leste, Manjaro, LuneOS, Nemo Mobile и частично открытой платформой Sailfish. Ведётся работа по подготовке сборок с NixOS. Программное окружение может быть загружено прямо с SD-карты без необходимости осуществлять перепрошивку.

Источник: [ссылка]

Выпуск Red Hat Enterprise Linux 7.8

Компания Red Hat выпустила дистрибутив Red Hat Enterprise Linux 7.8. Установочные образы RHEL 7.8 доступны для загрузки только зарегистрированным пользователям Red Hat Customer Portal и подготовлены для архитектур x86_64, IBM POWER7+, POWER8 (big endian и little endian) и IBM System z. Исходные тексты пакетов можно загрузить из Git-репозитория проекта CentOS.

Ветка RHEL 7.x сопровождается параллельно с веткой RHEL 8.x и будет поддерживаться до июня 2024 года. Первая стадия поддержки для ветки RHEL 7.x, подразумевающая включение функциональных улучшений, завершена. Выпуск RHEL 7.8 ознаменовал переход на стадию сопровождения, на которой приоритеты сместились в сторону исправления ошибок и безопасности, с внесением незначительных улучшений, связанных с поддержкой важных аппаратных систем. Для желающих перейти на новую ветку, после публикации выпуска Red Hat Enterprise Linux 8.2 пользователям будет предоставлена возможность обновления системы с Enterprise Linux 7.8.

Наиболее заметные изменения:

  • Изменён интерфейс переключения виртуальных рабочих столов в окружении GNOME Classic, кнопка для переключения перемещена в нижний правый угол и оформлена в виде полоски с миниатюрами.
  • Добавлена поддержка новых параметров ядра Linux (в основном связаны с управлением включением защиты от новых атак на механизм спекулятивного выполнения CPU): audit, audit_backlog_limit, ipcmni_extend, nospectre_v1, tsx, tsx_async_abort, mitigations.
  • Для гостевых систем с Windows, использующих драйверы ActivClient, реализована возможность предоставления совместного доступа к смаркартам.
  • Обновлён пакет samba 4.10.4.
  • Добавлена реализация алгоритма SHA-2, оптимизированная для процессоров IBM PowerPC.
  • В OpenJDK добавлена поддержка шифрования с использованием эллиптических кривых secp256k1.
  • Обеспечена полная поддержка SAS-адаптеров Aero (драйверы mpt3sas и megaraid_sas).
  • Добавлен драйвер EDAC (Error Detection and Correction) для систем Intel ICX.
  • Реализована возможность монтирования разделов с использованием механизма FUSE в пространствах имён идентификаторов пользователей (user namespace), что, например, позволяет использовать команду fuse-overlayfs в контейнерах без root.
  • Ограничение на число IPC-идентификаторов (ipcmin_extend) увеличено с 32 тысяч до 16 миллионов.
  • Обеспечена полная поддержка Intel Omni-Path Architecture (OPA).
  • Добавлена новая роль «storage» (RHEL System Roles), которую можно использовать для управления локальным хранилищем (файловыми системами, LVM томами и логическими разделами) при помощи Ansible.
  • В SELinux разрешён запуск графического сеанса для пользователей группы sysadm_u.
  • Добавлена поддержка DIF/DIX (Data Integrity Field/Data Integrity Extension) для некоторых хост-адаптеров шины (HBA). В Qlogic HBA добавлена полная поддержка NVMe/FC (NVMe over Fibre Channel).
  • Обеспечена экспериментальная (Technology Preview) поддержка OverlayFS, Btrfs, eBPF, HMM (heterogeneous memory management), kexec, SME (Secure Memory Encryption), criu (Checkpoint/Restore in User-space), Cisco usNIC, Cisco VIC, Trusted Network Connect, SECCOMP в libreswan, USBGuard, blk-mq, YUM 4, USB 3.0 в KVM, No-IOMMU для VFIO, преобразования образов Debian и Ubuntu через virt-v2v, OVMF (Open Virtual Machine Firmware), systemd-importd, DAX (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств) в ext4 и XFS, запуска рабочего стола GNOME с использованием Wayland, дробного масштабирования в GNOME.
  • В состав включены новые драйверы:
    • halt poll cpuidle (cpuidle-haltpoll.ko.xz).
    • Intel Trace Hub controller (intel_th.ko.xz).
    • Intel Trace Hub ACPI controller (intel_th_acpi.ko.xz).
    • Intel Trace Hub Global Trace Hub (intel_th_gth.ko.xz).
    • Intel Trace Hub Memory Storage Unit (intel_th_msu.ko.xz).
    • Intel Trace Hub PCI controller (intel_th_pci.ko.xz).
    • Intel Trace Hub PTI/LPP output (intel_th_pti.ko.xz).
    • Intel Trace Hub Software Trace Hub (intel_th_sth.ko.xz).
    • dummy_stm (dummy_stm.ko.xz).
    • stm_console (stm_console.ko.xz).
    • System Trace Module (stm_core.ko.xz).
    • stm_ftrace (stm_ftrace.ko.xz).
    • stm_heartbeat (stm_heartbeat.ko.xz).
    • Basic STM framing protocol(stm_p_basic.ko.xz).
    • MIPI SyS-T STM framing protocol (stm_p_sys-t.ko.xz).
    • gVNIC (gve.ko.xz): 1.0.0.
    • Failover для паравиртуальных драйверов (net_failover.ko.xz).

Источник: [ссылка]

Подборка первоапрельских шуток 2020 года

Подборка первоапрельских шуток:

  • Проект GNU Guix, развивающий пакетный менеджер и дистрибутив GNU/Linux на его основе, объявил о намерении прекратить использование ядра Linux в пользу ядра GNU Hurd. Отмечается, что применение Hurd было изначальной целью проекта Guix и теперь данная цель стала реальностью. Продолжение поддержки ядра Linux в Guix признано нецелесообразным, так как у проекта нет ресурсов для сопровождения сразу двух редакций. Выпуск Guix 1.1 станет последним, поставляемым с ядром Linux-Libre. В Guix 2.0 поддержка Linux-Libre будет полностью удалена, но возможность использования пакетного менеджера Guix поверх сторонних Linux-дистрибутивов будет оставлена. Примечательно, что начальная возможность использования GNU Hurd несколько недель назад действительно была реализована в Guix.
  • Для разработчиков ядра Linux предложен скрипт для автоматического рецензирования изменений. Отмечается, что сопровождающие вынуждены тратить очень много времени на изучение и проверку изменений. День за днём объём патчей неуклонного увеличивается и процесс их разбора становится неподъёмным и не оставляет времени на написание собственного кода. Скрипт решает эту проблему, автоматически добавляя тег «Reviewed-by». Разработчику остаётся просто сидеть и отслеживать мнения других участников о принятых изменениях. Для того, чтобы не вызывать подозрений после получения письма скрипт отправляет прорецензированный ответ не сразу, а через случайную задержку, симулируя бурную деятельность.
  • Продолжая практику представления 1 апреля не шуток под видом шуток компания Cloudflare анонсировала вариант сервиса 1.1.1.1 для семейного использования. Запущено два новых публичных DNS 1.1.1.2 и 1.1.1.3, обеспечивающих фильтрацию контента. 1.1.1.2 блокирует попытки обращения к вредоносным и мошенническим сайтам, а 1.1.1.3 дополнительно блокирует ещё и доступ к контенту для взрослых. Интересно, что фильтр 1.1.1.3, который был нацелен на защиту детей от просмотра вредного для них контента, обеспечивал также блокировку LGBTQIA сайтов, что вызвало бурю негодования среди соответствующих меньшинств. Представители Cloudflare были вынуждены извиниться и убрать данные сайты из фильтра.
  • Первоапрельские RFC: RFC 8771 — интернационализированная сознательно нечитаемая сетевая нотация (I-DUNNO) и RFC 8774 — квантовая ошибка (после внедрения квантовых сетей, значение времени передачи пакета может быть равным нулю, что может привести к глобальному сбою в глобальной сети, так как маршрутизаторы и ПО не рассчитаны, что пакеты могут передаваться мгновенно).
  • Дистрибутив Manjaro обновил раздел новостей на своём сайте, который построен в соответствии с современными тенденциями web-дизайна. Перед открытием несколько десятков секунд показывается баннер с информацией, что страница загружается, потом показывается список новостей с раскиданными по странице блоками, среди которых трудно разобрать где какая новость и в каком порядке они следуют. Каждая новость снабжена огромной картинкой, не несущей смысла, но мешающей восприятию текста. При наведении мыши блок дёргается, а при клике текст открывается во всплывающем диалоге, так, что на него не поставишь ссылку.
  • Разработчики KDE и GNOME представили совместно разработанный рабочий стол KHome, который вобрал в себя технологии обоих проектов и призван угодить как сторонникам GNOME, так и любителям KDE. В дальнейшем планируется интегрировать и другие компоненты, например, ожидается выпуск QTK3, KNOME Mobile и Lollyrok.
  • Разработчик файлового менеджера Ranger переименовал проект в IRangerC и объявил о сосредоточении дальнейшей разработки на добавление возможностей, необходимых для использования Ranger в качестве IRC-клиента.
  • Фонд СПО выступил с инициативой Free Clippy, в рамках которой призвал освободить скрепку, которая с 2001 года держится взаперти под проприетарной лицензией и вопреки её воле нещадно эксплуатируется в роли умного помощника.
  • Разработчики медиацентра Kodi в связи с возрастанием нагрузку на сеть из-за перехода многих людей к работе на дому последовал примеру сервисов Netflix, YouTube и Amazon, снизивших качество по умолчанию отдаваемого видео, и внёс соответствующие оптимизации в Kodi. Для экономии пропускной способности видео будет отображаться с пониженной цветностью, для звука будет использоваться 4-битный 1 канал. Потеря качества будет восполняться при помощи системы машинного обучения, восстанавливающей потерянные детали. Потоковое вещание и IPTV будет ограничено только местными региональными трансляциями. Для обеспечения режима самоизоляции Kodi будет работать только из домашней сети, выход через общественные беспроводные сети будет блокироваться. Для выполнения условий социального дистанцирования просмотр будет возможен только на экранах, превышающих 60 дюймов.
  • Компания NGINX добавила в сервер приложений NGINX Unit поддержку языка ассемблер. По мнению разработчиков использование ассемблера для создания web-приложений позволит полностью контролировать код приложения, даст понимание что именно выполняется и поможет вернуть былую эффективность и компактность программного обеспечения.

    По мере выявления новых розыгрышей текст новости будет пополняться новыми первоапрельскими шутками. Ссылки на интересные первоапрельские розыгрыши просьба присылать в комментариях.

Источник: [ссылка]

Выпуск пакетного фильтра nftables 0.9.4

Опубликован выпуск пакетного фильтра nftables 0.9.4, развивающегося в качестве замены iptables, ip6table, arptables и ebtables за счёт унификации интерфейсов фильтрации пакетов для IPv4, IPv6, ARP и сетевых мостов. В пакет nftables входят компоненты пакетного фильтра, работающие в пространстве пользователя, в то время как на уровне ядра работу обеспечивает подсистема nf_tables, входящая в состав ядра Linux начиная с выпуска 3.13. Необходимые для работы выпуска nftables 0.9.4 изменения включены в состав будущей ветки ядра Linux 5.6.

На уровне ядра предоставляется лишь общий интерфейс, не зависящий от конкретного протокола и предоставляющий базовые функции извлечения данных из пакетов, выполнения операций с данными и управления потоком. Непосредственно логика фильтрации и специфичные для протоколов обработчики компилируются в байткод в пространстве пользователя, после чего данный байткод загружается в ядро при помощи интерфейса Netlink и выполняется в специальной виртуальной машине, напоминающей BPF (Berkeley Packet Filters). Подобный подход позволяет значительно сократить размер кода фильтрации, работающего на уровне ядра и вынести все функции разбора правил и логики работы с протоколами в пространство пользователя.

Основные новшества:

  • Поддержка диапазонов в присоединениях (concatenation, определённые связки адресов и портов, упрощающие сопоставление). Например, для набора «whitelist», элементы которого являются присоединением, указание флага «interval» будет указывать на то, что набор может включать диапазоны в присоединении (для присоединения «ipv4_addr . ipv4_addr . inet_service» раньше можно было перечислять точные совпадения вида «192.168.10.35 . 192.68.11.123 . 80», а теперь можно указывать группы адресов «192.168.10.35-192.168.10.40 . 192.68.11.123-192.168.11.125 . 80»):
          table ip foo {             set whitelist {                     type ipv4_addr . ipv4_addr . inet_service                     flags interval                     elements = { 192.168.10.35-192.168.10.40 . 192.68.11.123-192.168.11.125 . 80 }             }               chain bar {                     type filter hook prerouting priority filter; policy drop;                     ip saddr . ip daddr . tcp dport @whitelist accept             }      }  
  • В наборах и map-списках обеспечена возможность использования директивы «typeof», определяющей формат элемента при сопоставлении. Например:
             table ip foo {              set whitelist {                      typeof ip saddr                      elements = { 192.168.10.35, 192.168.10.101, 192.168.10.135 }              }                chain bar {                      type filter hook prerouting priority filter; policy drop;                      ip daddr @whitelist accept              }       }         table ip foo {              map addr2mark {                  typeof ip saddr : meta mark                  elements = { 192.168.10.35 : 0x00000001, 192.168.10.135 : 0x00000002 }              }       }  
  • Добавлена возможность использования присоединений в NAT-привязках, что позволяет указывать адрес и порт при определении NAT-преобразований на основе map-списков или именованных наборов:
            nft add rule ip nat pre dnat ip addr . port to ip saddr map { 1.1.1.1 : 2.2.2.2 . 30 }             nft add map ip nat destinations { type ipv4_addr . inet_service : ipv4_addr . inet_service \; }        nft add rule ip nat pre dnat ip addr . port to ip saddr . tcp dport map @destinations  
  • Поддержка аппаратного ускорения с выносом некоторых операций фильтрации на плечи сетевой карты. Ускорение включается через утилиту ethtool («ethtool -K eth0 hw-tc-offload on»), после чего активируется в nftables для основной цепочки при помощи флага «offload». При использовании ядра Linux 5.6 поддерживается аппаратное ускорение для сопоставления полей заголовка и проверки входящего интерфейса в сочетании с приёмом, отбрасыванием, дублированием (dup) и перенаправлением (fwd) пакетов. В примере ниже операции отбрасывания пакетов, приходящих от адреса 192.168.30.20, выполняются на уровне сетевой карты, без передачи пакетов ядру:
           # cat file.nft       table netdev x {              chain y {                  type filter hook ingress device eth0 priority 10; flags offload;                  ip saddr 192.168.30.20 drop              }       }       # nft -f file.nft  
  • Улучшено информирование о месте ошибки в правилах.
           # nft delete rule ip y z handle 7       Error: Could not process rule: No such file or directory       delete rule ip y z handle 7                      ^         # nft delete rule ip x x handle 7       Error: Could not process rule: No such file or directory       delete rule ip x x handle 7                                 ^         # nft delete table twst       Error: No such file or directory; did you mean table ‘test' in family ip?       delete table twst                    ^^^^  

    В первом примере показано, что таблица «y» отсутствует в системе, во втором, что отсутствует обработчик «7», а в третьем, что выводится подсказка об опечатке при наборе имени таблицы.

  • Добавлена поддержка проверки slave-интерфейса через указание «meta sdif» или «meta sdifname»:
              ... meta sdifname vrf1 ...  
  • Добавлена поддержка операции сдвига вправо или влево. Например, для сдвига существующей метки пакета влево на 1 бит и установки меньшего бита в 1:
              ... meta mark set meta mark lshift 1 or 0x1 ...  
  • Реализована опция «-V» для отображения расширенной информации о версии.
           # nft -V         nftables v0.9.4 (Jive at Five)            cli:          readline            json:         yes            minigmp:      no            libxtables:   yes  
  • Опции командной строки теперь обязательно должны указываться перед командами. Например, нужно указывать «nft -a list ruleset», а запуск «nft list ruleset -a» приведёт к выводу ошибки.

    Источник: [ссылка]

Huawei развивает протокол NEW IP, нацеленный на использование в сетях будущего

Компания Huawei совместно с исследователями из Университетского колледжа Лондона ведёт разработку сетевого протокола NEW IP, который учитывает тенденции развития телекоммуникационных устройств будущего и повсеместное распространение устройств интернета вещей, систем дополненной реальности и голографических коммуникаций. Проект изначально позиционируется как международный, в котором могут принять участие любые исследователи и заинтересованные компании. Сообщается, что новый протокол передан на рассмотрение в Международный союз электросвязи (ITU), но он будет готов для тестирования не раньше 2021 года.

Протокол NEW IP предоставляет более эффективные механизмы адресации и управления трафиком, а также решает проблему организации взаимодействия разнотипных сетей в условиях роста фрагментации глобальной сети. Всё более актуальной становится проблема обмена информацией между разнородными сетями, такими как сети устройств интернета-вещей, промышленные, сотовые и спутниковые сети, в которых могут применяться собственные стеки протоколов.

Например, для IoT сетей желательно использование коротких адресов для экономии памяти и ресурсов, промышленные сети вообще избавляются от IP для повышения эффективности обмена данными, спутниковые сети не могут использовать фиксированную адресацию из-за постоянного перемещения узлов. Частично проблемы попытаются решить при помощи протокола 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks), но без динамической адресации, он не настолько эффективен, как хотелось бы.

Второй решаемой в NEW IP проблемой является то, что IP ориентирован на идентификацию физических объектов в привязке к их местоположению, и не рассчитан на идентификацию виртуальных объектов, таких как контент и сервисы. Для абстрагирования сервисов от IP-адресов предлагаются различные механизмы маппинга, которые лишь усложняют систему и создают дополнительные угрозы приватности. Как решение для улучшения доставки контента развиваются архитектуры ICN (Information-Centric Networking), такие как NDN (Named Data Networking) и MobilityFirst, предлагающие использовать иерархическую адресацию, которые не решают проблему с доступном к мобильному (перемещаемому) контенту, создают дополнительную нагрузку на маршрутизаторы или не позволяют установить end-to-end соединения между мобильными пользователями.

Третьей задачей, которую призван решить NEW IP, является тонкое управление качеством сервиса. В будущих системах интерактивной коммуникации потребуются более гибкие механизмы управления пропускной способностью, требующие применения разных методов обработки в контексте отдельных сетевых пакетов.

Отмечаются три ключевые особенности NEW IP:

  • IP-адреса переменной длины, способствующие организации обмена данными между различными типами сетей (например, для взаимодействия устройств интернета вещей в домашней сети могут использоваться короткие адреса, а для обращения глобальным ресурсам длинны). Не обязательность указания адреса источники или адреса назначения (например, для экономии ресурсов при отправке данных с датчика).
  • Допускается определение разной семантики адресов. Например, помимо классического формата IPv4/IPv6, можно использовать вместо адреса уникальные идентификаторы сервиса. Данные идентификаторы обеспечивают привязку на уровне обработчиков и сервисов, не привязываясь к конкретному местоположению серверов и устройств. Идентификаторы сервисов позволяют обойтись без DNS и маршрутизировать запрос к ближайшему обработчику, соответствующему указанному идентификатору. Например, датчики в умном доме могут отправлять статистику определённому сервису без определения его адреса в классическом понимании. Адресоваться могут как физические (компьютеры, смартфоны, датчики), так и виртуальные объекты (контент, сервисы).

    По сравнению с IPv4/IPv6 в плане обращения к сервисам в NEW IP отмечаются следующие преимущества: Более быстрое выполнение запроса за счёт прямого обращения по адресу сервиса без ожидания на определение адреса в DNS. Поддержка динамического развёртывания сервисов и контента — NEW IP адресует данные на основании принципа «что нужно», а не «где получить», что кардинально отличается от принятой в IP маршрутизации, основанной на знании точного местоположения (IP-адреса) ресурса. Построение сетей с оглядкой на информацию о сервисах, которая учитывается при расчёте таблиц маршрутизации.

  • Возможность определения произвольных полей в заголовке IP-пакета. Заголовок допускает прикрепление идентификаторов функций (FID, Function ID), применяемых для обработки содержимого пакета, а также привязываемых к функциям метаданных (MDI — Metadata Index и MD — Metadata). Например, в метаданных может быть определены требования к качеству сервиса, в соответствии с которыми при адресации по типу сервиса будет выбран обработчик, обеспечивающий максимальную пропускную способность.

    В качестве примеров привязываемых функций приводятся ограничение крайнего срока (deadline) для пересылки пакета и определение максимального размера очереди во время пересылки. Маршрутизатор во время обработки пакета будет использовать для каждой функции свои метаданные — для вышеприведённых примеров в метаданных будет передана дополнительная информация о крайнем сроке доставки пакета или максимально допустимой длине сетевой очереди.

Растиражированные в СМИ сведения о встроенных возможностях, обеспечивающих блокировку ресурсов, способствующих деанонимизации и вводящих обязательную аутентификацию, в доступной технической спецификации не упоминаются и, судя по всему, являются домыслами. Технически NEW IP лишь предоставляет больше гибкости при создании расширений, поддержка которых определяется производителями маршрутизаторов и программного обеспечения. В контексте возможности смены IP для обхода блокировок, блокировка по идентификатору сервиса может сравниться с блокировкой доменного имени в DNS.

Источник: [ссылка]

Выпуск Eclipse Theia 1.0, альтернативы редактору кода Visual Studio Code

Организация Eclipse Foundation опубликовала первый стабильный выпуск редактора кода Eclipse Theia 1.0, созданного с целью предоставления по настоящему открытой альтернативы проекту Visual Studio Code. Редактор изначально развивается с оглядкой на полноценное использование как в форме приложения для рабочего стола, так и для запуска в облаке с доступом через web-браузер. Код написан на языке TypeScript и распространятся под свободной лицензией EPLv2. Проект развивается при участии компаний IBM, Red Hat, Google, ARM, Ericsson, SAP и Arduino.

Основные особенности:

  • Использование одной общей кодовой базы для сборки настольного и web-вариантов.
  • Поддержка разработки на JavaScript, Java, Python и других языках, для которых имеются серверные обработчики на основе протокола LSP (Language Server Protocol), которые берут на себя операции, связанные с разбором семантики языка. Применение LSP позволяет использовать более 60 существующих обработчиков, подготовленных для редакторов кода Visual Studio Code, Nuclide и Atom, в которых также применяется LSP.
  • Разработку Theia курирует организация Eclipse Foundation, предоставляющая нейтральную площадку, независящую от решений отдельных компаний и действующую в интересах сообщества.
  • Проект спроектирован максимально модульным, позволяет расширять или менять любую функциональность через дополнения.
  • Имеется возможность создания IDE-подобных продуктов на базе Theia путём подключения необходимых дополнений через перечисление их в файле package.json.
  • Поддержка протокола VS Code Extension, позволяющего подключать расширения, разработанные для Visual Studio Code.
  • Интегрированный полноценный эмулятор терминала, который автоматически обновляет соединение в случае перезагрузки страницы в браузере, не теряя полной истории работы.
  • Гибкая компоновка элементов интерфейса. Экранная оболочка основана фреймворке PhosphorJS, допускающем произвольные перемещения блоков (можно скрывать панели, изменять размер блоков и менять их местами).

Редактор построен на основе архитектуры фронтэнд/бэкенд, подразумевающей запуск двух процессов, один из которых отвечает за отрисовку интерфейса, в второй за внутреннюю логику. Процессы взаимодействуют с использованием HTTP при помощи JSON-RPC через WebSockets или REST API. Бэкенд использует платформу Node.js и в при работе через Web запускается на внешнем сервере, а фронтэнд с интерфейсом загружается в браузере. В случае настольного приложения оба процесса запускаются локально, а для создания самодостаточно приложения применяется платформа Electron.

Из ключевых отличий от Visual Studio Code называется: более модульная архитектура, предоставляющая больше возможностей для модификации; изначальная ориентация на запуск не только на локальной системе, но и в облаке; разработка на нейтральной площадке. Стоит отметить, что полностью открытый вариант редактора Visual Studio Code также развивает проект VSCodium, который включает только свободные компоненты, избавлен от привязки к бренду Microsoft и почищен от кода для сбора телеметрии.

Напомним, что редактор Visual Studio Code построен с использованием наработок проекта Atom и платформы Electron, основанной на кодовой базе Chromium и Node.js. Редактор предоставляет встроенный отладчик, инструменты для работы с Git, средства рефакторинга, навигации по коду, автодополнения типовых конструкций и контекстной подсказки. Visual Studio Code развивается компанией Microsoft как открытый проект, доступный под лицензией MIT, но официально предоставляемые бинарные сборки не тождественны исходным текстам, так как включают компоненты для отслеживания действий в редакторе и отправки телеметрии. Сбор телеметрии объясняется проведением оптимизации интерфейса с учётом реального поведения разработчиков. Кроме того, бинарные сборки распространяются под отдельной несвободной лицензией.

Источник: [ссылка]

Fedora и CentOS запускают Git Forge. GitLab открывает 18 проприетарных возможностей

Проекты CentOS и Fedora сообщили о решении по созданию сервиса совместной разработки Git Forge, который будет построен с использованием платформы GitLab. GitLab станет первичной платформой для взаимодействия с Git-репозиториями и для хостинга проектов, связанных с дистрибутивами CentOS и Fedora. Ранее применяемый сервис Pagure продолжит существовать, но будет передан на попечение сообществу, заинтересованному в продолжении разработки. Pagure будет выведен из под сопровождения трудоустроенной в Red Hat команды CPE (Community Platform Engineering), занимающейся поддержанием инфраструктуры для разработки и публикации релизов Fedora и CentOS.

При оценке возможных решений для нового Git Forge рассматривались Pagure и Gitlab. На основании изучения около 300 отзывов и пожеланий от участников проектов Fedora, CentOS, RHEL и CPE, были сформированы требования к функциональности и сделан выбор в пользу Gitlab. Кроме типовых операций с репозиториями (слияние, создание форков, добавление кода и т.п.) среди ключевых требований были заявлены безопасность, удобство работы и стабильность платформы.

В число требований вошли такие возможности, как отправка push-запросов по HTTPS, средства ограничения доступа к веткам, поддержка приватных веток, разделение доступа внешних и внутренних пользователей (например, для работы над устранением уязвимостей во время эмбарго на раскрытие сведений о проблеме), привычность интерфейса, унификация подсистем для работы с сообщениями о проблемах, кодом, документацией и планированием новых возможностей, наличие средств для интеграции с IDE, поддержка типовых рабочих процессов.

Из возможностей GitLab, которые окончательно повлияли на принятие решения по выбору данной платформы, упомянуты поддержка подгрупп с выборочным доступом к репозиториям, возможность использования бота для автоматических слияний (требуется CentOS Stream для поддержании пакетов с ядром), наличие встроенных средств для планирования разработки, возможность использования готового SAAS-сервиса с гарантируемым уровнем доступности (позволит высвободить ресурсы на поддержание серверной инфраструктуры).

Решение уже вызвало критику среди разработчиков, связанную с тем, что решение было принято без предварительного широкого обсуждения. Также были высказаны опасения, что сервис не будет использовать свободную Comminity-редакцию GitLab. В частности, возможности, необходимые для реализации описанных в анонсе требований к Git Forge, доступны только в проприетарной версии GitLab Ultimate.

Критике также подверглось намерение воспользоваться предоставляемым компанией GitLab сервисом SAAS (приложение как сервис), вместо развёртывания GitLab на своих серверах, что выводит сервис из под контроля (например, невозможно быть уверенным, что все уязвимости в системе оперативно устраняются, должным образом поддерживается инфраструктура, в один прекрасный момент не будет навязана телеметрия и исключена диверсия со стороны персонала сторонней компании). Решение также не сочетается с основополагающими принципами Fedora, в которых определено, что проект должен отдавать предпочтения свободным альтернативам.

Тем временем, компания GitLab объявила об открытии реализаций 18 функциональных возможностей, ранее предлагавшихся только в проприетарных редакциях GitLab. Возможности охватывают различные области управления полным циклом разработки ПО, включая планирование разработки, создание проектов, верификацию, работу с пакетами, формирование релизов, настройку и защиту.

В число свободных переведены следующие функции:

  • Прикрепление связанных issue;
  • Экспорт issue из GitLab в CSV;
  • Режим планирования, упорядочивания и визуализации процесса разработки отдельных функциональных возможностей или релизов;
  • Встроенная сервисная служба для связывания участников проекта со сторонними лицами при помощи email.
  • Web-терминал для Web IDE;
  • Возможность синхронизации файлов для тестирования изменений в коде в web-терминале;
  • Средства управления дизайном, позволяющие загружать в issue макеты и ресурсы, используя issue как единую точку доступа ко всему, что требуется для разработки новой возможности;
  • Отчёты о качестве кода;
  • Поддержка пакетных менеджеров Conan (C/C++), Maven (Java), NPM (node.js) и NuGet (.NET);
  • Поддержка канареечных развёртываний, позволяющих установить новую версию приложения на небольшой части систем;
  • Инкрементальные распространения, позволяющие вначале доставить новые версии лишь для небольшого числа систем, постепенно доводя охват до 100%;
  • Флаги активации функциональности, дающие возможность поставлять проект в различных редакциях, динамически активируя определённые возможности;
  • Обзорный режим развёртываний, позволяющий оценить состояние каждого окружения непрерывной интеграции на базе Kubernetes;
  • Поддержка определения нескольких кластеров Kubernetes в конфигураторе (например, можно использовать отдельные кластеры Kubernetes для пробных внедрений и рабочих нагрузок);
  • Поддержка определения политик сетевой безопасности контейнеров, позволяющих разграничить доступ между подами Kubernetes.

Дополнительно можно отметить публикацию обновлений GitLab 12.9.1, 12.8.8 и 12.7.8 (Community Edition и Enterprise Edition), в которых устранена уязвимость. Проблема проявляется начиная с выпуска GitLab EE/CE 8.5 и позволяет прочитать содержимое любого локального файла при перемещении issue между проектами. Детали об уязвимости будут раскрыты через 30 дней.

Источник: [ссылка]