В утилите smb4k, применяемой в KDE для обнаружения и монтирования SMB-разделов, выявлены уязвимости, позволяющие получить root-доступ к системе. Проблемы устранены в выпуске Smb4K 4.0.5. Проверить состояние новой версии пакета или подготовки исправления в дистрибутивах можно на следующих страницах: Debian, Ubuntu, Fedora, SUSE/openSUSE, Gentoo, Arch и FreeBSD.
Для выполнения привилегированных действий в smb4k используются KAuth-обработчики, запускаемые с правами root. Уязвимости присутствуют в обработчике Smb4KMountHelper и вызваны тем, что функции для монтирования (CVE-2025-66003) и отмонтирования (CVE-2025-66002) сетевой файловой системы должным образом не фильтровали опции, передаваемые командам mount.cifs и unmount.cifs, что позволяло непривилегированному пользователю передать данным командам любые опции через параметр mh_options.
Например, при помощи опций "filemode=04777,uid=0" всем файлам в примонтированном разделе будет выставлен флаг suid root. Пользователь может запустить SMB-сервер и примонтировать с него собственный раздел с необходимыми исполняемыми файлами, которые при выставлении опций "filemode=04777,uid=0" будут выполнятся с правами root.
В обработчике Smb4KMountHelper также должным образом не проверялись целевые каталоги, что, например, позволяло примонтировать свой SMB-раздел вместо каталога /bin и подставить в него модифицированную версию /bin/bash. Кроме того, через параметр mh_krb5ticket можно изменить путь к файлу с учётными данными Kerberos и добиться вывода содержимого любого файла, например, /etc/shadow, в stderr или публично доступный лог.
Уязвимость в функции Smb4KMountHelper::unmount() может использоваться для вызова отказа в обслуживании через отмонтирование системных разделов, манипулируя содержимым параметра mh_mountpoint. Интересно, что в коде была проверка на тип раздела, которая пропускала только разделы cifs, smbfs и smb3, но в if-блоке для вывода ошибки был пропущен оператор "return" и выполнение не прерывалось.
Проведён анализ соответствия действительности данных о местоположении выходных узлов, заявляемых VPN-провайдерами. Из 20 протестированных VPN-провайдеров только 3 всегда указывали корректную информацию о странах выходных узлов. 6 провайдеров выдавали виртуальные (не подтвердившиеся при проверке) или неизмеримые (страны, из которых не был зафиксирован трафик) данные о стране в более чем 50% случаев, 3 провайдера - от 30% до 49%. Некоторые заявляли о размещении оборудования в более чем в 100 странах, но на деле отправляли трафик из нескольких датацентров в США и Европе.
Всего было проанализировано более 150 тысяч выходных IP-адресов, по заявлению VPN-провайдеров охватывающих 137 стран. Проверка производилась путём анализа маршрутизации, RTT (round-trip time) и задержек при доставке пакетов. Информация о стране у примерно 8 тысяч IP-адресов не соответствовала действительности. Расхождение между заявленной и фактической страной могло достигать несколько тысяч километров. 38 заявленных стран оказались виртуальными и из них не был зафиксирован трафик.
Одной из причин расхождения информации является неточность данных в Whois и БД регистраторов. Проблема в том, что данные в подобные БД заносятся на основе регистрации владельца IP-адресов и переданных им данных. Информация не верифицируется, поэтому не исключены ситуации, когда компания передаёт неверную информацию о местоположении, не обновляет устаревшие данные или зарегистрирована в одной стране, а размещает оборудование в другой. Под сомнение также ставится корректность информации в GeoIP-сервисах, таких как MaxMind, IP2Location и Digital Element, заявляющих о точности информации о стране в 99.5-99.9% без проведения верификации фактического местоположения.
Ариадна Конилл (Ariadne Conill), создатель музыкального проигрывателя Audacious и композитного сервера Wayback, инициатор разработки протокола IRCv3 и лидер команды по обеспечению безопасности Alpine Linux, развивает инструментарий capsudo для выполнению команд с повышенными привилегиями. В отличие от sudo в новом проекте задействована модель предоставления полномочий на уровне отдельных объектов (object-capability). Код проекта написан на языке Си и распространяется под лицензией MIT.
Из недостатков sudo, которые попытались решить в новом инструментарии, отмечается поставка в форме исполняемого файла с флагом suid root, монолитная архитектура без разделения привилегий (вся функциональность sudo выполняется с правами root); усложнённый, неиерархический и недекларативный формат конфигурации; поддержка плагинов, выполняемых напрямую в привилегированном процессе; раздутая кодовая база с большой поверхностью атаки.
Вместо использования монолитной утилиты sudo в capsudo использован тандем из привилегированного фонового процесса capsudod и непривилегированной утилиты capsudo. Взаимодействия между capsudod и capsudo осуществляется при помощи файла-сокета, а полномочия запуска привилегированных команд определяются правами доступа к данному сокету. Только пользователи, имеющие доступ к сокету, могут выполнять привязанные к сокету привилегированные команды. Недостатком предложенного подхода является необходимость использования отдельного фонового процесса для координации запуска каждой привилегированной операции.
Например, чтобы предоставить какому-то пользователю возможность запуска утилиты reboot с повышенными привилегиями, администратор может создать в домашнем каталоге заданного пользователя сокет "reboot-capability", привязать его к запуску утилиты reboot и на уровне прав доступа разрешить запись в сокет только необходимому пользователю. После этого данный пользователь сможет запустить команду reboot, выполнив "capsudo -s reboot-capability".
Для того чтобы повторить поведение sudo и разрешить выполнение с повышенными привилегиями любых приложений для пользователей, входящих в группу wheel, можно использовать следующие настройки:
В правила разработки дополнений к GNOME Shell добавлен новый пункт, запрещающий публикацию дополнений, сгенерированных при помощи AI-инструментов. Проектом теперь не будут приниматься дополнения, включающие признаки использования AI для генерации кода, такие как бессмысленные вставки в коде, разнобой в стиле, надуманное использование API и наличие комментариев с подсказами для AI.
Причиной введения новых требований стали участившиеся за последние два месяца случаи публикации дополнений с необработанным мусорным кодом, разбор которого отнимает много времени у людей, занимающихся рецензированием дополнений. В ряде случаев попытки уточнить некоторые вопросы, возникшие в процессе рецензирования подобных дополнений, привели к отправке их авторами ответов, также сгенерированных в AI.
Пример избыточного кода, генерируемого AI, который усложняет рецензирования:
Опубликован релиз языка программирования Rust 1.92, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.
Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.
Продолжена стабилизация типа
"never", обозначаемого символом "!" и определяющего вычисления, никогда не возвращающие значения (например, функция "exits", макрос "panic!" и бесконечные циклы никогда не возвращают управление). В новой версии Lint-проверки "never_type_fallback_flowing_into_unsafe" и "dependency_on_unit_never_type_fallback" по умолчанию переключены с вывода предупреждений на генерацию ошибок компиляции. Данные проверки срабатывают при наличие проблем в коде, проявляющихся при использовании типа "never".
По предварительной оценке подобные проблемы имеются примерно в 500 crate-пакетах. Включение lint-проверок позволит подготовиться к стабилизации типа "never", который в пока отнесён к числу экспериментальных возможностей. Lint-проверки срабатывают только при прямой сборке пакетов и не проявляются при сборке зависимостей. Проверки также могут быть отключены через атрибут "#[allow]".
Изменено поведение lint-проверки "unused_must_use", срабатывающей при игнорировании возвращаемого функцией значения, если функция или возвращаемый тип помечены атрибутом "#[must_use]". В новой версии прекращён вывод предупреждений об игнорировании возвращаемых значений с типами Result и ControlFlow, в которых состояние ошибки определяется типом без значений ("!" или "Infallible"). Например, "fn can_never_fail() -> Result<(), Infallible> {...}".
Изменено поведение флага "-Cpanic=abort", при указании которого включена генерация по умолчанию unwind-таблиц для выполнения обратной трассировки (backtrace) . Для возвращения старого поведения предусмотрена опция "-Cforce-unwind-tables=no".
Ужесточена проверка аргументов атрибута "#[macro_export]". При указании недопустимых атрибутов теперь будет выводиться ошибка, а не предупреждение. Проблемы с "#[macro_export]" будут проверяться не только при прямой сборке crate-пакета, но и при сборке зависимостей.
В safe-коде разрешено получение raw-указателей ("&raw [mut | const]") на поля в union-типах.
Для целевой платформы mips64el-unknown-linux-muslabi64 реализована поддержка динамического связывания.
Минимально поддерживаемая версия внешнего инструментария LLVM поднята до ветки LLVM 20.
В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
В пакетном менеджере Cargo обеспечен повтор операции
"git fetch" в случае сбоя выполнения первого запроса. Добавлены компоненты для интеграции с эмулятором терминала Ghostty. В руководство добавлена новая глава про оптимизацию процесса сборки.
Дополнительно можно отметить недавно анонсированные проекты и события, связанные с Rust:
Компания Ferrocene объявила о прохождении сертификации IEC 61508 (SIL 2) для библиотеки libcore, включающей подмножество вызовов из стандартной базовой библиотеки Rust. Сертификация подтверждает соответствие библиотеки требованиям для критически важных промышленных систем. Компания Ferrocene известна созданием инструментария для разработки на языке Rust приложений для критически важных систем (Safety-Critical Systems), а также поддержанием спецификации FLS (Ferrocene Language Specification), на базе которой развивается эталонная спецификация на язык Rust.
Опубликован релиз библиотеки Iced 0.14 для создания графических интерфейсов пользователя с использованием модели реактивного программирования. В Iced реализована архитектура, привычная для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предлагается готовый набор виджетов с возможностью создания асинхронных обработчиков и применения адаптивной компоновки элементов интерфейса в зависимости от размера окна и экрана. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal и DX12. Из крупных проектов, использующий Iced, можно отметить среду рабочего стола COSMIC.
В новой версии добавлены виджеты "table",
"grid", "sensor", "float" и "pin", а также расширены возможности виджета для работы с разметкой Markdown. Реализованы: режим реактивной отрисовки; появляющиеся при необходимости полосы прокрутки; API для работы с анимацией; поддержка методов ввода; headless-режим; возможность внесения изменений без остановки приложения (hot reloading); распараллеливание декодирования изображений; инструменты для отладки и профилирования производительности.
Проект Ribir развивает библиотеку для создания многоплатформенных приложений с графическим интерфейсом, позволяющую использовать одну общую кодовую базу приложения для формирования графических приложений для разных платформ (Linux, Windows, macOS, в планах Android и iOS). Доступны декларативный язык построения интерфейса на основе Rust-макросов,
более 20 виджетов, темы оформления, рендер на базе wgpu.
Представлена утилита Island, предназначенная для изолированного запуска приложений.
Для sandbox-изоляции задействован механизм Landlock. Island позволяет создавать правила в формате TOML и применять их для изоляции при помощи Landlock существующих исполняемых файлов, без необходимости внесения изменений в код. В отличие от Firejail утилита Island не требует прав root и специальных полномочий.
Компания Google представила написанный на Rust инструментарий Wasefire для разработки защищённых прошивок. Основная идея в запуске поверх базового окружения прошивки (платформы) отдельных изолированных обработчиков (апплетов). Разработка прошивки не привязана к языкам программирования - компоненты прошивки могут поставляться в представлении WebAssembly с расширениями WASI (WebAssembly System Interface) и выполняться при помощи Wasmtime.
Опубликован выпуск UEFI-прошивки Patina 18, написанной на Rust. Patina предоставляет замену базовым компонентам прошивки UEFI и может использоваться для постепенного перевода существующих прошивок, написанных на Си, на использование языка Rust.
Проект Brimstone развивает новый JavaScript-движок, написанный с нуля на языке Rust. В текущем виде уже поддерживается более 97% от возможностей ECMAScript 2026. Виртуальная машина для выполнения байткода создана с оглядкой на архитектуру движка V8.
Проект Catten развивает ядро для экспериментальной операционной системы CharlotteOS, написанное на Rust. Ядро поддерживает управление доступом на основе "capability" (по аналогии с Fuchsia) и использует похожую на Plan 9 распределённую иерархию ресурсов с адресацией файловых путей по URI.
Опубликован выпуск интерактивной командной оболочки Fish 4.2.0 (friendly interactive shell). Ветка 4.x примечательна полным переводом кодовой базы с языка С++ на Rust.
Компания Сloudflare открыла код Rust-библиотеки tokio-quiche, для встраивания поддержки протоколов QUIC и HTTP/3 в асинхронно работающие приложения на базе фреймфорка Tokio.
Проект Tor опубликовал выпуски Arti1.7 и 1.8, реализации инструментария Tor, написанного на языке Rust. Когда код Arti достигнет уровня, способного полностью заменить вариант на Си, разработчики Tor намерены придать Arti статус основной реализации Tor и постепенно прекратить сопровождение реализации на Си.
В новой версии стабилизирована реализация ограниченного определения onion-сервисов с использованием авторизации клиента ("restricted-discovery"). В дополнение к прокси SOCKS добавлена поддержка HTTP-прокси, использующего метод CONNECT. Реализовано адаптивное выставление таймаутов в зависимости от нагрузки. Добавлена экспериментальная поддержка tokio-console.
Продолжено развитие функциональности для релеев и серверов директорий (Directory Authority). Добавлена команда "arti hsc ctor-migrate" для переноса ключей из Си-клиента в хранилище ключей Arti. Добавлены настройки для управления запуском onion-сервисов.
Опубликована СУБД RustDB, созданная на языке Rust под впечатлением от PostgreSQL. Поддерживаются базовые SQL-операции (CREATE/DROP TABLE/VIEW, INSERT, SELECT, UPDATE, DELETE, SHOW TABLES, EXPLAIN, VACUUM),
транзакции, MVCC, WAL (Write-Ahead Log), индексы, подключение через PostgreSQL-совместимый протокол. При написании RustDB использовался AI.
Компания System76, специализирующаяся на производстве ноутбуков, ПК и серверов, поставляемых с Linux, опубликовала выпуск дистрибутива Pop!_OS 24.04. Pop!_OS основан на пакетной базе Ubuntu 24.04 и поставляется с собственным окружением рабочего стола COSMIC. Наработки проекта распространяются под лицензией GPLv3. ISO-образы сформированы для архитектур x86_64 (2.9 ГБ + отдельная сборка для систем с GPU NVIDIA) и ARM64 (2.7 ГБ).
Дистрибутив ориентирован на людей, использующих компьютер для создания чего-то нового, например, занимающихся разработкой контента, программных продуктов, 3D-моделей, графики, музыки или научной работой. Компания System76 началаразработку собственной редакции дистрибутива Ubuntu после решения Canonical перевести Ubuntu с Unity на GNOME Shell - разработчики System76 занялись созданием новой темы оформления на базе GNOME, но затем поняли, что готовы предложить пользователям иное окружение рабочего стола, предоставляющего гибкие средства для настройки под текущий рабочий процесс.
Изначально пользовательское окружение в Pop!_OS основывалось на модифицированной оболочке GNOME Shell и наборе собственных дополнений к GNOME Shell. В Pop!_OS 24.04 осуществлён переход на новую среду рабочего стола COSMIC, разработка которой велась компанией System76 последние три года. Проект COSMIC написан на языке Rust с использованием библиотеки Iced. С обзором возможностей COSMIC можно познакомиться во вчерашнем анонсе релиза COSMIC 1.0.
Среди других изменений в Pop!_OS 24.04:
Осуществлён переход на пакетную базу Ubuntu 24.04. Обновлены версии ядра Linux 6.16, Mesa 25.1.5, драйверов NVIDIA 580, libwayland/libwayland-client 1.23.1 и libdrm 2.4.125.
Файловый менеджер GNOME Files, эмулятор терминала GNOME Terminal, текстовый редактор GNOME Text Edito, утилита создания скриншотов GNOME Screenshotr и мультимедийный проигрыватель Totem заменены на приложения COSMIC Files, COSMIC Terminal, COSMIC Text Editor, COSMIC Screenshot и COSMIC Media Player.
Для установки дополнительных программ вместо Pop!_Shop задействовано приложение COSMIC Store.
Добавлена официальная поддержка ПК System76 Thelio Astra на базе архитектуры ARM64, а также неофициальная поддержка сообществом ARM-устройств других производителей. В качестве загрузчика на ARM-системах задействован Tow-Boot на базе U-Boot.
Переработана поддержка систем с гибридной графикой. Обеспечено автоматическое переключение между встроенным GPU и дискретной видеокартой на основе параметров приложений. Добавлена возможность ручного выбора GPU через контекстное меню, показываемое при клике правой кнопкой мыши на пиктограммах приложений.
Добавлена поддержка включения полнодискового шифрования на этапе установки.
В инсталлятор добавлен режим переустановки без потери пользовательских файлов, настроек и приложений, установленных в формате flatpak.
После четырёх месяцев разработки представлено декабрьское сводное обновление приложений KDE Gear 25.12, развиваемых проектом KDE. В составе набора опубликованы выпуски 249 программ, библиотек и плагинов. Информацию о наличии Live-сборок с новыми выпусками приложений можно получить на данной странице. Новые версии отдельных приложений можно загрузить из каталогов Flathub и SnapCraft.
В файловом менеджере Dolphin появилась возможность временно скрывать каталоги и файлы через контекстное меню, не прибегая к их перемещению в корзину.
В Kate, текстовом редакторе для разработчиков, улучшена поддержка Git и обеспечено отображение последней активности в списке веток. Добавлена возможность обрамления содержимого escape-последовательностями (bracketed paste) при вставке в терминал через буфер обмена. В диалоге быстрого открытия файлов, вызываемого через кнопку ⚡ в верхнем правом углу, реализована возможность перехода на заданную позицию в файле после его открытия (например, для выставления курсора на 10 символ в 15 строке после ввода имени файла нужно добавить ":15:10").
В просмотрщике изображений Photos (Koko) расширены возможности редактирования и добавлен новый инструмент для кадрирования фотографий.
В версии Photos для мобильных устройств и при использовании сенсорных экранов расширено управление жестами, например, реализована возможность масштабирования щипком, смещения видимой области при скольжении касанием и переключения на следующее или предыдущее изображение через сдвиг вправо или влево. В версию для мобильных устройств добавлен режим слайдшоу.
В Konqueror, гибриде web-браузера с файловым менеджером, реализована возможность экспорта содержимого в формате PDF с высоким разрешением.
В web-браузер Falkon добавлена кнопка для быстрого включения/выключения блокировщика рекламы.
В программе для обмена сообщениями Neochat, использующей протокол Matrix, в конфигураторе появилась страница с информацией о доступных комбинациях клавиш. Улучшена поддержка Matrix-расширений, таких как Jitsi для проведения видеоконференций (кнопка запуска конференции теперь отображает состояние конференции и активируется только если пользователь имеет право создавать конференции).
В ассистент в путешествиях Itinerary добавлены новые дополнения для автоматической обработки информации о билетах в различных железнодорожных компаниях.
Во время путешествия, помимо указания местоположения на карте, приложение теперь показывает сведения о высоте над уровнем моря. Добавлен встроенный конвертер валют.
В Kjournald, интерфейс для навигации по логам systemd-journald, добавлена поддержка загрузки пользовательских unit-файлов.
Представлен выпуск проекта Monado 25.1.0, развивающего открытую реализацию стандарта OpenXR. Стандарт OpenXR подготовлен консорциумом Khronos и определяет универсальный API для создания приложений виртуальной и дополненной реальности, а также набор прослоек для взаимодействия с оборудованием. Monado предоставляет runtime, полностью соответствующий требованиям OpenXR, который может использоваться для организации работы с виртуальной и дополненной реальностью на смартфонах, планшетах, ПК и любых других устройствах. Код проекта написан на языке Си и распространяется под свободной лицензией Boost Software License 1.0, совместимой с GPL.
Основные возможности платформы:
Движок пространственного зрения, выполняющий такие задачи, как трекинг объектов, определение поверхностей, реконструкция мешей, распознавание жестов, отслеживания движения глаз.
Движок для отслеживания персонажа, предлагающий компоненты для предсказания движений, оптического отслеживания движений через камеру, отслеживания позиции на основе данных от VR-шлема, гиростабилизатора и контроллеров.
Композитный сервер, поддерживающий композитинг, режим прямого вывода, проброс видео, корректировку линз и формирование рабочего пространства для одновременно работы с несколькими приложениями.
Движок взаимодействия, предоставляющий набор виджетов и тулкит для приложений виртуальной реальности, а также включающий инструменты для симуляции физических процессов.
Композитный сервер, поддерживающий прямой вывод на устройство. Предоставляются шейдеры для Vive и Panotools. Имеется поддержка проекционных слоёв.
Инструментарий для калибровки оборудования и определения границ перемещения.
Драйверы для шлемов виртуальной реальности HDK (OSVR Hacker Developer Kit), PlayStation VR HMD, SteamVR, Panotools (PSVR), различных моделей Vive и устройств для которых имеются драйверы OpenHMD.
Драйвер для очков дополненной реальности North Star.
Драйвер для систем отслеживания позиции, таких как Intel RealSense T265.
Набор udev-правил для настройки доступа к устройствам виртуальной реальности без получения полномочий root.
Компоненты для отслеживания движения с фреймворком для фильтрации и потоковой передачи видео.
Система отслеживания персонажа с шестью степенями свободы (6DoF, вперёд/назад, вверх/вниз, влево/вправо, рыскание, тангаж, крен) для контроллеров PSVR и PS Move.
Модули для интеграции с графическими API Vulkan и OpenGL.
Безэкранный режим (Headless).
Управление пространственным взаимодействием и точкой обзора.
Базовая поддержка синхронизации кадров и ввода информации (действий).
Улучшено отслеживание движения рук. Добавлена поддержка OpenXR-расширения XR_EXT_hand_tracking_data_source, позволяющего раздельно обрабатывать режимы отслеживания рук "unobstructed" (рука свободна) и "conforming" (в руке находится какой-то объект, например, контроллер).
Повышено качество управления при помощи контроллеров и при одновременном использовании контроллеров и отслеживания рук. В драйверах реализована поддержка новых ролей и решены проблемы с ориентацией и распознаванием позиции рук.
Представлена система xrt_future и реализована поддержка OpenXR-расширения XR_EXT_future, предоставляющих возможности для выполнения операций в асинхронном режиме (в будущих версиях стандарта OpenXR появится поддержка операций, которые можно запускать, не дожидаясь завершения предыдущих).
Добавлены драйверы для 3D-шлемов Subur S1 и Rift DK2. Улучшена поддержка 3D-шлемов Razer Hydra, Vive Pro 2, Xreal Air 2 Ultra и Fujitsu.
Добавлен драйвер SolarXR IPC для извлечения данных трекинга с сервера SlimeVR.
В композитном сервере реализована компенсация задержки между отслеживанием движения головы и фактическим выводом кадра на
экранах с построчной разверткой (rolling-scanout). Повышена надёжность настройки замещающих друг друга виртуальных фреймбуферов (swapchain), применяемых для обеспечения плавного вывода.
В основном интерфейсе для платформы Android реализована поддержка сканирования и сохранения QR-кодов для калибровки устройств Cardboard.
COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop.
Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана.
Несколько режимов компоновки окон: многооконный, мозаичный и стековый. В мозаичном режиме позиция для новых окон на экране выбирается автоматически и выравнивается по сетке. В стековом режиме группировка окон приложений осуществляется по аналогии со вкладками в браузере. Режимы размещения окон могут комбинироваться и включаться в привязке к определённому виртуальному рабочему столу.
Панель, отображающая список активных окон, ярлыки для быстрого доступа к приложениям и апплеты (встроенные приложения, выполняемые в отдельных процессах). Панель может разделяться на части, например, верхнюю часть с меню и индикаторами, и нижнюю часть со списком активных задач и ярлыков быстрого доступа. Части панели могут размещаться как вертикально, так и горизонтально, занимать всю ширину экрана или только выбранную область, использовать прозрачность, менять стиль в зависимости от выбора светлого и тёмного оформления, раздельно настраиваться для каждого виртуального рабочего стола.
Апплеты с меню приложений, интерфейсом переключения между окнами и виртуальными рабочими столами, системой поиска, калькулятором, диалогом для запуска произвольных команд, индикаторами для изменения раскладки клавиатуры, управления воспроизведением мультимедийных файлов, изменения громкости, управления Wi-Fi и Bluetooth, показа уведомлений, отображения времени и вызова экрана для завершения работы.
Возможность использования виртуальных рабочих столов, которые можно прокручивать в обзорном режиме, перегруппировывать и перемещать на другой экран.
Поддержка настройки тем оформления, выбора между тёмными и светлыми темами, сохранения настроек оформления для использования на других системах, цикличного показа коллекции рабочих столов, размещения пиктограмм на рабочем столе.
Композитный сервер cosmic-comp на базе Wayland. Поддерживается механизм VRR (Variable Refresh Rate), адаптивно меняющий частоту обновления монитора для обеспечения плавности и отсутствия разрывов во время игр и показа видео.
После года разработки сформирован релиз среды рабочего стола Cinnamon 6.6, в рамках которой сообществом разработчиков дистрибутива Linux Mint развивается форк оболочки GNOME Shell, файлового менеджера Nautilus и оконного менеджера Mutter, нацеленный на предоставление окружения в классическом стиле GNOME 2 с поддержкой удачных элементов взаимодействия из GNOME Shell. Cinnamon основывается на компонентах GNOME, но эти компоненты поставляются как периодически синхронизируемый форк, не связанный внешними зависимостями с GNOME. Новый выпуск Cinnamon будет предложен в дистрибутиве Linux Mint 22.3, который планируется выпустить во второй половине декабря.
Переделано меню приложений, в котором появилась боковая панель с аватаром пользователя, избранными каталогами и часто используемыми приложениями. Реализованы всплывающие подсказки с описанием программ, показываемые при наведении курсора на имена приложений. Разделено отображение закладок и избранных каталогов. Упрощена навигация по меню при помощи клавиатуры.
Список категорий программ в меню оформлен более компактно, для наглядного выделения категорий задействованы символьные пиктограммы.
Системные кнопки (блокировка экрана, спящий режим, выключение) перенесены в верхний правый угол, но добавлены настройки, позволяющие переместить их в нижнюю часть меню приложений или боковую панель. Также добавлена настройка для переноса поисковой строки в нижнюю часть меню.
В конфигуратор добавлены настройки для скрытия различных элементов меню.
Например, можно скрыть боковую панель или настроить её содержимое (закладки, избранные каталоги, часто используемые приложения, системные кнопки).
Утилита "System Reports" существенно расширена и переименована в приложение "System Information", в котором помимо страниц с общей информацией о системе и отправки отчётов о проблемах добавлены 4 новых раздела с детальной информацией о подключённых USB-устройствах, PCI-компонентах, GPU и BIOS (сведения о прошивках, материнской плате и режимах загрузки).
Добавлено приложение "System Administration", запускаемое с правами root и включающее сведения и настройки для администратора. В настоящее время в приложении имеется одна секция "Boot menu", в которой можно управлять показом загрузочного меню и изменять параметры загрузки.
Вместо набора символьных пиктограмм Adwaita задействован собственный набор пиктограмм XSI (XApp Symbolic Icons).
Переделана работа с клавиатурой (обеспечена полная совместимость с Wayland). Предоставлена поддержка переключения раскладки клавиатуры при использовании Wayland и улучшена поддержка методов ввода. Разделены настройки традиционных раскладок и методов ввода IBus.
В апплете переключения раскладки добавлена поддержка разных типов раскладок клавиатуры и IBus.
Переделана экранная клавиатура, которая больше не использует libcaribou и поддерживает переключение раскладки.
Вместо библиотеки libAdwaita задействован собственный форк - libAdapta, отличающийся поддержкой тем оформления и некоторыми дополнительными возможностями. В остальном libAdapta поддерживает всю функциональность libAdwaita и по умолчанию обеспечивает идентичный внешний вид приложений.
В пакет xdg-desktop-portal-xapp, содержащий компоненты для интеграции изолированных libAdwaita-приложений (например, поставляемых в пакетах flatpak) со средой рабочего стола, добавлена поддержка акцентных цветов, применяемых для выделения активных элементов. Значения подобных цветов определяются через сканирование GTK-тем на наличие цвета с идентификатором "accent_color".
Разрешена сборка Cinnamon без поддержки NetworkManager.
В конфигураторе настройки мозаичного режима выделены в отдельную вкладку. Добавлена секция для настройки параметров устройств с интерфейсом Thunderbolt.
При переключении между окнами по Alt+Tab обеспечен показ только окон на текущем мониторе.
Добавлен апплет для включения ночной подсветки ("Night Light"), позволяющей менять цветовую температуру в зависимости от времени суток. При работе в ночное время автоматически уменьшается интенсивность синего цвета на экране, что делает цветовую гамму более тёплой для снижения напряжения глаз и сокращения факторов возникновения бессонницы при работе перед сном.
В систему уведомлений добавлена опция для показа в первую очередь новых уведомлений. Реализованы значки для индикации числа непросмотренных уведомлений.
Объявлены лауреаты ежегодной премии "Free Software Awards 2024", учрежденной Фондом свободного ПО (FSF) и присуждаемой людям, внесшим наиболее значительный вклад в развитие свободного ПО, а также социально значимым свободным проектам. Победители получили памятные грамоты (премия FSF не подразумевает денежного вознаграждения).
Премию за продвижение и развитие свободного ПО получил Энди Уинго (Andy Wingo), один из мэйнтейнеров проекта GNU Guile, развивающего свободную реализацию функционального языка программирования Scheme. Guile является официальным языком разработки расширений для операционной системы GNU и применяется в таких проектах, как пакетный менеджер GNU Guix и отладчик GDB.
В номинации, вручаемой проектам, принёсшим значительную пользу обществу и способствовавшим решению важных социальных задач, награда присуждена проекту Govdirectory, поддерживающему общедоступный каталог контактных данных, социальных сетей, сайтов и сервисов, через которые граждане могут связаться с госучреждениями в разных странах (например, Латвия, РФ, Украина) по интересующим их вопросам.
В номинации за выдающийся вклад нового участника в развитие свободного ПО, которая присуждается новичкам, первый вклад которых показал заметную приверженность движению свободного ПО, премию получил
Алкс Са (Alx Sa) за активное участие в разработке свободного графического редактора GIMP (за три года своего участия в проекте поднялся на 4 место по числу коммитов в GIMP).
2019 Джим Мейринг (Jim Meyering), с 1991 года занимается сопровождением пакета GNU Coreutils, один из основных разработчиков autotools и создатель Gnulib.
2018 Дебора Николсон (Deborah Nicholson), директор по взаимодействию с сообществом в организации Software Freedom Conservancy;
2017 Карен Сэндлер (Karen Sandler), директор правозащитной организации Software Freedom Conservancy;
2016 Александре Олива (Alexandre Oliva), бразильский популяризатор и разработчик свободного ПО, основатель Латиноамериканского Фонда СПО, автор проекта Linux-Libre (полностью свободный вариант ядра Linux);
2015 Вернер Кох (Werner Koch), создатель и основной разработчик инструментария GnuPG (GNU Privacy Guard);
2014 Себастьян Жодонь (Sébastien Jodogne), автор Orthanc, свободного DICOM-сервера для обеспечения доступа к данным компьютерной томографии;
2013 Мэтью Гаррет (Matthew Garrett), один из разработчиков ядра Linux, входящий в технический совет организации Linux Foundation, внёсший значительный вклад в обеспечение загрузки Linux на системах с UEFI Secure Boot;
2012 Фернандо Переc (Fernando Perez), автор IPython, интерактивной оболочки для языка Python;
2011 Юкихиро Мацумото (Yukihiro Matsumoto), автору языка программирования Ruby. Юкихиро уже на протяжении 20 лет участвует в развитии проектов GNU, Ruby и других открытых проектов;
2010 Роб Савуа (Rob Savoye), лидер проекта по созданию свободного Flash-плеера Gnash, участник разработки GCC, GDB, DejaGnu, Newlib, Libgloss, Cygwin, eCos, Expect, основатель компании Open Media Now;
2009 Джон Гилмор (John Gilmore), один из основателей правозащитной организации Electronic Frontier Foundation, создатель легендарного списка рассылки Cypherpunks и иерархии Usenet-конференций alt.*. Учредитель компании Cygnus Solutions, первой начавшей оказывать коммерческую поддержку для решений на базе свободного ПО. Основатель свободных проектов Cygwin, GNU Radio, Gnash, GNU tar, GNU UUCP и FreeS/WAN;
2008 Wietse Venema (известный эксперт в области компьютерной безопасности, создатель таких популярных проектов, как Postfix, TCP Wrapper, SATAN и The Coroner's Toolkit);
2007 Harald Welte (архитектор мобильной платформы OpenMoko, один из 5 основных разработчиков netfilter/iptables, мантейнер подсистемы пакетной фильтрации Linux ядра, активист движения свободного программного обеспечения, создатель сайта gpl-violations.org);
2006 Theodore T'so (разработчик Kerberos v5, файловых систем ext2/ext3, известный хакер Linux ядра и участник группы, разработавшей спецификацию IPSEC);
2005 Andrew Tridgell (создатель проектов samba и rsync);
2004 Theo de Raadt (руководитель проекта OpenBSD);
2003 Alan Cox (вклад в разработку Linux ядра);
2002 Lawrence Lessig (популяризатор открытого ПО);
На проходящей в эти дни конференции Maintainers Summit состоялось обсуждение результатов эксперимента по добавлению в ядро Linux возможности разработки компонентов на языке Rust. Собравшиеся участники признали эксперимент успешным и решили перевести поддержку языка Rust в категорию основных частей ядра, сняв с неё метку экспериментальной функциональности.
Три года назад возможность разработки драйверов и модулей на языке Rust была добавлена в ядро 6.1. С тех пор в состав ядра были включены абстракции для разработки на Rust драйверов для GPU, ФС, блочных устройств, сетевых адаптеров и USB-устройств. На языке Rust развивается драйвер Nova для GPU NVIDIA, asahi для GPU Apple AGX, Tyr для GPU ARM Mali, rust_ext2 c ФС Ext2. В состав ядра принята написанная на Rust реализация IPC Binder. Проект RROS развивает real-time подсистему для ядра Linux, написанную на Rust.
Поддержка Rust неактивна по умолчанию и не приводит к включению Rust в число обязательных сборочных зависимостей к ядру.
По мнению сторонников продвижения Rust, данный язык исключает появление большинства ошибок, выявляемых в ядре и вызванных особенностями языка Си (corner case), что позволяет при рецензировании сосредоточиться на логических ошибках и состояниях гонки. Rust помогает избавиться от таких проблем, как обращение к памяти после её освобождения, выход на границу буфера, некорректное освобождение ресурсов при обработке ошибок и забытые проверки возвращаемых кодов ошибок. Применение Rust для нового кода также даёт возможность сократить время разработки, благодаря снижению трудозатрат на отладку и наличию в языке строгих гарантий, выявляющих ошибки на ранней стадии написания кода.
Противники внедрения Rust в ядро считаютнедопустимым использование нескольких языков программирования в сложных проектах - смешанные кодовые базы усложняют работу мэйнтейнеров, так как ставят их в зависимость от кода на другом языке. Например, при наличии обвязок на Rust разработчики подсистем, написанных на Си, должны учитывать влияние изменений на продолжение работоспособности обвязок.
Дополнение: Мигель Охеда (Miguel Ojeda), автор проекта Rust-for-Linux, передал патч для удаления из документации к ядру предупреждения об экспериментальном характере поддержки Rust.
Добавлен режим "Split View" для просмотра бок о бок двух вкладок в одном окне. Режим по умолчанию отключён и активируется через параметр "browser.tabs.splitView.enabled" на странице about:config, после чего в контекстном меню, показываемом при клике правой кнопкой мыши на вкладках, появится кнопка "Add Split View". При нажатии данной кнопки на отдельной вкладке, содержимое окна будет разделено на две части и в правой части отобразится страница открытия новой вкладки. Если выбрать опцию для группы из двух вкладок, указанные вкладки сразу будут раскрыты рядом с друг другом. В режиме "Split View" допускается произвольное изменение размера правой и левой области просмотра через перетаскивание мышью полосы-разделителя. Активная вкладка при одновременном просмотре выделяется красной рамкой.
В Linux-окружениях, использующих протокол Wayland, реализована поддержка дробного масштабирования для повышения эффективности отрисовки на экранах с высокой плотностью пикселей.
Обновлена встроенная графическая библиотека Skia, применяемая для 2D-отрисовки с использованием GPU. Обновление привело к повышению производительности отрисовки и улучшению совместимости.
Для всех пользователей предоставлен доступ к разделу настроек Firefox Labs, в котором можно активировать находящиеся на стадии тестирования экспериментальные возможности. Ранее данный раздел был доступен только в установках, пользователи которых согласились на участие в экспериментах или включили отправку телеметрии.
При вводе поискового запроса в адресной строке реализована возможность отображения результатов поиска в выпадающем блоке рекомендаций. Функция пока по умолчанию включена не для всех и постепенно будет активироваться для всё большего процента пользователей.
Значительно увеличено число стран, для которых активирован виджет с прогнозом погоды, показываемый на странице новой вкладки.
Местоположение для показа прогноза может выбиться автоматически или задаваться вручную. Из постсоветских стран доступны Эстония, Литва и Латвия. Остальные могут включить виджет через настройку
"browser.newtabpage.activity-stream.discoverystream.region-weather-config" на странице about:config.
В конфигураторе переделан диалог переопределения цветов на просматриваемых сайтах (Contrast Control/Manage Colors), в котором теперь наглядно сгруппированы изменяемые цвета и поясняющие метки.
Добавлена поддержка автоматического резервного копирования сохранённых паролей, закладок, внутренних БД и прочих браузерных данных. Резервное копирование пока поддерживается только на платформе Windows, но в будущем появится и в сборках для других ОС. Резервные копии создаются ежедневно и могут быть зашифрованы паролем. В дальнейшем резервную копию можно использовать для восстановления состояния после установки свежего Firefox на другом устройстве.
На платформе Windows прекращена поддержка API Direct2D.
В сборках для платформы macOS по умолчанию обеспечен запуск отдельного процесса для взаимодействия с GPU, в который вынесено выполнение операций, связанных с работой WebGPU, WebGL и WebRender. При возникновении сбоев в коде для работы с GPU вместо аварийного завершения браузера теперь осуществляется перезапуск GPU-процесса.
Добавлена
поддержка спецификации LNA (Local Network Access) для ограничения обращений к локальной системе (loopback, 127.0.0.0/8) или внутренней сети (192.168.0.0/16, 10.0.0.0/8 и т.п.) при взаимодействии с публичными сайтами. Обращение к внутренним ресурсам используются злоумышленниками для осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Кроме того, сканирование внутренних ресурсов может использоваться для косвенной идентификации или сбору сведений о локальной сети. LNA по умолчанию отключён, управляется настройками "network.lna.blocking" и "network.lna.etp.enabled" в about:config и после активации доступен в режиме усиленной защиты от отслеживания перемещений (ETP, Enhanced Tracking Protection => Strict).
В WebRTC реализована возможность шифрования трафика с использованием криптоалгоритма ML-KEM, стойкого к подбору на квантовом компьютере, с передачей ключа в процессе согласования соединения по протоколу DTLS 1.3.
В API WebCrypto добавлена поддержка сжатия информации о точках на эллиптической кривой с последующей возможностью математического восстановления полного значения точек. Сжатие позволяет почти в два раза сократить размер открытых ключей для экономии трафика и места на диске.
В CSS добавлено @-правило "@scope", при помощи которого можно ограничить применение стилей к указанному DOM-поддереву без необходимости написания специфичных селекторов.
Добавлена поддержка CSS-функции contrast-color(), возвращающей противоположный вариант для указанного цвета (для белого вернёт чёрный, а для чёрного - белый). Функцию можно использовать для подбора цвета фона для определённого цвета текста и наоборот.
Добавлено CSS-свойство text-decoration-inset для настройки начальной и конечной точек в линиях декорирования текста (например, линии подчёркивания, перечёркивания, пометки синтаксических ошибок).
Добавлена поддержка устаревшего ключевого слова "-webkit-fill-available", применяемого в CSS-свойства "width" и "height" и являющегося аналогом пока не активированного по умолчанию ключевого слова "stretch", позволяющего элементам растягиваться до тех пор, пока они полностью не заполнят доступное пространство блока.
В инструментах для web-разработчиков в интерфейсе инспектирования в боковой панели Rule по умолчанию скрыты неиспользуемые свойства CSS, что сократило беспорядок и ускорило отрисовку панели. Для возвращения показа скрытых свойств внизу предусмотрена кнопка "Show...".
В версии для платформы Android упрощён интерфейс загрузки файлов - если сайт не детализирует тип файла, браузер теперь предлагает выбрать файл, снять фото или записать звук.
Кроме новшеств и исправления ошибок в Firefox 146 устранено 17 уязвимостей. 12 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
В бета-версии Firefox 147 добавлена возможность использования каталога "~/.config/mozilla" для хранения профилей, дополнений, настроек и внутренних БД в соответствии со спецификацией Freedesktop.org XDG Base Directory. Оптимизировано воспроизведение видео с использованием аппаратного ускорения декодирования на GPU AMD. Реализация протокола Safe Browsing обновлена до версии 5. Добавлена опция для автоматического продолжения воспроизведения видео в режиме "картинка в картинке" в случае переключения вкладки. Добавлена поддержка RFC 9842 (Compression Dictionary Transport). Реализован API Navigation.
Опубликован выпуск платформы PeerTube 8.0, предназначенной для создания независимых децентрализованных систем видеохостинга и видеовещания, альтернативных таким сервисам, как YouTube, Dailymotion и Vimeo. Создаваемая при помощи PeerTube сеть распространения контента основывается на связывании браузеров посетителей между собой и использовании P2P-коммуникаций. Код проекта распространяется под лицензией AGPLv3.
PeerTube даёт возможность запустить собственный сервер для распространения видео и подключить его к общей федеративной сети. Посетители участвуют в доставке контента и имеют возможность подписки на каналы и получения уведомлений о новых видео, независимо от того, какой именно сервер они используют. Федеративная сеть PeerTube образуется как содружество связанных между собой небольших серверов хостинга видео, на каждом из которых имеется свой администратор и приняты свои правила.
Для взаимодействия серверов в федеративной сети применяется протокол ActivityPub. Идентификатор пользователя формируются как "@имя_пользователя@домен_сервера". При просмотре видео данные по возможности загружаются через обращение к браузерам других посетителей, просматривающих тот же контент. Если запрошенное видео никто не просматривает, отдача организуется сервером, на который загружено видео (используется протокол WebSeed).
Помимо распределения трафика между пользователями, просматривающими видео, PeerTube позволяет серверам кэшировать видео других авторов. Таким образом формируется распределённая сеть не только из клиентов, но и из серверов, а также обеспечивается отказоустойчивость. Кроме распространения готового видео имеется поддержка потокового вещания (live streaming) с доставкой контента в режиме P2P. Для управления стримингом могут использоваться типовые программы, такие как OBS.
Для начала вещания через PeerTube пользователю необходимо загрузить на один из серверов видеоролик, описание и набор тегов. После этого ролик станет доступен во всей федеративной сети, а не только на сервере первичной загрузки. Для работы с PeerTube и участия в распространении контента достаточно обычного браузера. Распространять видео с использованием P2P-коммуникаций можно добавив на свой сайт специальный виджет со встроенным web-плеером, по аналогии с тем как на страницы встраиваются ролики с YouTube. Отслеживать появление видео можно через подписку на выбранные видеоканалы в федеративных социальных сетях (например, в Mastodon и Pleroma) или через RSS.
В настоящее время в федеративную сеть входит 1730 серверов, поддерживаемых добровольцами и организациями. Если пользователя не устраивают правила размещения видео на определённом сервере PeerTube, он может подключиться к другому серверу или запустить свой собственный сервер. Для быстрого развёртывания сервера предоставляется преднастроенный образ в формате Docker (chocobozzz/peertube).
Изначально платформа PeerTube основывалась на применении BitTorrent-клиента WebTorrent, запускаемого в браузере и использующего технологию WebRTC для организации прямого P2P-канала связи между браузерами. Позднее вместо WebTorrent был задействован протокол HLS (HTTP Live Streaming) в связке с WebRTC, позволяющий адаптивно управлять потоком в зависимости от полосы пропускания. Web-интерфейс построен с использованием фреймворка Angular.
Модернизирован интерфейс видеопроигрывателя, который сфокусирован на контенте, поставляется с новой темой оформления Lucide и ненавязчивыми кнопками. Переделана кнопка управления громкостью. Параметры P2P-соединения перенесены в меню "Stats for nerds", показываемое при клике правой кнопкой мыши.
В настройках предусмотрена возможность возвращения старой темы оформления видеопроигрывателя и выбора темы не только для всей платформы, но и для отдельных каналов и видеороликов.
Реализованы инструменты для совместного управления каналами, позволяющие нескольким пользователям загружать видео на канал, удалять и обновлять видео, а также управлять списками воспроизведения, модерировать комментарии, настраивать синхронизацию и редактировать информацию о канале. Предложены две категории участников, обслуживающих канал - владелец и редакторы. Редакторам предоставлены все типовые возможности управления каналом, за исключением добавления новых редакторов и удаления канала.
Изменён внешний вид уведомлений, которые теперь лучше сочетаются с темой оформления PeerTube.
Предоставлена возможность выноса на другой сервер операций генерации раскадровок - миниатюр с разными моментами в видео, показываемых при наведении курсора на полосу воспроизведения.
Расширены средства для импорта видео и каналов с других платформ. Добавлена опция для повторного запуска операции импорта, завершившейся неудачей. В настройках также можно настроить автоповтор сбойной операции импорта при синхронизации канала. На страницу управления видео добавлена информация о состоянии импорта.
В кодовую базу ядра Linux, на основе которой в начале февраля будет сформирован релиз 6.19, принят код подсистемы LUO (Live Update Orchestrator), разработанной компанией Google для обновления ядра в Live-режиме без физической перезагрузки. Подсистема базируется на механизме KHO (Kexec HandOver), ранее добавленном в ядро 6.16 и реализующем возможность запуска нового ядра из старого без потери состояния системы.
Live Update Orchestrator позволяет полноценно перезагрузить и обновить ядро без остановки работы и не теряя состояние системы, устройств и процессов. В дополнение к функциональности KHO, подсистема LUO сохраняет состояние устройств и оперативной памяти, а также обеспечивает непрерывность операций, связанных с DMA и обработкой прерываний. Состояние сохраняется до переключения на новое ядро и восстанавливается после задействования нового ядра без нарушения непрерывных операций с устройствами, осуществляемых системой и приложениями в пространстве пользователя.
Особенностью новой серии патчей является возможность сохранения файловых дескрипторов memfd для поддержания состояния важных данных в памяти между перезагрузками, таких как содержимое оперативной памяти виртуальных машин. В качестве основой области использования подсистемы упоминается быстрое обновление серверов с системами виртуализации на базе гипервизора KVM для устранения проблем с безопасностью и стабильностью при минимальном времени простоя виртуальных машин. Компания Google уже использует эту технологию в своих рабочих окружениях.
В отличие от livepatch, Ksplice, kpatch, kGraft и прочих механизмов горячего наложения патчей, новая подсистема не ограничивается возможностью применения отдельных исправлений к работающему ядру и позволяет полностью заменить ядро. В отличие от вызова kexec, подсистема LUO сохраняет состояние устройств и подсистем ядра между перезагрузками, в то время как вызов kexec работает лишь как загрузчик, запускающий новое ядро с полной переинициализацией системы (эквивалент перезагрузки, но без передачи управления прошивке).