The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·13.01 Выпуск Rust 1.84. Ядра Tock и Vekos, написанные на Rust. Диалект Mini-C (180 +5)
  Опубликован релиз языка программирования общего назначения Rust 1.84, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

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

  • В пакетном менеджере Cargo стабилизирован механизм обработки зависимостей, выбирающий версии зависимых компонентов с учётом совместимости с версиями компилятора Rust, заявленными как минимально поддерживаемые проектом (MSRV, Minimum Supported Rust Version). Новая возможность позволяет избавить сопровождающих от необходимости ручного выбора старых версий каждой зависимости в проектах, сохраняющих совместимость со старыми версиями инструментария Rust. Новый режим определения зависимостей будет активирован по умолчанию в выпуске Rust 1.85, а пока доступен в формате опции, для включения которой в секции "[resolver]" в файле ".cargo/config.toml" следует указать 'incompatible-rust-versions = "fallback"'.
  • Начат перевод компилятора на новый обработчик типов (trait solver), предназначенный для проверки границ применимости типажей, нормализации типов и оценки совместимости типов. В версии 1.84 новый обработчик задействован для проверки согласованности реализаций типажей, т.е. оценки существования не более одного типажа для рассматриваемого типа с учётом кода из других crate-пакетов. Указанная проверка позволила избавиться от проблем в старой реализации обработчика типов, потенциально способных привести к появлению конфликтов из-за пересечения разных реализаций типажей.
  • Предложен новый API "Strict Provenance", который можно использовать для приведения указателя к целому числу и обратно с учётом прикреплённых к указателю метаданных с информацией о его происхождении и области использования (помимо адреса к указателю прикрепляется значение "provenance" с информацией о связи с другими указателями, позволяющей определить где и когда указатель может обращаться к памяти). При приведении указателя к целому числу и обратно возникает неопределённое поведение из-за проблематичности отследить происхождение результирующего указателя. Новый API позволяет выполнять низкоуровневые операции с указателями, такие как сохранение дополнительной информации в младших битах указателя, без приведения указателя к целому числу.
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Признак "const" применён в функциях:
  • Стабилизирована поддержка ассемблерных inline-вставок для архитектур s390x и Arm64EC.
  • Для целевой платформы WebAssembly стабилизирована поддержка функциональности multivalue, reference-types и tail-call.
  • Реализован второй уровень поддержки платформы wasm32v1-none. Второй уровень поддержки подразумевает гарантию сборки.



Дополнительно можно отметить несколько проектов, связанных с Rust:

  • Опубликован релиз операционной системы Tock 2.2, написанной на языке Rust и ориентированного на использование в микроконтроллерах. Система позволяет организовать одновременное выполнение нескольких не заслуживающих доверия приложений на встраиваемых устройствах, имеющих ограниченный размер ОЗУ, таких как датчики, TPM (Trusted Platform Module), брелоки аутентификации и носимые устройства. Поддерживаются платформы с микроконтроллерами на базе архитектур ARM Cortex-M и RISC-V. Ключевой особенностью Tock является изоляция уровней приложений, ядра и слоя с драйверами, а также изоляция каждого приложения и драйвера по отдельности. Для изоляции используются как возможности языка Rust, так и разделение на уровне защиты памяти.
  • Проект VEKOS (Verified Experimental Kernel OS) развивает ядро операционной системы на языке Rust, обеспечивающее верификацию выполняемых компонентов. При каждой операции с файловой системой, создании процесса и выделении памяти формируется криптографическое подтверждение, позволяющее верифицировать операцию во время выполнения (реализация сравнивается с применением блокчейна для верификации действий в операционной системе). В файловой системе VKFS для обеспечения целостности и защиты от искажения задним числом задействована структура "дерево Меркла" (Merkle Tree), каждая ветка в котором верифицирует все нижележащие ветки и узлы, благодаря древовидному хешированию. Выделение памяти производится в режиме COW (Copy-On-Write).
  • Группа исследователей из Microsoft и Inria развивает подмножество языка Си - Mini-C, предназначенное для автоматической трансляции программ на языке Си в представление на языке Rust. В отличие от компилятора c2rust, новый проект позволяет генерировать Rust-код без использования unsafe, но нацелен главным образом на преобразование Си-проектов, имеющих формальное доказательство надёжности. Подразумевается, что будет проще вначале перевести Си-проект в представление на Mini-C, в котором не допускаются арифметические операции с указателями, чем переписывание unsafe-блоков после прямой компиляции из Си в Rust.

    Реализация компилятора базируется на инструментарии KaRaMeL. Mini-C разработан и опробован в рамках проекта по переписыванию на Rust криптографической библиотеки HACL*, для которой предоставлено формальное доказательство надёжности. Подобное доказательство было использовано для демонстрации возможности генерировать из Mini-C безопасный код на Rust.

  • Дэниел Cтенберг (Daniel Stenberg), автор утилиты curl, объявил о прекращении разработки и поддержки проектом Curl альтернативного HTTP-бэкенда, написанного на Rust с использованием библиотеки Hyper. В качестве причины указано отсутствие интереса со стороны разработчиков и пользователей.
  • Анонсирован бета-выпуск командной оболочки Fish 4.0, переписанный на языке Rust. Отмечается, что после двух лет разработки кодовая база Fish была полностью переведена с С++ на Rust. Переход на Rust позволил решить проблемы с многопоточностью, получить современный инструментарий, выявляющий ошибки на этапе компиляции, повысить безопасность работы с памятью и сделать проект более привлекательным для новых разработчиков.
  • Проект Tor опубликовал выпуск Arti 1.3.2, альтернативной реализации Tor-клиента на языке Rust. Arti предоставляет встраиваемую библиотеку, которую могут использовать различные приложения. При создании Arti учтён прошлый опыт разработки Tor для того, чтобы избежать известных архитектурных проблем, сделать проект более модульным и эффективным. Ветка 1.x отмечена как пригодная для использования обычными пользователями и обеспечивающая тот же уровень конфиденциальности, юзабилити и стабильности, что и основная реализация на языке Си. В новой версии продолжена разработка RPC, проведена подготовка к реализации поддержки релеев и добавлена защита от DoS-атак на Onion-сервисы.
  • Опубликован выпуск игрового движка Bevy 0.15, написанного на Rust. В движке применяется датацентричная модель (Data Driven) определения игровой логики, построенная поверх набора готовых компонентов Bevy ECS (Entity Component System), которые могут выполняться параллельно. Поддерживается 2D и 3D рендеринг, скелетная анимация, определение графа рендеринга, система формирования сцен, фреймворк для построения интерфейса пользователя, внесение изменений в сцены и ресурсы без необходимости перезапуска.
  • Опубликован консольный текстовый редактор Helix 25.01, написанный на Rust и расширяющий идеи, заложенные в vim и neovim. Поддерживается интеграция с LSP-серверами и с Tree-sitter, одновременное выделение нескольких блоков, использование нескольких курсоров при редактировании, темы оформления, отладочный протокол DAP (Debug Adapter Protocol).
  • В браузерный движок Servo, написанный на Rust, добавлена поддержка тёмного режима оформления. На 20% сокращён размер браузера ServoShell. Поддержка web-спецификаций доведена до возможности входа и чтения сообщений в Discord (отправка сообщений пока невозможна).
  • Компания Mozilla представила инструментарий Uniffi for React Native для создания модулей к React Native на языке Rust.
  • Проведено тестирование производительности кодировщиков изображений в формате PNG. Декодировщики на Rust (png, zune-png, wuffs) оказались быстрее декодировщиков на Си (libpng, spng, stb_image). Например, crate-пакет png (image-rs) обогнал libpng в 1.8 раза на системе x86 и в 1.5 раза на системе ARM.
    
       image-rs:     375.401 MP/s (average) 318.632 MP/s (geomean)
       zune-png:     376.649 MP/s (average) 302.529 MP/s (geomean) 
       wuffs:        376.205 MP/s (average) 287.181 MP/s (geomean)
       libpng:       208.906 MP/s (average) 173.034 MP/s (geomean)
       spng:         299.515 MP/s (average) 235.495 MP/s (geomean)
       stb_image:    234.353 MP/s (average) 171.505 MP/s (geomean)
    

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Rust 1.83. Развитие инструментария Xen и табличного процессора на Rust
  3. OpenNews: Опубликован эмулятор QEMU 9.2.0 с поддержкой Rust и Vulkan
  4. OpenNews: Проект Bottles будет переписан на языке Rust с использованием libcosmic
  5. OpenNews: Инициатива по верификации стандартной библиотеки Rust
  6. OpenNews: Представлен новый вариант правил использования товарных знаков Rust
Обсуждение (180 +5) | Тип: Программы |


·13.01 Линус Торвальдс разыграет среди разработчиков ядра гитарную педаль собственной сборки (127 +10)
  Линус Торвальдс анонсировал седьмой кандидат в релизы ядра Linux 6.13 и в послесловии предложил отправить собранную им лично гитарную педаль одному из разработчиков ядра. Линус отметил, что у него есть хобби – паять небольшие электронные устройства, не слишком сложные, но и не очень простые.

Педали для применения эффектов во время игры на электрогитаре идеально подходят для подобного увлечения, но Линус не играет на гитаре, и оставлять себе собранные устройства ему нет смысла. Поэтому он решил отправить своё изделие в виде подарка одному из разработчиков ядра. Получатель педали будет выбран случайным путём.

Для участия в розыгрыше следует отправить Линусу письмо с сообщением "хочу гитарную педаль" и выбрать имеющийся в продаже набор для сборки педали. Линус за свой счет купит выбранный набор, соберёт и отправит готовое устройство по почте. Заявки принимаются только от разработчиков ядра, email-адреса которых упомянуты в коммитах, принятых в ядро в 2024 году.

  1. Главная ссылка к новости
  2. OpenNews: Линус Торвальдс раскритиковал попытки привязки к версиям микроархитектуры x86_64
  3. OpenNews: Линус Торвальдс предложил прекратить поддержку CPU i486 в ядре Linux
  4. OpenNews: Intel и AMD при участии Линуса Торвальдса создали консультативную группу по экосистеме x86
  5. OpenNews: Линус Торвальдс снова недоволен коммитами в Bcachefs
  6. OpenNews: Линус Торвальдс выступил против парсеров Kconfig, не поддерживающих табуляцию
Обсуждение (127 +10) | Тип: Тема для размышления |


·12.01 Выпуск пользовательского окружения Enlightenment 0.27 и библиотек EFL 1.28 (87 +14)
  После года разработки состоялся релиз пользовательского окружения Enlightenment 0.27, которое базируется на наборе библиотек EFL (Enlightenment Foundation Library) и виджетах Elementary. Выпуск доступен в исходных текстах без публикации готовых сборок. Список изменений для выпуска 0.27 не сформирован, доступен лишь перечень коммитов, в котором в основном перечислены исправления ошибок и незначительные улучшения в виджетах.

Рабочий стол в Enlightenment формируют такие компоненты, как файловый менеджер, набор виджетов, панель запуска приложений и графические конфигураторы. Графические конфигураторы предоставляют как высокоуровневые средства настройки (изменение оформления, настройка виртуальных рабочих столов, управление шрифтами, разрешением экрана, раскладкой клавиатуры, локализацией и т.п.), так и возможности по низкоуровневому тюнингу (например, можно настроить параметры кэширования, графического ускорения, потребления энергии, изменить логику работы оконного менеджера).

Для расширения функциональности предлагается использовать модули (гаджеты), а для переработки внешнего вида - темы оформления. Доступны модули для отображения на десктопе календаря-планировщика, прогноза погоды, данных мониторинга, регулятора громкости, виджета для оценки заряда аккумулятора. Составляющие Enlightenment компоненты жёстко не привязаны друг к другу и могут использоваться в других проектах или для создания специализированных окружений, таких как оболочки для мобильных устройств.

Из обязательных зависимостей заявлены EFL, libexif и libpam (только в Linux). Среди рекомендованных зависимостей, необходимых для достижения полноценной функциональности: connman для настройки сети; bluez5 для работы с Bluetooth; bc для встроенного калькулятора; pulseaudio для управления звуковыми устройствами; acpid для обработки различных аппаратных событий; packagekit для отслеживания системных обновлений; udisks2 для монтирования внешних дисков; ddcutil для управления подсветкой экрана; gdb для трассировки аварийных завершений.

Одновременно проект Enlightenment опубликовал набор библиотек EFL 1.28 (Enlightenment Foundation Library), позволяющих создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью, низким потреблением ресурсов и высокой производительностью. Несмотря на изначальное развитие в качестве базиса для окружения Enlightenment, компоненты EFL часто используются для построения интерфейсов потребительской электроники и мобильных устройств. Например, EFL является составной частью мобильной платформы Tizen, используются в бытовой технике Electrolux, продуктах Samsung, ProFUSION, Free.fr и Calaos.

Состав EFL:

  • Eina - библиотека с реализацией типов данных (массив, хэш, список, дерево) и вспомогательных инструментов (работа с логами, оценка производительности, преобразование форматов и т.д.).
  • Eet - библиотека для записи произвольного набора блоков данных в файл для последующего быстрого чтения в произвольном порядке.
  • Evas - система рендеринга для организации вывода на экран. Evas оперирует содержимым экрана как сценой с объектами, состояние которых можно отслеживать. Над сценой можно проделывать такие операции как масштабирование, вращение и 3D-трансформации. Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании с программным и аппаратно ускоренным рендерингом.
  • Ecore - библиотека для организации цикла обработки событий, предлагающая набор модулей для упрощения связанных с обработкой событий задач, таких как работа с Evas, нитями, сетевыми соединениями и т.п.
  • Embryo - встраиваемый интерпретатор языка Pawn (ранее известного как Small).
  • Edje - графическая библиотека, отделяющая внешний вид от кода (оформление задаётся в виде загружаемого из файла шаблона). Edje занимает нишу между HTML+CSS и SVG. При помощи данной библиотеки можно сформировать пользовательский интерфейс, снабжённый анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять, просто сменив EDJ-шаблон и не трогая код, при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменён).
  • Efreet - библиотека, позволяющая использовать в приложениях спецификации Freedesktop.org для работы с пиктограммами, Desktop-файлами и меню.
  • Eeze - библиотека для организации взаимодействия с внешними устройствами через udev, HAL и другие механизмы.
  • Expedite - инструментарий для измерения производительности, который может тестировать различные движки Evas, такие как X11, XRender, OpenGL, SDL и DirectFB.
  • Evil - реализация уровня совместимости для работы на платформе Windows.
  • Eio - абстрактный интерфейс для доступа к файловой системе и реализации асинхронного ввода/вывода.
  • Emotion - библиотека для интеграции в приложения обработчиков для проигрывания звука и видео. Воспроизведение видео может осуществляться с использованием Gstreamer, Xine или других внешних плагинов (например, VLC), при этом видео отображается как стандартный объект в Evas.
  • Ethumb - библиотека для формирования эскизов изображений, соответствующих стандартам freedesktop.org. Ethumb реализован в виде сервиса dbus и клиентской библиотеки, взаимодействующей с данным сервисом.
  • Elementary - набор виджетов с готовой реализацией разнообразных графических элементов (от кнопок и элементов управления, до календаря и модуля редактирования текста).
  • Eldbus - надстройкой над DBus.
  • Ephysics - предоставляет средства для использования движка симуляции физических процессов Bullet в приложениях на базе EFL. Ephysics обеспечивает связку Bullet с библиотеками Ecore и Evas.
  • Ecore Audio - API для работы со звуком.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск пользовательского окружения Enlightenment 0.26 и библиотек EFL 1.27
  3. OpenNews: Уязвимость в пользовательском окружении Enlightenment, позволяющая получить права root
  4. OpenNews: Рабочий стол Budgie переходит с GTK на библиотеки EFL от проекта Enlightenment
  5. OpenNews: Обновление Elive 3.0.3, Linux-дистрибутива с рабочим столом Enlightenment
  6. OpenNews: Представлен Moksha, форк пользовательского окружения Enlightenment 17
Обсуждение (87 +14) | Тип: Программы |


·12.01 Основатель WordPress заблокировал участников, предлагавших создать форк (198 +49)
  Мэтт Мулленвег, основатель WordPress и владелец компании Automattic, заблокировал в каталоге WordPress.org учётные записи пятерых участников (Joost, Karim, Se Reed, Heather Burns и Morten Rand-Hendriksen, - в основном маркетологи и SEO-специалисты), продвигавших идеи создания форка WordPress и смены модели управления в сообществе. Мэтт написал, что приветствует создание форка, и заблокировал учётные записи, чтобы дать необходимый толчок для старта и стимулировать переход от слов к делу.

По словам Мэтта, создание форков полезно для открытых проектов, так как даже один участник, гребущий в неправильном направлении, может нарушить слаженную совместную работу. Форки же позволяют экспериментировать с новыми подходами к разработке, моделями управления и формами лидерства. Мэтт отмечает, что в обсуждавшемся заблокированными участниками форке есть смелые и интересные идеи, и ему любопытно посмотреть, что из этого получится. Форк будет полезен для сообщества, так как даст возможность попробовать что-то другое.

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

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

  1. Главная ссылка к новости
  2. OpenNews: Создан ClassicPress, форк WordPress с классическим web-редактором
  3. OpenNews: Владельцы Wordpress заменили на свой форк плагин ACF, имеющий 2 млн установок
  4. OpenNews: Конфликт между WordPress и Wix, связанный с нарушением лицензии GPL
  5. OpenNews: Несколько обслуживающих WordPress.com серверов подверглись взлому
  6. OpenNews: Компания Automattic свела к минимуму своё участие в разработке WordPress
Обсуждение (198 +49) | Тип: К сведению |


·11.01 Выпуск дистрибутива Debian 12.9 (116 +28)
  Сформировано девятое корректирующее обновление дистрибутива Debian 12, в которое включены накопившиеся обновления пакетов и добавлены исправления в инсталлятор. Выпуск включает 72 обновления с устранением проблем со стабильностью и 38 обновлений с устранением уязвимостей.

Из изменений в Debian 12.9 можно отметить обновление до свежих стабильных версий пакетов ansible, intel-microcode, nvidia-graphics-drivers, qemu, systemd, tzdata. Удалены пакеты criu (проблемы со сборкой на архитектуре arm64) и tk-html3 (прекращено сопровождение основного проекта).

Для загрузки и установки "с нуля" подготовлены установочные сборки c Debian 12.9. Системы, установленные ранее и поддерживаемые в актуальном состоянии, получают обновления, присутствующие в Debian 12.9, через штатную систему установки обновлений. Исправления проблем безопасности, включённые в новые выпуски Debian, доступны пользователям по мере выхода обновлений через сервис security.debian.org.

  1. Главная ссылка к новости
  2. OpenNews: Началось альфа-тестирование инсталлятора Debian 13
  3. OpenNews: Проект OpenStreetMap перевёл серверную инфраструктуру с Ubuntu на Debian
  4. OpenNews: Проект Debian Junior начал формирование Live-сборок для детей
  5. OpenNews: Выпуск дистрибутива Debian 12.8
  6. OpenNews: Опубликован Droidian 99, вариант Debian для смартфонов
Обсуждение (116 +28) | Тип: Программы |


·11.01 Выпуск системы управления исходными текстами Git 2.48 (61 +8)
  Опубликован выпуск распределенной системы управления исходными текстами Git 2.48. Git отличается высокой производительностью и предоставляет средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, а также удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Код Git распространяется под лицензией GPLv2+.

По сравнению с прошлым выпуском в новую версию принято 605 изменений, подготовленных при участии 93 разработчиков, из которых 35 впервые участвуют в разработке. Основные новшества:

  • Реализована возможность сборки с использованием сборочной системы Meson, в дополнение к GNU Make и CMake. Для сборки Git теперь можно использовать команду "meson setup build && ninja -C build". Отмечается, что Makefile, применяемый при использовании GNU Make, разросся до 3887 строк и не так прост, как хотелось бы. Инструментарий Meson упрощает работу с системой сборки, удобен для кросс-платформенных сборок и делает сборку более доступной для новичков или разработчиков, не имеющих опыта работы с утилитой Make. Прекращать поддержку Make и CMake в обозримом будущем не планируется.
  • Добавлены сборочные опции, позволяющие использовать альтернативные реализации хэша SHA-1 при вычислении контрольных сумм, используемых для проверки целостности блоков данных в pack-файлах. Производительность вычисления контрольных сумм имеет большое значение, например, на их вычисление при клонировании репозитория с ядром Linux тратится около 78% процессорного времени. Используемая по умолчанию реализация включает дополнительные проверки коллизий и защиту от атак на SHA-1, таких как SHAttered и Shambles. Подобная защита, потребляющая дополнительные ресурсы, имеет смысл только при использовании SHA-1 в криптографических целях и бесполезна при проверке целостности индексных данных.

    Для сборки Git с более быстрой реализацией SHA-1, не пригодной для криптосистем, предложена серия опций *_UNSAFE, например, "OPENSSL_SHA1_UNSAFE". В GitHub сборка с упрощённым SHA-1 позволила на 10-13% повысить производительность операций извлечения и клонирования данных.

  • Добавлена возможность использования в команде "range-diff" опции "--remerge-diff", позволяющей показать отличия между общим результатом слияния и фактическими данными, отражёнными в коммите после обработки команды "merge". При использовании опции "--remerge-diff" различия между разрешениями конфликтов не разделяются для каждой родительской ветки, а показываются общие различия между файлом, имеющим конфликты слияния, и файлом, в котором конфликты решены. В контексте команды "range-diff" новая опция может оказаться полезной для сравнения наборов коммитов после переноса последовательности коммитов командой "rebase" с опцией "--rebase-merges".
  • Добавлена возможность запуска тестового набора Git с включением режима выявления утечек памяти. Так как git предоставляет утилиты, завершающие работу после выполнения вызванной функции, утечки памяти раньше не рассматривались как большая проблема. Необходимость полного устранения утечек памяти стала актуальной после начала работы над выносом внутренней функциональности в отдельную библиотеку, которая может применяться в длительно работающих процессах.
  • Началось формирование списка устаревших режимов и возможностей, поддержку которых планируют прекратить в будущем. Предполагается, что удаление устаревшей функциональности произойдёт в выпуске Git 3.0, в который войдут изменения, нарушающие обратную совместимость.
  • Продолжена оптимизация работы команды "git for-each-ref", выводящей список ссылок в репозитории. Оптимизация, объединяющая обработчики для фильтрации ссылок и форматирования вывода, теперь применяется не только для неотсортированного вывода, но и при указании опции "--sort".
  • Улучшена реализация бэкенда "reftable" с блочным хранилищем для эффективного хранения в репозитории ссылок на ветки и теги. Reftable позволяет значительно ускорить поиск, чтение и запись в репозиториях с очень большим числом ссылок. В новой версии прекращено обращение к некоторым вспомогательным API для дальнейшего исключения библиотеки libgit из числа сборочных зависимостей. Реализована адаптивная обработка ошибок, возвращаемых функциями выделения памяти (нехватка памяти теперь не приводит к аварийному завершению работы). Ускорены операции создания ссылок и снижено потребление памяти.
  • В реализации частичного клонирования решены проблемы, приводившие к зацикливанию и повреждению репозитория после выполнения команды "git gc".
  • При выполнении команды "git fetch <remote>" в случае отсутствия на локальной системе "refs/remotes/<remote>/HEAD" и наличия на другой стороне ветки, на которую ссылается HEAD, "refs/remotes/<remote>/HEAD" теперь перенаправляется на эту ветку. Для управления синхронизацией "refs/remotes/<remote>/HEAD" со значением HEAD на другой стороне соединения добавлена настройка remote.<remote>.followRemoteHEAD".
  • Добавлена настройка "remote.<name>.serverOption" аналогичная опции командной строки "--serverOption=<value>".
  • В команде "git rebase --rebase-merges" по возможности обеспечено использование имён веток в качестве меток.
  • В команды 'git notes add' и 'git notes append' добавлен флаг '-e', открывающий примечание во внешнем текстовом редакторе, указанном через переменную окружения GIT_EDITOR.
  • Улучшена совместимость с GCC 15 и стандартом C23.
  • Прекращена поддержка старых версий libcURL и Perl.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск системы управления исходными текстами Git 2.46
  3. OpenNews: mergiraf - AST-ориентированный инструмент для трёхстороннего слияния в Git
  4. OpenNews: Выпуск git-совместимой системы управления версиями Got 0.100
  5. OpenNews: Пять уязвимостей в Git, среди которых одна критическая и две опасные
  6. OpenNews: Проект gittuf развивает систему криптографической защиты репозиториев Git
Обсуждение (61 +8) | Тип: Программы |


·11.01 Компания Automattic свела к минимуму своё участие в разработке WordPress (100 +19 )
  Компания Automattic, курирующая открытую платформу WordPress и официальный каталог плагинов WordPress.org, приняла решение снизить своё участие в разработке WordPress до примерно 45 часов в неделю, что уравняет её вклад в разработку с компанией WP Engine и другими сторонними участниками. Отмечается, что предоставленных ресурсов скорее всего хватит только на подготовку корректирующих обновлений с устранением проблем с безопасностью и критических ошибок.

Ранее компания Automattic оценивала свой вклад в разработку WordPress в 3915 часов в неделю и высказывала недовольство, что ей в одиночку приходится тянуть весь проект, в то время как компания WP Engine паразитирует на WordPress, вкладывая в разработку примерно 40 часов в неделю при выручке от использования платформы в 500 миллионов долларов.

Действия Automattic объясняются желанием добиться справедливости и устранить дисбаланс вклада участников экосистемы. Снижение участия в разработке также связано с перераспределением ресурсов в связи с судебными исками от компании WP Engine, отражение которых отнимает много времени, денег и энергии. Отмечается, что, если WP Engine прекратит свои юридические атаки, компания Automattic готова вернуться к активному участию в развитии проектов WordPress, Gutenberg, Playground, Openverse и WordPress.org. До этого Automattic сосредоточится на своих коммерческих продуктах, таких как WordPress.com, Pressable, WPVIP, Jetpack и WooCommerce.

Действия Automattic являются продолжением конфликта между Мэттом Мулленвегом, основателем WordPress и владельцем компании Automattic, и компанией WP Engine, поддерживающей альтернативный каталог WP Engine и предоставляющей хостинг на базе WordPress. В октябре компания WP Engine подала судебный иск против Automattic, в ответ на появление в интерфейсе администратора WordPress ссылки на статью, порочащую репутацию WP Engine, поступления требования покупки лицензии на товарный знак WordPress, блокировки доступа к ресурсам WordPress.org и замены в каталоге WordPress.org плагина ACF, имеющего 2 млн установок, на форк, поддерживаемый компанией Automattic.

10 декабря суд наложил предварительный запрет на действия, наносящие вред бизнесу WP Engine. Компании Automattic было предписано разблокировать учётные записи сотрудников WP Engine на сайте WordPress.org и вернуть контроль над дополнением ACF. Судебное разбирательство ещё не завершено и предварительный запрет является обеспечительной мерой для прекращения нанесения ущерба бизнесу WP Engine до вынесения окончательного решения.

Позиция Automattic сводится к тому, что компания WP Engine сама нанесла себе ущерб, построив бизнес вокруг сайта WordPress.org. Между WP Engine и Automattic не было договорных отношений, гарантирующих доступ к WordPress.org и возможность загрузки обновлений с этого сайта. Суд счёл подобный довод неубедительным, так как доступ был ограничен только для WP Engine, а действия Automattic восприняты как недобросовестная конкуренция через выборочный запрет конкуренту доступа к общедоступным данным.

Дополнение: Мэтт Мулленвег заблокировал в каталоге WordPress.org учётные записи пятерых участников, продвигавших идеи создания форка WordPress и смены модели управления в сообществе.

  1. Главная ссылка к новости
  2. OpenNews: Владельцы Wordpress заменили на свой форк плагин ACF, имеющий 2 млн установок
  3. OpenNews: Четверть крупнейших сайтов работают под управлением WordPress
  4. OpenNews: Торговая марка WordPress передана в руки некоммерческого фонда
  5. OpenNews: Создатели WordPress получили инвестиции в размере 29 миллионов долларов
  6. OpenNews: Создан ClassicPress, форк WordPress с классическим web-редактором
Обсуждение (100 +19 ) | Тип: Тема для размышления | Интересно


·11.01 В Fedora 42 планируют поставлять оптимизированные варианты исполняемых файлов (183 +19)
  В выпуске Fedora 42, намеченный на конец апреля, предложено разрешить сопровождающим включать в пакеты дополнительные варианты исполняемых файлов, собранные с включением оптимизаций для микроархитектур x86-64-v2, x86-64-v3 и x86-64-v4. Отмечается, что Fedora продолжает собирать пакеты для архитектуры x86-64-v1, в то время как CentOS использует при сборке архитектуру x86-64-v2, а RHEL 10 - x86-64-v3. В большинстве случаев прирост производительности при сборке для подобных архитектур не превышает 10%, но в отдельных ситуациях приводит к заметному повышению производительности (до 120%). Предложение пока не утверждено комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora.

В Fedora уже допускается поставка дополнительных библиотек, оптимизированных для расширенных версий архитектуры x86_64, и подобную возможность теперь планируют распространить на исполняемые файлы. Загрузка оптимизированных реализаций библиотек осуществляется компоновщиком (dynamic linker), который проверяет наличие дополнительных вариантов в подкаталогах glibc-hwcaps, размещаемых в областях ФС, просматриваемых при поиске библиотек (например, /usr/lib64/glibc-hwcaps/x86-64-v2).

В случае исполняемых файлов предлагается использовать прослойку hwcaps-loader, которая будет выбирать и запускать вариант исполняемого файла, соответствующий возможностям текущей системы. Для пакетов, поставляющих несколько вариантов исполняемых файлов данную прослойку предлагается выставлять через символическую ссылку. Решение о добавлении дополнительно оптимизированных исполняемых файлов будут принимать сопровождающие, в зависимости от результатов тестирования производительности конкретных пакетов.

Версии x86-64-v* определяют неофициальный способ идентификации срезов состояния микроархитектуры, охватывающих определённые наборы расширений:

  • x86-64-v2 охватывает расширения SSE3, SSE4_2, SSSE3, POPCNT, LAHF-SAHF и CMPXCHG16B.
  • x86-64-v3 - AVX, AVX2, BMI2, FMA, LZCNT, MOVBE и SXSAVE.
  • x86-64-v4 - AVX512F, AVX512BW, AVX512CD, AVX512DQ и AVX512VL.

Дополнительно можно отметить предложение по унификации обновления загрузчиков grub и shim в атомарных и обычных вариантах Fedora. Вместо обновления содержимого каталогов /boot и /boot/efi через вызов скрипта во время установки rpm-пакета, для обновления загрузчика предлагается использовать инструментарий bootupd, который уже применяется в атомарно обновляемых вариантах Fedora. В rpm-пакетах с загрузчиками содержимое предлагается устанавливать не напрямую в каталоги /boot и /boot/efi, а в отдельный каталог внутри раздела /usr, после чего синхронизировать с ним содержимое /boot и /boot/efi. Подобный подход даст возможность реализовать запасной вариант загрузки, который можно использовать для отката к старой конфигурации в случае проблем после обновления загрузчика.

  1. Главная ссылка к новости
  2. OpenNews: Линус Торвальдс раскритиковал попытки привязки к версиям микроархитектуры x86_64
  3. OpenNews: Gentoo начал формирование бинарных пакетов для архитектуры x86-64-v3
  4. OpenNews: openSUSE Tumbleweed прекращает официальную поддержку архитектуры x86-64-v1
  5. OpenNews: В Fedora 42 намерены включить инсталлятор на основе web-интерфейса и добавить эмулятор FEX
  6. OpenNews: Релиз дистрибутива Fedora Linux 41
Обсуждение (183 +19) | Тип: К сведению |


·10.01 Google, Samsung и Arm представили формат объёмного звука Eclipsa (58 +27)
  Компании Google, Samsung и Arm, а также альянс Open Media, развивающий технологию кодирования видео AV1, начали продвижение звукового формата Eclipsa, рассчитанного на распространение объёмного звука. Формат основан на спецификации IAMF (Immersive Audio Model and Formats), разработанной участниками Open Media и имеющей открытую эталонную реализацию. Использование Eclipsa не требует оплаты отчислений. Компания Samsung уже заявила о поддержке Eclipsa в телевизорах и звуковых панелях 2025 модельного года, включая модели телевизоров Crystal UHD и Neo QLED 8K. Google предоставит возможность загрузки на YouTube видео со звуковыми треками в формате Eclipsa.

Формат Eclipsa рассчитан на распространение пространственного (иммерсивного) звукового контента (Immersive Audio), создающего эффект полного присутствия и обеспечивающего высококачественное звучание на различных классах устройств. Эффект присутствия достигается благодаря использованию алгоритмов воссоздания естественного звучания, учитывающих распространение звуковых волн в трехмерном пространстве. Дополнительно предусмотрено включение в медиаконтейнер метаданных, необходимых для воссоздания звуковой сцены или микширования звука.

Возможно использование формата для потокового вещания и воспроизведении сохранённых звуковых данных. Поддерживается представление на основе каналов или звуковых сцен, а также смешивание разных представлений. Звуковой поток в Eclipsa может содержать до 28 входных каналов, как фиксированных (например, микрофон перед оркестром), так и динамических (например, звук пролетающего вертолёта).

Формат не привязан к конкретным кодекам - в спецификации для кодирования звука с потерей качества предлагается использовать кодеки Opus или AAC (mp4a), а для кодирования без потери качества Flac или LPCM. Поддерживается преобразование объёмного звука в представление, подходящее для воспроизведения на различных классах устройств, включая телевизоры, смартфоны, наушники, звуковые панели и домашние кинотеатры.

Применение типовых кодеков упрощает интеграцию с существующими системами воспроизведения и потокового вещания, и позволяет создавать пространственный звуковой контент с использованием существующих открытых VST-плагинов, таких как EAR Production Suite, для пространственной раскладки динамиков и бинаурального мониторинга (определение направления на источник звука). Предусмотрена возможность включения нескольких конфигураций микширования, позволяющих задавать отдельные настройки громкости для различных режимов воспроизведения. Для воспроизведения с учётом пространственного размещения динамиков или симуляции объёмного звука в наушниках возможно применение алгоритмов рендеринга сигналов, таких как EAR и BEAR.

Дополнительно компания Arm сообщила о передаче изменений в кодовые базы opus и libiamf, связанных с оптимизацией производительности. В частности, изменения включают оптимизации с использованием инструкций NEON, ускоряющие преобразования плавающей запятой, алгоритмы смягчения искажений, операции умножения матриц и операции разделения звуковых каналов. Изменения привели к повышению производительности при использовании различных конфигураций динамиков (стерео, 5.1, 9.1.6), например, в конфигурации 9.1.6 производительность вывода на смартфоне Pixel 7 с CPU ARM Cortex-A55 повысилась на 160%.

  1. Главная ссылка к новости
  2. OpenNews: Разработчики кодека AV1 представили формат IAMF для объёмного звука
  3. OpenNews: Google передаёт систему объёмного звука Resonance Audio сообществу
  4. OpenNews: Доступен аудиокодек Opus 1.5
  5. OpenNews: Facebook опубликовал звуковой кодек EnCodec, использующий машинное обучение
  6. OpenNews: Основатель QEMU и FFmpeg опубликовал звуковой кодек TSAC
Обсуждение (58 +27) | Тип: К сведению |


·10.01 Инициатива по поддержке проектов, использующих движок Chromium (90 –15)
  Организация Linux Foundation объявила о создании инициативы "Supporters of Chromium-Based Browsers", предоставляющей нейтральную площадку, на которой лидеры индустрии, академическое сообщество, разработчики и сторонники открытого программного обеспечения могут совместно работать над проектами, связанными с браузерным движком Chromium. Учредителями выступили компании Google, Meta, Microsoft и Opera.

Целью инициативы заявлено поддержание экосистемы, сформировавшейся вокруг движка Chromium, стимулирование сотрудничества между проектами, использующими Chromium, и оказание финансовой поддержки сообществу разработчиков, желающих участвовать в развитии данного движка. Предполагается, что совместная инициатива поможет устранить преграды, затрудняющие продвижение инноваций, а также предоставит недостающие ресурсы для проектов, связанных с Chromium. Управление разработкой непосредственно движка Chromium продолжит осуществляться компанией Google, которая выступает гарантом его устойчивого развития.

  1. Главная ссылка к новости
  2. OpenNews: Google намерен перевести Chrome OS на платформу Android
  3. OpenNews: Выпуск web-браузера Chrome 131
  4. OpenNews: Google экспериментирует со встраиванием в Chrome большой языковой модели
  5. OpenNews: В Chrome появилось предупреждение о скором прекращении поддержки uBlock Origin
Обсуждение (90 –15) | Тип: К сведению |


·10.01 Пятый альфа-выпуск среды рабочего стола COSMIC (87 +11)
  Компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, представила пятую альфа-версию среды рабочего стола COSMIC, написанной на языке Rust (не путать со старым COSMIC, который был основан на GNOME Shell). Для тестирования предложены iso-образы со свежей версией COSMIC, сформированные поверх альфа-сборок будущего выпуска дистрибутива Pop!_OS 24.04 для систем с GPU NVIDIA (2.9 ГБ) и Intel/AMD (2.5 ГБ). Также формируются готовые пакеты для Fedora, NixOS, Arch Linux, openSUSE, Serpent OS, Redox и CachyOS.

COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop. Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана.

Помимо использования языка Rust из особенностей COSMIC выделяются режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland. Первый стабильный релиз COSMIC намечен на первый квартал 2025 года.

Основные изменения по сравнению с четвёртой альфа-версией COSMIC:

  • По умолчанию задействован собственный мультимедийный проигрыватель COSMIC Media Player, который использует графический API Vulkan для отрисовки и VAAPI для декодирования видео. В разработке также находится отдельное приложение для установки кодеков, которое в дальнейшем заменит sessioninstaller.
  • В конфигуратор добавлена страница для управления учётными записями пользователей, через которую можно изменить параметры своей учётной записи. Пользователи с правами администратора дополнительно могут добавить нового пользователя, изменить данные уже имеющихся пользователей и делегировать возможность выполнения привилегированных операций другим пользователям.
  • В виджет ContextDrawer добавлена поддержка размещения кнопок в заголовке. Например, в файловом менеджере в правую панель с дополнительной информацией о файле, реализованную при помощи ContextDrawer, добавлены кнопки "<", ">" и "[]" для перехода на предыдущий и следующий файл, а также открытии файла в отдельном приложении.
  • В файловом менеджере реализована возможность сохранения новых файлов в новом каталоге. Добавлена поддержка переименования файлов в результатах поиска. В контекстное меню, показываемое в секции недавно открытых файлов, добавлена опция для просмотра каталога, в котором хранится выбранный файл.
  • В интерфейсе переключения между активными окнами, вызываемом через Alt+Tab, порядок показа окон приложений теперь соответствует порядку работы пользователя с приложениями (первым будет показано окно, с которым до этого работал пользователь, а последним - к которому пользователь не обращался дольше всего). Для прокрутки в обратном порядке можно использовать комбинацию Alt + Shift + Tab.
  • Расширена поддержка механизма VRR (Variable Refresh Rate), позволяющего адаптивно менять частоту обновления монитора для обеспечения плавности и отсутствия разрывов во время игр и показа видео. При использовании VRR теперь учитывается минимальная частота обновления экрана, что гарантирует плавное движение курсора, даже если приложение использует меньшую частоту при выводе. Изменение в основном заметно при открытии неигровых приложений в полноэкранном режиме.
  • Добавлена возможность открытия ссылок из эмулятора терминала, используя щелчок левой кнопкой мыши на URL.

  1. Главная ссылка к новости
  2. OpenNews: Четвёртый альфа-выпуск среды рабочего стола COSMIC
  3. OpenNews: Инициативы Fedora по созданию сборки с рабочим столом COSMIC и продвижению Btrfs
  4. OpenNews: Проект Bottles будет переписан на языке Rust с использованием libcosmic
  5. OpenNews: Первый альфа-выпуск среды рабочего стола COSMIC
  6. OpenNews: Выпуск дистрибутива Pop!_OS 22.04, развивающего рабочий стол COSMIC
Обсуждение (87 +11) | Тип: Программы |


·10.01 Релиз системы самодостаточных пакетов Flatpak 1.16.0 (154 +5)
  После двух с половиной лет разработки опубликована новая стабильная ветка инструментария Flatpak 1.16, предоставляющего систему для сборки самодостаточных пакетов, не привязанных к конкретным дистрибутивам Linux и выполняемых в специальном контейнере, изолирующем приложение от остальной системы. Поддержка выполнения Flatpak-пакетов обеспечена для Fedora, CentOS, Debian, Arch Linux, Gentoo, Linux Mint, Alt Linux и Ubuntu. Пакеты с Flatpak включены в репозиторий Fedora и поддерживаются в штатных программах управления приложениями GNOME и KDE.

Ключевые новшества в ветке Flatpak 1.16:

  • Осуществлён переход на использование системы сборки Meson. Поддержка сборки при помощи инструментария Autotools прекращена. Для сборки Flatpak теперь требуется наличие в системе Python, как минимум версии 3.5.
  • Реализован совместный доступ к сокету gssproxy, позволяющему использовать аутентификацию через Kerberos в приложениях, запускаемых в режиме sandbox-изоляции.
  • При создании сокета для Wayland задействовано расширение security-context, через которое композитный сервер может идентифицировать и ограничивать приложения, запущенные в режиме sandbox-изоляции. Добавлена опция "--socket=inherit-wayland-socket" для наследования существующего сокета для Wayland.
  • После установки или обновления приложений обеспечена автоматическая перезагрузка конфигурации сессионной шины D-Bus для подхвата новых экспортируемых приложениями сервисов D-Bus.
  • Дистрибутивам предоставлена возможность определения репозиториев с пакетами Flatpak, используя каталог "/usr/share/flatpak/remotes.d", помимо "/etc/flatpak/remotes.d".
  • Проведена работа по разделению крупных файлов с исходным кодом на небольшие модули.
  • Добавлена опция "--device=input" для доступа к устройствам ввода через /dev/input.
  • Для изоляции приложений задействована новая ветка инструментария bubblewrap 0.11. В дистрибутивах, собирающих Flatpak с использованием системного исполняемого файла bwrap, необходимо наличие как минимум версии bubblewrap 0.11. Усилена защита от создания в sandbox-окружениях вложенных пространств идентификаторов пользователей (user namespace).
  • Упрощена настройка дополнительных языков. Обеспечено определение языков на основе информации о пользователях, выдаваемой DBus-сервисом AccountsService.
  • Приложениям, использующим вложенную sandbox-изоляцию, например, на основе движка WebKit, разрешено применение протокола AT-SPI для взаимодействия с экранными ридерами. Добавлена опция "flatpak run --a11y-own-name" для выбора шины, через которую осуществляется доступ к средствам для людей с ограниченными возможностями.
  • При выполнении команды "flatpak run -vv <app_id>", обеспечен показ всех применимых параметров sandbox-изоляции.
  • Добавлена опция "--device=usb", а также параметры "--usb" и "--no-usb" для управления доступом приложения к USB-устройствам.
  • Добавлена поддержка фреймворка KCompletion, применяемого для автодополнения поисковых ключей в KDE.
  • Добавлены переменные окружения "FLATPAK_DATA_DIR" и "FLATPAK_DOWNLOAD_TMPDIR" для переопределения каталогов с данными (/usr/share/flatpak) и загружаемыми временными файлами (/var/tmp).
  • Добавлен вывод escape-последовательностей для отображения прогресса выполнения операций в эмуляторах терминала.

Напомним, что Flatpak упрощает распространение программ, не входящих в штатные репозитории дистрибутивов, за счет подготовки одного универсального контейнера, избавляющего разработчиков программ от необходимости формировать отдельные сборки для каждого дистрибутива. Пользователям, заботящимся о безопасности, Flatpak даёт возможность выполнить вызывающее сомнение приложение в контейнере, предоставив выборочный доступ только к необходимым сетевым функциям и файлам пользователя. Пользователям, интересующимся новинками, Flatpak позволяет установить самые свежие тестовые и стабильные выпуски приложений без необходимости внесения изменений в систему. Например, Flatpak-пакеты собираются для LibreOffice, GIMP, Inkscape, Kdenlive, Steam, 0 A.D., Visual Studio Code, VLC, Slack, Telegram Desktop, Android Studio и т.д.

Для уменьшения размера в пакет включают лишь специфичные для приложения зависимости. Базовые системные и графические библиотеки (GTK, Qt, библиотеки GNOME и KDE и т.п.) поставляются в виде подключаемых типовых runtime-окружений. Ключевое отличие Flatpak от Snap в том, что Snap использует компоненты окружения основной системы и изоляцию на основе фильтрации системных вызовов, в то время как Flatpak создаёт отдельный от системы контейнер и оперирует крупными runtime-наборами, предоставляя в качестве зависимостей не пакеты, а типовые системные окружения (например, все библиотеки, необходимые для работы программ GNOME или KDE).

Помимо типового системного окружения (runtime), устанавливаемого через специальный репозиторий, поставляются дополнительные зависимости (bundle), требуемые для работы приложения. В сумме "runtime" и "bundle" образуют начинку контейнера, при том, что "runtime" устанавливается отдельно и привязывается сразу к нескольким контейнерам, что позволяет обойтись без дублирования общих для контейнеров системных файлов.

В одной системе может быть установлено несколько разных "runtime" (GNOME, KDE) или несколько версий одного "runtime" (GNOME 46, GNOME 47). Контейнер с приложением в качестве зависимости использует привязку только к определённому "runtime", без учёта отдельных пакетов, формирующих выбранный "runtime". Все недостающие элементы упаковываются непосредственно вместе с приложением. При создании контейнера содержимое "runtime" монтируется как раздел /usr, а "bundle" монтируется в каталог /app.

Начинка "runtime" и контейнеров приложений формируется с использованием технологии OSTree, при которой образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи прослойки rpm-ostree.

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

Формируемое изолированное окружение полностью независимо от используемого дистрибутива и при надлежащих настройках пакета не имеет доступа к файлам и процессам пользователя или основной системы, а также не может напрямую обращаться к оборудованию, за исключением вывода через DRI. Вывод графики и организация ввода реализованы при помощи протокола Wayland или через проброс сокета X11. Взаимодействие с внешней средой построено через систему обмена сообщениями DBus и специальный API Portals.

Для изоляции используется прослойка Bubblewrap и традиционные для Linux технологии контейнерной виртуализации, основанные на использовании cgroups, пространств имён (namespaces), Seccomp и SELinux. Для вывода звука применяется PulseAudio или PipeWire. При создании пакета изоляция может быть отключена, чем пользуются разработчики многих популярных пакетов для получения полного доступа к ФС и всем устройствам в системе.

Например, с ограниченным режимом изоляции, оставляющим полный доступ к домашнему каталогу, поставляются пакеты GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity и VLC. В случае компрометации пакетов с доступом к домашнему каталогу, несмотря на наличие в описании пакета метки "sandboxed", атакующему для выполнения своего кода достаточно изменить файл ~/.bashrc. Отдельным вопросом является контроль над внесением изменений в пакеты и доверие к сборщикам пакетов, которые часто не связаны с основным проектом или дистрибутивами.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимость во flatpak, позволяющая обойти sandbox-изоляцию
  3. OpenNews: Официальные редакции Ubuntu прекратят поддержку Flatpak в базовой поставке
  4. OpenNews: Релиз системы самодостаточных пакетов Flatpak 1.14.0
  5. OpenNews: Выпуск Bubblewrap 0.11, прослойки для создания изолированных окружений
  6. OpenNews: Каталог приложений Flathub достиг отметки в 2 миллиарда загрузок
Обсуждение (154 +5) | Тип: Программы |


·10.01 Январский выпуск дистрибутива openSUSE Slowroll (45 +11)
  Разработчики проекта openSUSE представили январское обновление экспериментального дистрибутива openSUSE Slowroll, развивающего модифицированную редакцию непрерывно обновляемого дистрибутива openSUSE Tumbleweed, дополнительно стабилизированного для пользователей, которые не хотят ждать выхода консервативного релиза openSUSE Leap, но опасаются проблем со стабильностью из-за недостаточного тестирования новых версий программ.

openSUSE Slowroll можно рассматривать как промежуточный вариант между openSUSE Tumbleweed и openSUSE Leap, позволяющий получить доступ к свежим версиям программ после прохождения дополнительной стадии стабилизации. По сравнению с Tumbleweed в репозиторий Slowroll пакеты попадают с 5-10 дневной задержкой на стабилизацию. В отличие от openSUSE Leap системные компоненты формируются не на основе консервативных выпусков SUSE Enterprise Linux, а с использованием свежей пакетной базы.

Из изменений в январском выпуске openSUSE Slowroll отмечается включение расширенных возможностей для обеспечения повторяемых сборок пакетов. Перенесены исправления, связанные с улучшением обработки зависимостей, распараллеливанием сборки и устранением состояний гонки в крупных пакетах, таких как Python и Qt. Обновлены версии пакетов: ядро Linux 6.12.6, Xfce 4.20, KDE Gears 24.12, KDE Frameworks 6.9.0, QEMU 9.2.0, SQLite 3.47.2, Flatpak 1.15.12, systemd 256.10, LLVM 19.1.6, GStreamer 1.24.10, vim 9.1.0908 и AppStream 1.0.4. Пакет GPG обновлён до версии 2.5.2 с возможностью генерации ключей ECC+Kyber и улучшенной поддержкой смарткарт.

  1. Главная ссылка к новости
  2. OpenNews: Сформирован дистрибутив openSUSE Slowroll, идущий на смену openSUSE Leap
  3. OpenNews: Релиз дистрибутива openSUSE Leap 15.6
  4. OpenNews: Началась разработка дистрибутива openSUSE Leap 16.0
  5. OpenNews: Дистрибутив openSUSE представил альтернативный инсталлятор Agama 10
  6. OpenNews: Доступен атомарно обновляемый дистрибутив openSUSE Leap Micro 6.1
Обсуждение (45 +11) | Тип: Программы |


·09.01 Суд обязал компанию AVM выполнить условия лицензии LGPL (65 +52)
  Правозащитная организация Software Freedom Conservancy (SFC), предоставляющая юридическую защиту свободным проектам и отстаивающая необходимость соблюдения лицензии GPL, объявила об успешном завершении судебного разбирательства с компанией AVM, связанного с невыполнением условий лицензии LGPL в прошивках маршрутизаторов. Дело было открыто в немецком суде по иску Себастьяна Штека (Sebastian Steck), потребовавшего предоставить исходный код компонентов прошивки, распространяемых под лицензией LGPLv2.1, а также скриптов, используемых для их компиляции и установки.

Поводом для подачи иска стал отказ компании AVM предоставить полный исходный код библиотек, задействованных в прошивке беспроводного маршрутизатора AVM FRITZ!Box 4020. Как потребитель, купивший данное устройство, Себастьян запросил доступ к коду компонентов, основанных на открытых библиотеках uClibc, libblkid, libexif и libosip2, изначально распространяемых под лицензией LGPL и, среди прочего, применяемых в прошивке для организации ведения журнала передачи данных. В ответ компания AVM предоставила неполные исходные тексты библиотек, которые не могли быть скомпилированы и использованы в прошивке.

В досудебном порядке было предпринято несколько попыток убедить AVM выполнить условия лицензии LGPL, но компания отказалась предоставлять полный код. В июле 2023 года был подан судебный иск, который летом 2024 года был удовлетворён судом, так как ответчик не смог обосновать свой отказ выполнить условия LGPL. Две недели назад истёк срок подачи апелляции. Компания AVM не стала оспаривать решение, передала истцу код запрошенных компонентов прошивки и оплатила судебные издержки.

В суде компания AVM заявляла, что кода, предоставленного в ответ на первый запрос, достаточно для внесения изменений в оперативной памяти. Истец настаивал на том, что потребитель должен иметь возможность установки изменений на уровне прошивки, хранящейся во Flash-памяти. Суд встал на сторону истца, и компания AVM предоставила информацию, необходимую для внесения изменений, сохраняемых после перезагрузки.

  1. Главная ссылка к новости
  2. OpenNews: Решение суда о неправомерности удаления дополнительных условий к лицензии AGPL
  3. OpenNews: Итоги судебного разбирательства, связанного с проектом Neo4j и лицензией AGPL
  4. OpenNews: Против компании Vizio подан судебный иск с обвинением в нарушении лицензии GPL
  5. OpenNews: Апелляционный суд встал на сторону VMware в деле о нарушении GPL
  6. OpenNews: Бывший лидер Netfilter прекратил дело о нарушении GPL и выплатит судебные издержки
Обсуждение (65 +52) | Тип: К сведению | Интересно


·09.01 Выпуск дистрибутива Tails 6.11 с устранением проблем, выявленных аудитом безопасности (10 +9)
  Представлен релиз специализированного дистрибутива Tails 6.11 (The Amnesic Incognito Live System), развиваемого в составе проекта Tor. Дистрибутив основан на пакетной базе Debian 12, поставляется с рабочим столом GNOME 43 и предназначен для анонимного выхода в сеть при помощи инструментария Tor. Все соединения, кроме трафика через сеть Tor, по умолчанию блокируются пакетным фильтром. Для хранения пользовательских данных в режиме сохранения пользовательских данных между запусками применяется шифрование. Для загрузки подготовлен iso-образ, способный работать в Live-режиме, размером 1 ГБ.

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

  • Уязвимость в Tails Upgrader, которая может использоваться для установки модифицированного обновления дистрибутива и получения постоянного контроля над системой.
  • Проблемы с отдельными приложениями, которые могут привести к деанонимизации и отслеживанию активности пользователя: через приложение Onion Circuits можно получить сведения о цепочках подключения в Tor, через Unsafe Browser можно подключиться к сайтам в обход Tor, через Tor Browser можно отслеживать действия пользователя в браузере, через Tor Connection можно перенастроить соединение.
  • Проблема, связанная с возможностью изменения настроек постоянного хранилища.

Среди не связанных с безопасностью изменений:

  • Обновлены версии Tor Browser 14.0.4 и почтового клиента Thunderbird 128.5.0.
  • Из bitcoin-клиента Electrum удалён код для поддержки аппаратных кошельков (кошельки Trezor перестали поддерживаться в Debian 10).
  • В текстовом редакторе GNOME Text Editor отключено повторное открытие последнего файла.
  • В меню, привязанное к пиктограмме состояния, добавлена ссылка на приложение для установки соединения через Tor (Tor Connection).
  • Обеспечено определение повреждений разделов на USB-накопителе, приводящих к ошибкам при работе с постоянным хранилищем (Persistent Storage) или при обновлении системы. Предупреждение о подобных ошибках теперь выводится заранее, например, когда они выявлены до подключения постоянного хранилища.

    1. Главная ссылка к новости
    2. OpenNews: Выпуск дистрибутива Tails 6.10
    3. OpenNews: Проект Tor и дистрибутив Tails объявили об объединении
    4. OpenNews: Релиз Tor Browser 14.0
Обсуждение (10 +9) | Тип: Программы |


Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру