| · | 13.07 |
Первый стабильный выпуск IncidentRelay, системы для организации дежурств и маршрутизации оповещений (4) |
| |
После пяти месяцев разработки опубликован выпуск проекта IncidentRelay 1.1, развивающего открытую систему для организации дежурств, маршрутизации оповещений и сопровождения инцидентов, запускаемую на собственном сервере (self-hosted). IncidentRelay 1.1 отмечен как первый стабильный выпуск (ветка 1.0 имела статус бета-версии). Проект ориентирован на SRE, DevOps и инфраструктурные команды, которым требуется локально разворачиваемая альтернатива SaaS-сервисам для управления дежурством (on-call management), применения политик эскалации и реагирования на инциденты. Код проекта написан на Python и распространяется под лицензией MIT.
IncidentRelay принимает события из систем мониторинга, сопоставляет их с сервисом, командой и ротацией, после чего доставляет уведомления ответственным дежурным или командам. В системе реализованы расписания дежурств, ротации, переопределения смен, подтверждение получения инцидента, состояния ACK/Resolve, напоминания, эскалации, временные замены дежурных, определение времени плановых работ и подавление шумных алертов.
Основное преимущество проекта - полный контроль над инфраструктурой и логикой маршрутизации. IncidentRelay разворачивается в своей среде, работает со своей базой данных и позволяет явно разделить входящие маршруты, команды, ротации и каналы доставки. Входящие токены принадлежат маршрутам, а не каналам, поэтому проще понять, какой внешний источник имеет право отправлять события в конкретную команду.
В IncidentRelay поддерживается приём событий из Prometheus Alertmanager, Grafana Alerting, Zabbix, Sentry, LibreNMS, RMON, AWS SNS/CloudWatch и произвольных webhook-ов. Для отправки уведомлений предусмотрены каналы Mattermost, Slack, Telegram, Discord, Microsoft Teams, email, webhook-и, browser/PWA push и провайдеры голосовых вызовов. В Mattermost и Telegram уведомления могут содержать действия для подтверждения и решения проблемы, что позволяет обрабатывать инцидент без перехода в отдельный интерфейс.
Проект можно запускать через Docker Compose, RPM-пакет для Red Hat-подобных дистрибутивов, вручную через systemd, а также в Kubernetes с помощью Helm-чарта. Для небольших инсталляций можно использовать SQLite, для рабочих чистем и более высокой нагрузки рекомендуется PostgreSQL.
В новой версии предложены следующие изменения:
- Добавлены многоуровневые on-call ротации с ограничениями по времени, приоритетами слоёв и учётом временных замен;
- Появился календарь дежурств, CalDAV и ICS-подписки для внешних календарей;
- Реализованы политики эскалации инцидентов с многошаговыми цепочками повышения уровня;
- Добавлены группы предупреждений, группировка событий, отложенные уведомления и ручное объединение связанных алертов;
- Появились окна для проведения плановых работ и "тихие" алерты;
- Добавлена возможность добавления комментариев к алертам;
- Добавлены приоритеты инцидентов (P1-P5) и автоматическое повышение приоритета по уровню важности;
- Реализованы сервисный каталог, зависимости сервисов, SLI/SLO, история влияния на работу систем (Service Impact History) и бизнес-сервисы (Business Services);
- Появился Explain Trace для разбора маршрутизации: почему алерт попал или не попал в команду, был сгруппирован, подавлен или отправлен в конкретный канал;
- Добавлены проверки (Heartbeats/dead-man-switch) для watchdog, backup, ETL и других задач, где проблемой является отсутствие ожидаемого сигнала.
- Главная ссылка к новости
- OpenNews: IncidentRelay - открытая система для организации дежурств и маршрутизации оповещений
- OpenNews: В рамках проекта Glaber создан форк системы мониторинга Zabbix
- OpenNews: Выпуск системы мониторинга Zabbix 7.0, поменявшей лицензию на AGPL
|
|
|
| |
|
|
| · | 13.07 |
Бета-версия офисного пакета LibreOffice 26.8 (5 +1) |
| |
Организация The Document Foundation объявила о начале бета-тестирования офисного пакета LibreOffice 26.8. Готовые установочные пакеты подготовлены для различных дистрибутивов Linux, Windows и macOS. Релиз состоится 18-20 августа.
Среди изменений:
- Обеспечено выставление разного цвета фона верхней панели (Notebookbars) в разных модулях (Writer, Calc, Draw и Impress). В режиме разделения инструментов по вкладкам появились метки категорий.
Добавлена возможность переключения между вкладками в панели, используя тачпад или колесо мыши.
- Предоставлена возможность изменения цветовой темы без перезапуска приложения.
- В панели инструментов, боковой панели и выпадающем блоке форматирования унифицирован список стилей, который теперь везде выглядит одинаково и не теряет стандартные стили после добавления собственных.
- В диалог настройки стиля страницы и в боковую панель добавлены дополнительные размеры страниц A0, A1, A2, B0, B1, B2 и B3.
- В боковой панели в диалоге управления стилями реализована возможность независимого применения фильтров стилей.
- Предоставлена возможность настройки комбинаций клавиш в привязке к отдельным документам.
- Реализована встроенная поддержка вариативных шрифтов OpenType (variable fonts), в которых толщина, ширина и другие стилистические характеристики глифа могут произвольно меняться. Вместо отдельного описания каждого представления, комбинации возможных вариантов определяются в одном шрифтовом ресурсе через определения возможных delta-отклонений от базового глифа с получением результата через применение интерполяции.
- В диалоге поиска и замены текста в регулярных выражениях реализована возможность использования escape-последовательностей для кодирования Unicode-символов, например, "\u000A" для перевода строки или "\u0041" для буквы "A" в верхнем регистре.
- При задействовании в интерфейсе базовых VCL-виджетов, реализован вывод предупреждения c предложением установить пакет интеграции с рабочим столом (например, libreoffice-kf6 для KDE).
- Обеспечено корректное использование шрифтов, имена которых меняются в зависимости от выставленного в системе языка. Документы, созданные при использовании одного языка в интерфейсе, теперь корректно отображаются с нужными шрифтами в интерфейсах с другим языком, если эти шрифты установлены в системе.
- В конфигурациях без установленного дополнения APSO (Alternative Python Script Organizer) предоставлена возможность открытия Python-скриптов в системном текстовом редакторе из диалога управления макросами.
- В диалоге вставки гиперссылки добавлена опция для вырезания параметров из URL ("?a=b&c=d...").
- Для диалогов, способных изменять свой размер, на платформе Windows добавлена кнопка для раскрытия окна на всё доступное пространство.
- Добавлен фильтр для поиска в подключённых пользователем словарях.
- Внесены многочисленные улучшения в обработку и отображение текста на языках с начертанием справа-налево.
- В Writer и Calc разрешено редактирование существующих стилей таблиц.
- Изменения в редакторе документов Writer:
- Добавлен режим наглядного сравнения документов, позволяющий в одном окне бок о бок оценить различия в двух документах или разных версиях одного документа.
- Реализован новый движок компоновки абзацев (Paragraph Composer), разбивающий текст на строки и распределяющий пробелы при выравнивании по ширине с учётом не только наполнения текущей строки, но и идущих следом строк. Новый движок позволяет равномерно распределить пустоты во всех строках абзаца, исключив ситуации, когда одна строка почти полностью заполнена, а другая почти пустая из-за соседства длинных слов.
- Добавлена опция "View ▸ Grids and Helplines ▸ Display Baseline Grid" для визуализации макетной сетки, по которой производится выравнивание букв по нижней границе строк. В настройках возможно выставление произвольного цвета горизонтальным направляющим (Tools ▸ Options ▸ LibreOffice ▸ Appearance ▸ Customizations ▸ Baseline grid).
- При включения функция выравнивания по базовой сетке реализовано корректное выравнивание врезок текста.
- Добавлена поддержка чтения и реэкспорта DOCX-файлов со свойствами стилей для скрытия элементов и показа в галерее. В фильтрах импорта и экспорта DOCX также обеспечена корректная обработка комментариев к удалённой области текста. Комментарии к удалённому тексту в режиме отслеживания изменений теперь отображаются зачёркнутыми, как и сам текст.
- Добавлен режим просмотра "Черновик" (View ▸ Draft), оставляющий только текст и скрывающий отвлекающие элементы оформления, такие как отступы, колонтитулы и изображения.
- В боковой панели в строке быстрого поиска реализована поддержка поиска в комментариях. Опции быстрого поиска теперь показывают сразу в панели, без открытия модального диалога.
- Добавлена опция, отключающая удаление выделенного текста при начале ввода новых символов без снятия выделения (Tools ▸ Options ▸ LibreOffice Writer ▸ Formatting Aids: Typing: ☑ Typing replaces selection).
- Добавлена поддержка сортировки заголовков разделов документа в алфавитном порядке.
- В диалог подсчёта слов добавлены данных о числе слов до и после курсора.
- В режиме экспертной настройки добавлена возможность переопределения содержимого выпадающего списка стилей, используя параметры ShowDefaultStyles, ShowUsedStyles, ShowFavouriteStyles и ShowUserDefinedStyles в группе org.openoffice.Office.Common.
- Повышена производительность открытия очень больших документов с изображениями.
- Изменения в табличном процессоре Calc:
- В сводных таблицах (Pivot Tables) добавлена возможность вставки столбцов со значениями, не подставляемыми напрямую, а вычисляемыми на основе данных из электронной таблицы.
- В панели инструментов кнопка управления границами преобразована в комбинированную кнопку, которая помимо выпадающего меню со списков доступных типов рамок, теперь запоминает выбранный стиль и при повторном нажатии сразу выбирает его, а меню показывает только при нажатии на значок со стрелкой.
- Добавлена команда Shuffle для рандомизации порядка ячеек в выбранном диапазоне.
- Добавлен режим "тихой" блокировки ввода некорректных данных без вывода предупреждений.
- Улучшена совместимость с форматом XLSX при принудительном переносе строк внутри ячеек при создании ссылок.
- Улучшен интерфейс для изменения форматирования текста в заголовке и футере ячеек.
- Разрешено указание относительного размера шрифтов при определении стиля ячеек.
- Добавлена клавиатурная комбинация Ctrl + Home для перевода курсора на первую занятую ячейку.
- Изменения в системе создания презентаций Impress:
- Предоставлена возможность создания слайдов разного размера в одной презентации.
- Добавлена поддержка группировки слайдов в секции, что может использоваться для навигации с учётом структуры презентации. В боковой панели и в панели управления страницей предоставлена возможность отображения заданных пользователем имён слайдов, рядом с их номерами.

- Реализована возможность доступа к палитрам цветовых тем через верхнюю панель.
- Добавлена возможность переключения между нумерованным и маркированным стилями списков с сохранением их структуры.
- Реализованы варианты встроенных шаблонов презентаций, имеющие соотношения сторон 16:9, в дополнение к изначально предлагаемым вариантам 4:3. При использовании данных шаблонов смена формата слайда с 4:3 на 16:9 теперь не приводит к растягиванию фона.
- В режиме показа презентации обеспечено автоматическое масштабирования пиктограмм в опциональной навигационной панели в зависимости от размера окна.
- В Draw добавлена опция для использования колеса мыши для масштабирования вместо прокрутки. Для скроллинга колесом мыши в данном режиме следует удерживать клавишу Ctrl. Реализована возможность создания страниц разного размера в одном документе.
- В Base реализована поддержка фильтрации по дате или времени при работе с СУБД Firebird. Решена проблема с удалением комментариев к SQL-запросу при переключении на другой запрос в Design View.
- В Chart реализована возможность импорта и пересохранения файлов в формате OOXML, содержащих новые типы диаграмм ("chartex"), добавленные в Microsoft Office. При этом LibreOffice пока не может отображать и редактировать такие диаграммы, и показывает вместо них заглушки с информацией о том, что они не поддерживаются.
- В Math добавлен диалог для создания матриц.
- Главная ссылка к новости
- OpenNews: Первый стабильный выпуск открытого офисного пакета Euro-Office
- OpenNews: Платформа CODE 26.04 для совместной работы с офисным пакетом на основе LibreOffice
- OpenNews: Опубликован офисный пакет ONLYOFFICE 9.4 с обновлением лицензии на код
- OpenNews: Из курирующей LibreOffice организации TDF исключены все сотрудники Collabora
- OpenNews: Выпуск офисного пакета LibreOffice 26.2
|
|
|
| |
|
|
| · | 12.07 |
Выпуск PhotoGIMP 3.1, надстройки над GIMP, стилизованной под Photoshop (72 +19) |
| |
Доступен выпуск проекта PhotoGIMP, развивающего надстройку над графическим редактором GIMP 3.x, делающую интерфейс и поведение более привычными для пользователей, знакомых с Adobe Photoshop. Изменения сводятся к переработке настроек, компоновки меню и панелей инструментов, включению расширенных шрифтов, замене пиктограмм и изменению горячих клавиш. Код проекта распространяется под лицензией GPLv3. PhotoGIMP может работать поверх штатных дистрибутивных пакетов с GIMP, а также при установке GIMP из пакета в формате Flatpak.
В новой версии улучшена группировка элементов в панели инструментов. Добавлены дополнительные горячие клавиши в стиле Photoshop. Реализована возможность изменения размера кисти клавишами со скобками. Включено добавление альфа-каналов в импортируемые изображения. Обновлены пиктограммы.
- Главная ссылка к новости
- OpenNews: Подготовлен Flatpak-пакет с графическим редактором GIMP 0.54, выпущенным в 1996 году
- OpenNews: Релиз графического редактора GIMP 3.2.0
- OpenNews: Релиз программы для обработки фотографий Darktable 5.6.0
- OpenNews: Выпуск графического редактора Pinta 3.1
- OpenNews: Выпуск растрового графического редактора Krita 6.0
|
|
|
| |
|
|
| · | 12.07 |
Открыт код Chatto, платформы для создания групповых чатов (56 +9) |
| |
Чат-платформа Chatto, предназначенная для организации общения в сообществах и командах разработчиков, переведена в разряд открытых проектов. Платформа оптимизирована для достижения максимальной отзывчивости интерфейса, минимального потребления ресурсов бэкендом и простоты развёртывания на своём сервере инфраструктуры для групповых чатов, не зависящей от внешних сервисов. На стороне пользователей доступ осуществляется из браузера через web-интерфейс. Код написан на языке Go и открыт под лицензией AGPLv3.
Все персональные данные и история общения в чатах хранится в зашифрованном виде с использованием ключей, привязанных к отдельным пользователям. Помимо текстового чата поддерживаются голосовые и видео вызовы, встраивание мультимедийных сообщений, трансляция содержимого экрана и сквозное шифрование сообщений. Платформа также поддерживает полнотекстовый поиск, предпросмотр ссылок на внешний контент, определение присутствия пользователей, возможность выставления статусов и управление доступом на основе ролей.
Для добавления дополнительной функциональности и кастомизации платформы могут использоваться подключаемые дополнения. Возможна организация централизованного входа (SSO) и интеграция с корпоративными системами через API GraphQL и NATS. Установка осуществляется через запуск самодостаточного исполняемого файла, размером около 70 МБ, не требующего установки дополнительных зависимостей и внешней СУБД.
Состояние проекта оценивается как достаточно стабильное для рабочих применений, но не вся задуманная функциональность пока реализована. Например, в следующей версии Chatto 0.5 намерены интегрировать возможности для модерирования и отправки жалоб о недопустимом содержимом, а также добавить в клиентскую часть поддержку подключения к нескольким серверам. Через 6-12 месяцев планируют опубликовать релиз Chatto 1.0.0, до формирования которого не исключается внесение изменений, нарушающих обратную совместимость.
- Главная ссылка к новости
- OpenNews: Завершено открытие серверной части сервиса мгновенного обмена сообщениями Wire
- OpenNews: Доступна система обмена сообщениями Briar, способная работать в режиме P2P
- OpenNews: Опубликована платформа обмена сообщениями Zulip 11
- OpenNews: Проект Revolt развивает открытую альтернативу платформе Discord
- OpenNews: Проект TFC развивает параноидально защищённую систему обмена сообщениями
|
|
|
| |
|
|
| · | 12.07 |
Выпуск Lanemu P2P VPN 0.14 (62 +24) |
| |
Состоялся выпуск Lanemu P2P VPN 0.14 - реализации децентрализованной виртуальной частной сети, работающей по принципу Peer-To-Peer, при котором участники подключены друг к другу, а не через центральный сервер. Участники сети могут находить друг друга через BitTorrent-трекеры или BitTorrent DHT, либо через других участников сети (peer exchange). Приложение является бесплатным и открытым аналогом VPN Hamachi, написано на языке Java (c отдельными компонентами на языке Си) и распространяется под лицензией GNU LGPL 3.0. Поддерживается запуск в Windows, GNU/Linux, FreeBSD и Mac OS.
Изменения в версии 0.14:
- Добавлена поддержка протокола RUDP (Reliable User Datagram Protocol) на замену TCP. RUDP включён по умолчанию с возможностью "старым" пирам подключаться по TCP. Теперь используются два UDP порта "n" и "n + 1" для UDP соответственно и порт "n" для старых TCP-подключений. Используется модифицированная RUDP-библиотека с поддержкой мультиплексирования (работа клиента и сервера по одному UDP-порту) для обхода NAT.
- Порт по умолчанию установлен в значение 5521 вместо 0, при котором номер выбирался случайно.
- Добавлена поддержка протокола STUN для получения внешних UDP-портов и IP-адреса пира. В роли STUN-сервера по умолчанию используется "stun.l.google.com:19302", вместо которого, в случае проблем, можно указать альтернативный STUN-сервер, например "stun.voipcheap.com:3478".
- Добавлено отображение сообщения о работе приложения при выполнении долгих синхронных операций (например генерация приглашения).
- Отредактирован манифест exe-файлов, чтобы приложение всегда запускалось от имени администратора.
- Добавлена автоматическая установка tap-драйвера при запуске приложения в Windows.
- Добавлена проверка приглашения при указании в режиме без интерфейса.
- Добавлена настройка времени ожидания таймаута сокета при подключении.
- Сборки приложения разделены для каждой версии Windows.
- Главная ссылка к новости
- OpenNews: Релиз Lanemu P2P VPN 0.13.1
- OpenNews: 17 из 20 VPN-сервисов выдают неверную информацию о странах выходных узлов
- OpenNews: Компания Mullvad представила GotaTun, реализацию VPN WireGuard на языке Rust
- OpenNews: Доступен OpenVPN 2.7.0
- OpenNews: Опубликованы VPN WireGuard для Windows и WireGuardNT 1.0
|
|
|
| |
|
|
| · | 11.07 |
Опубликован исходный код игры Unturned (31 +14) |
| |
Студия Smartly Dressed Games объявила о публикации исходного кода игры Unturned, реализованной в жанре симулятора выживания с открытым миром. Игра написана на языке C# с использованием платформы .NET и проприетарного игрового движка Unity. В опубликованный код не вошли античит-библиотеки и сторонний движок поиска пути A*.
Код распространяется под ограничительной лицензией, которая допускает создание бесплатно распространяемых модов для ПК, но запрещает использование в коммерческих целях и формирование сборок для игровых консолей и мобильных устройств. При этом разработчики не исключают изменение лицензии на MIT после завершения работы над другой игрой.
- Главная ссылка к новости
|
|
|
| |
|
|
| · | 11.07 |
Представлен дистрибутив B1ackOS GNU/Linux (37 –18) |
| |
Проект B1ackOS GNU/Linux развивает дистрибутив на базе Debian Sid (Unstable), использующий модель непрерывной публикации обновлений (Rolling). В качестве системы инициализации используется systemd, а управление пакетами осуществляется с помощью APT. Проект использует собственный репозиторий пакетов. В качестве инсталлятора в консольной сборке задействован Debian Installer, а в графических редакциях - Calamares. Поддерживаются архитектуры amd64, i386 и arm64.
По умолчанию B1ackOS поставляется в минимальной конфигурации, напоминающей Arch Linux: после установки пользователь получает практически пустую систему с оболочкой Fish, которую можно настроить под себя и создать рабочее окружение, соответствующее конкретным задачам.
Для пользователей, которым сразу после установки нужна готовая рабочая среда, предлагается сборка с рабочим столом Cinnamon и предустановленным набором приложений (браузер Chromium, офисный пакет ONLYOFFICE, графический редактор Krita, видеоплеер Clapper и магазин приложений MintInstall). Помимо Cinnamon из репозитория можно установить KDE Plasma, GNOME, Xfce и MATE.
- Главная ссылка к новости
|
|
|
| |
|
|
| · | 11.07 |
Новые версии Debian 12.15 и 13.6. Debian 12 переведён на стадию LTS-сопровождения (42 +17) |
| |
Сформировано шестое корректирующее обновление дистрибутива Debian 13, в которое включены накопившиеся обновления пакетов и добавлены исправления в инсталлятор. Выпуск включает 124 обновления с устранением проблем со стабильностью и 120 обновлений с устранением уязвимостей.
Из изменений в Debian 13.6 можно отметить обновление прослойки shim-signed, используемой для верифицированной загрузки в режиме UEFI Secure Boot. Прослойка обновлена в связи с истечением времени жизни сертификата Microsoft, применяемого для заверения цифровой подписью загрузчика. Новая версия пакета заверена сертификатом Microsoft UEFI CA, выпущенным в 2023 году.
Попутно обновлён до версии 2.0.20 инструментарий для загрузки прошивок fwupd. В новой версии появилась возможность обновления БД удостоверяющих центров, формирующих сертификаты для Secure Boot, а также БД заслуживающих доверия открытых ключей (KEK,
Key Exchange Key) и список отозванных ключей (DBX). Пользователям рекомендуется обновить указанные БД, используя обновление прошивки от производителя оборудования.
Из-за проблем с лицензией пакет "geoip-database", содержащий БД GeoLite для определения местоположения по IP-адресам, заменён на устаревшую версию, сформированную ещё в декабре 2019 года, что может привести к потере актуальности результатов определения местоположения в приложениях. Более новую версию БД невозможно поставлять в составе дистрибутива из-за несовместимости с применяемыми в Debian требованиями к лицензиям. Для получения актуальных данных следует загружать БД GeoLite напрямую. Из изменений также можно отметить обновление до свежих стабильных версий пакетов postfix, samba, wireless-regdb и wireshark.
Для загрузки и установки "с нуля" в ближайшие часы будут подготовлены установочные сборки c Debian 13.6. Системы, установленные ранее и поддерживаемые в актуальном состоянии, получают обновления, присутствующие в Debian 13.6, через штатную систему установки обновлений. Исправления проблем безопасности, включённые в новые выпуски Debian, доступны пользователям по мере выхода обновлений через сервис security.debian.org.
Одновременно доступен новый выпуск предыдущей стабильной ветки Debian 12.15, в который включено 88 обновлений с устранением проблем со стабильностью и 97 обновлений с устранением уязвимостей. Это последнее штатное обновление ветки Debian 12, у которой завершён основной трёхлетний цикл сопровождения, осуществляемый командами Debian Release Team, Debian Security Team и Debian Backports.
В дальнейшем обновления с устранением уязвимостей для Debian 12 будут выпускаться в рамках программы расширенной поддержки (LTS), которая продлится до 30 июня 2028 года. Штатное сопровождение актуальной ветки Debian 13 продлится до 9 августа 2028 года, после чего для данной ветки до 30 июня 2030 года будет обеспечен выпуск LTS-обновлений.
Выпуск обновлений для LTS-ветки осуществляется отдельной группой разработчиков LTS Team, сформированной из энтузиастов и представителей компаний, заинтересованных в длительной поставке обновлений для Debian. Команда LTS Team приняла эстафету от Debian Security Team и продолжила сопровождение Debian 12 без перерыва. Обновления будут выпускаться для архитектур i386, amd64, armhf, arm64, ppc64el.
Длительный срок поддержки не будет распространяться на некоторые пакеты, например, на web-приложения для которых невозможно и нет смысла осуществлять поддержку в течение 5 лет (для продолжения использования таких пакетов рекомендуется задействовать бэкпорты). Среди неподдерживаемых пакетов можно отметить chromium, xen, tor, phppgadmin, salt, snort и libreswan, а также все пакеты из секции "games". Проверить наличие в системе неподдерживемых пакетов можно при помощи утилиты check-support-status, входящей в состав пакета debian-security-support.
После окончания LTS-поддержки для Debian 12 будет доступна программа расширенного LTS ("Extended LTS"), в рамках которой компания Freexian намерена до 2033 года выпускать своими силами обновления с устранением уязвимостей в ограниченном наборе пакетов для архитектур amd64, armel и i386. Обновления для веток "Extended LTS" распространяются через внешний репозиторий, поддерживаемый компанией Freexian. Доступ бесплатный для всех желающих, а спектр поддерживаемых пакетов зависит от общего числа спонсоров и интересующих их пакетов.
- Главная ссылка к новости
- OpenNews: Новые версии Debian 12.14 и 13.5
- OpenNews: Проблемы с удалением "protestware" из Debian-пакета xsnow
- OpenNews: В Debian утверждена обязательная поддержка воспроизводимых сборок пакетов
- OpenNews: Избран новый лидер проекта Debian
- OpenNews: В Debian 14 намерены прекратить поставку GTK2
|
|
|
| |
|
|
| · | 11.07 |
GhostLock, BadEpoll и Januscape - уязвимости в ядре Linux, позволяющие получить права root и обойти изоляцию KVM (71 +25) |
| |
Раскрыта информация об уязвимости (CVE-2026-43499) в ядре Linux, получившей кодовое имя GhostLock и позволяющая непривилегированному локальному пользователю получить права root в системе, а также выйти из изолированных контейнеров. При использовании в сочетании с другими уязвимостями в браузерах, выявленная проблема может применяться для удалённого выполнения кода с правами root при открытии специально оформленной web-страницы. Проблема проявляется начиная с ядра Linux 2.6.39 (2011 год).
Утверждается, что уязвимость может быть эксплуатирована во всех дистрибутивах, выпущенных за последние 15 лет. Имеется рабочий эксплоит, создатели которого получили от Google премию в $92337 за успешное повышение привилегий в окружении с ядром KernelCTF (Capture the Flag), включающем дополнительные патчи для блокирования типовых методов работы эксплоитов. Степень успешности работы эксплоита оценивается в 97%. Уязвимость выявлена при помощи AI-инструментария VEGA.
Патч с исправлением принят в кодовую базу ядра 21 апреля и вошёл в состав выпусков ядра 7.1.0,
6.18.36,
6.12.95,
6.6.144 и
6.1.177. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, AlmaLinux, Gentoo, Arch,
Fedora. Обходные пути блокирования проблемы отсутствуют.
Уязвимость присутствует в реализации блокировок futex и вызвана обращением к памяти после её освобождения, возникающем при работе механизма наследования приоритетов, предотвращающем инверсию приоритетов (блокировка высокоприоритетной задачи из-за ожидания освобождения ресурса, занятого низкоприоритетной задачей). В ситуации, когда установка блокировки завершается ошибкой, ядро откатывает состояние и вызывает функцию очистки. При определённом стечении обстоятельств функция очистки вызывается не в тот момент и освобождает структуру данных другой задачи, после чего остаётся висячий указатель (dangling pointer), ссылающийся на уже освобождённую память.
Эксплуатация уязвимости сводится к созданию условий для возникновения висячего указателя, используя только доступные пользователю системные вызовы для работы с потоками, реализации примитива для записи при помощи висячего указателя в произвольную область памяти ядра и применения этого примитива для подстановки перехода в таблицу функций ядра для перехвата потока управления.
В предложенном эксплоите осуществляется перезапись
указателя в таблице функций inet6_protos[IPPROTO_UDP], после чего на loopback-интерфейс по IPv6 отправляется UDP-пакет, при обработке которого осуществляется вызов обработчика, указатель на который был подменён на прошлом этапе. Для получения root-доступа получивший управление код эксплоита прописывает в /proc/sys/kernel/core_pattern
свой обработчик, вызываемый с правами root при крахе процессов.
Помимо рассмотренной проблемы в ядре Linux выявлено ещё несколько опасных уязвимостей:
- Januscape (CVE-2026-53359) -
обращение к памяти после её освобождения (use-after-free) в компонентах гипервизора KVM, выполняемых на стороне виртуальной машины для эмуляции блока управления памятью (MMU) и трансляции адресов между хостом и гостевой системой. Уязвимость проявляется на системах с процессорами Intel и AMD и позволяет получить доступ с правами root к хост-окружению при наличии доступа с правами root в гостевой системе.
Для загрузки доступен прототип экспоита, повреждающий содержимое структуры данных на стороне хост-системы, применяемой при трансляции адресов. Опубликованный эксплоит приводит к аварийному завершению хост-системы, но по заявлению выявившего проблему исследователя, он также создал эксплоит для выполнения кода на стороне хост-окружения с правами root, но пока не публикует его, чтобы дать время на установку обновлений.
Проблема вызвана ошибкой, допущенной 16 лет назад, и устранена в обновлениях 7.1.3,
6.18.38,
6.12.95,
6.6.144 и
6.1.177. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora. За выявление уязвимости исследователь получил от Google вознаграждение в 250 тысяч долларов в рамках инициативы kvmCTF.
Для выхода из гостевой системы на серверах на процессорами ARM64 тем же исследователем выявлена другая уязвимость ITScape (CVE-2026-46316), вызванная состоянием гонки в коде эмуляции vGIC-ITS (Interrupt Translation Service) в KVM. Для данной проблемы также опубликован прототип эксплоита.
- Bad Epoll (CVE-2026-46242) - состояние гонки, приводящее к обращению к памяти после её освобождения, в подсистеме ядра epoll. Уязвимость позволяет локальному непривилегированному пользователю выполнить код с правами root. Проблема примечательна тем, что даёт возможность атаковать не только классические Linux-дистрибутивы, но и прошивки на базе платформы Android, а также не блокируется sandbox-изоляцией в Chrome.
Рабочий эксплоит был продемонстрирован на соревновании
kernelCTF (Google выплатил автору $71337). Надёжность работы эсплоита оценена в 99%.
Проблема проявляется начиная с ядра Linux 6.4 (2023 год). О проблеме было сообщено разработчикам ядра 17 февраля, но исправление удалось разработать после нескольких неудачных попыток только 24 апреля. Проблема устранена в ядрах
6.18.24,
6.12.83,
6.6.136. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora.
- CVE-2026-46215 - обращение к памяти после её освобождение в реализации ioctl DRM_IOCTL_GEM_CHANGE_HANDLE в подсистеме DRM (Direct Rendering Manager). Локальный пользователь, имеющий доступ к устройствам /dev/dri/renderD* (сервис systemd-logind предоставляет доступ всем пользователям при запуске графического сеанса во всех крупных дистрибутивах), может получить права root в системе. Имеется эксплоит. Проблема проявляется начиная с ядра 6.18 и устранена в обновлениях 7.0.9 и 6.18.32. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch,
Fedora.
- Главная ссылка к новости
- OpenNews: PEdit-CoW и DirtyClone - уязвимости в ядре Linux, позволяющие получить root через изменение страничного кэша
- OpenNews: CIFSwitch - уязвимость в CIFS-подсистеме ядра Linux, позволяющая получить права root
- OpenNews: Модель угроз и особенности оценки уязвимостей в ядре Linux
- OpenNews: Fragnesia - уязвимость в ядре Linux, позволяющая получить root через изменение страничного кэша
- OpenNews: Предложен killswitch для экстренного отключения уязвимой функциональности в ядре Linux
|
|
Обсуждение (71 +25) |
Тип: Проблемы безопасности |
Интересно
|
| |
|
|
| · | 11.07 |
Выпуск libtorrent 2.1 с включением протокола WebTorrent (43 +21) |
| |
Доступен выпуск библиотеки libtorrent 2.1, предлагающей реализацию протокола BitTorrent, нацеленную на низкое потребление памяти и эффективное использование ресурсов CPU. Библиотека задействована в таких торрент-клиентах, как Deluge, qBittorrent, Folx, Lince, Miro, Flush и Free Download Manager, а также в некоторых сетевых хранилищах. Код libtorrent написан на языке C++ и распространяется под лицензией BSD.
В новой версии включена по умолчанию поддержка протокола WebTorrent, расширяющего протокол BitTorrent возможностями для создания децентрализованных сетей распространения контента, функционирующих через связывание между собой web-браузеров пользователей, просматривающих контент. Для связывания посетителей сайтов в единую сеть доставки контента достаточно разместить на сайте специальный JavaScript-код, использующий технологию WebRTC для прямого обмена данными между браузерами.
Интеграция WebTorrent в libtorrent позволит участвовать в раздаче контента как через стационарные торрент-клиенты, так и через браузеры посетителей сайтов, формируя гибридные сети, комбинирующие BitTorrent и WebTorrent. Торрент-клиенты на основе libtorrent смогут соединяться с работающими в браузерах пирами WebTorrent, например, участвующими в обмене файлами через instant.io. В свою очередь, браузерные клиенты WebTorrent смогут через пользователей стационарных клиентов получить доступ к коллекции торрентов, раздаваемой BitTorrent-пирами поверх TCP/UDP.
Помимо включения поддержки WebTorrent в версии libtorrent 2.1 реализован новый бэкенд ввода/вывода pread_disk_io, использующий функции pwritev и preadv, позволяющие атомарно записывать и читать данные сразу в несколько буферов. Новый бэкенд более эффективен при работе с дисковыми накопителями, сетевыми хранилищами и файловыми системами, монтируемыми через FUSE. Для подобных применений pread_disk_io задействован по умолчанию. Для NVMe-накопителей более эффективен и продолжает применяться по умолчанию старый бэкенд, применяющий отображение файлов в память при помощи mmap.
- Главная ссылка к новости
- OpenNews: Выпуск libtorrent 2.0 с поддержкой протокола BitTorrent 2
- OpenNews: WebTorrent, самодостаточный torrent-клиент, работающий внутри браузера
- OpenNews: Релиз BitTorrent-клиента Deluge 2.2
- OpenNews: Новая версия BitTorrent-клиента Transmission 4.1.0
- OpenNews: Выпуск qBittorrent 5.2.0
|
|
|
| |
|
|
| · | 11.07 |
Недельный отчёт о разработке KDE (34 +10) |
| |
Опубликован очередной еженедельный отчёт о разработке KDE, в котором представлена порция изменений для ветки KDE Plasma 6.8, релиз которой запланирован на 14 октября. Среди недавних изменений:
- В Plasma Login Manager предоставлена возможность использования функции автоматического входа в дистрибутивах со старыми версиями systemd, например в KDE neon.
- Реализация комбинированных списков (combobox) переведена на использование активной темы оформления для стилизации всплывающих элементов (ранее был жёстко прошиты настройки стиля Breeze). Отключена анимация появления и исчезновения меню для унификации с другими элементами интерфейса.
- В Spectacle добавлена опция для записи звука во время создания скринкастов. Может использоваться запись с микрофона и сохраняться звук, воспроизводимый приложениями в системе. Реализован эффект размытия, работающий без использования OpenCV, что позволило исключить данную библиотеку из зависимостей.
- В System Monitor обеспечено отображение потребления видеопамяти в процентах от общего размера VRAM по аналогии с тем, как показывается потребление оперативной памяти.
- В конфигураторе отображение страницы с настройками удалённого подключения к рабочему столу оптимизировано для отображения в небольших окнах для корректной работы на устройствах с небольшими экранами.
- Исключена задержка между перемещением слайдера в виджете и фактическим изменением яркости на внешних мониторах.
- В KDE Frameworks 6.29 при использовании применяемой по умолчанию системы стилей qqc2-desktop-style стиль выделения элементов в списках и при выводе сетки пиктограмм в QML-приложениях теперь соответствует активному стилю приложения (ранее всегда применялся стиль Breeze).
- В тему пиктограмм Breeze добавлены пиктограммы для Android-приложений и документов Typst.
- Главная ссылка к новости
- OpenNews: В KDE улучшена анимация и прекращена поддержка OpenGL в KWin. Уязвимость в обработчике "Open New Window"
- OpenNews: В KDE включена поддержка тройной буферизации вывода на системах c GPU NVIDIA
- OpenNews: Релиз среды рабочего стола KDE Plasma 6.7
- OpenNews: Фонд Sovereign выделил почти 1.3 миллиона евро на развитие KDE
- OpenNews: Опубликован KDE Gear 26.04, набор приложений от проекта KDE
|
|
|
| |
|
|
| · | 11.07 |
Выпуск Wine 11.13 (38 +17) |
| |
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 11.13. С момента выпуска 11.12 было закрыто 22 отчёта об ошибках и внесено 207 изменений.
Наиболее важные изменения:
- Улучшено позиционирование текстового курсора во время ввода.
- Улучшен маппинг сканкодов клавиш при использовании X11.
- В интегрированные в Wine компоненты FFmpeg, такие как библиотеки libswresample (изменение частоты дискретизации звука) и libswscale (масштабирование изображений и преобразование пиксельных форматов), добавлены ассемблерные оптимизации для архитектуры ARM64EC (ARM64 Emulation Compatible). Архитектура ARM64EC разработана для упрощения портирования на системы ARM64 приложений, изначально написанных для систем x86_64, и позволяет выполнять в окружении ARM64 отдельные модули с кодом x86_64 при помощи эмулятора.
- Закрыты отчёты об ошибках, связанные с работой приложений: Adobe Acrobat Pro 7, Acrobat Reader 7, Office 2000, winbox64.exe, Nelogica Profitchart, Sim Racing Studio, Slingplayer 2,
Sony Acid Pro 7.0.
- Закрыты отчёты об ошибках, связанные с работой игр: GTA: Vice City, Requiem: Avenging Angel, Tales of Zestiria 1.2,
Hayoola, Age of Mythology, Succubus Heaven.
- Главная ссылка к новости
- OpenNews: Новые версии Wine 11.12 и Wine-staging 11.12
- OpenNews: Стабильный релиз Proton 11.0, пакета для запуска Windows-игр в Linux
|
|
|
| |
|
|
| · | 10.07 |
Выпуск Rust 1.97. Написанные на Rust ядро Zinnia и P2P-система Iroh с адресацией по ключам (106 +13) |
| |
Опубликован релиз языка программирования Rust 1.97, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust нацелены на исключение ошибок при манипулировании указателями и защиту от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.
Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.
Основные новшества:
- По умолчанию включена новая схема декорирования (mangling) имён функций, глобальных переменных и структур данных в генерируемых объектных и исполняемых файлах (-Csymbol-mangling-version=v0). Имена декорируются для предотвращения конфликтов во время компоновки разных программ, путём прикрепления специфичного контекста, такого как путь к модулю и имя crate-пакета.
Ранее используемая схема декорирования имён, основанная на Itanium ABI, имела такие недостатки, как замена параметров дженериков на нечитаемые хэши и наличие частей компилятора, не использующих Itanium ABI, что требовало использования специфичных для Rust декодировщиков имён. В Rust 1.97 задействована по умолчанию схема декорирования, разработанная специально для Rust и лишённая отмеченных недостатков. Старую схему намерены удалить в одном из следующих выпусков.
- В пакетный менеджер cargo встроена возможность управления реакцией на генерацию компилятором предупреждений при сборке. Добавлена переменная окружения CARGO_BUILD_WARNINGS, которая может принимать три значения: warn (по умолчанию) - вывод предупреждения на экран; allow - скрытие вывода предупреждений; deny - обработка предупреждений как ошибок, останавливающих сборку.
В прошлых версиях для завершения сборки после вывода предупреждения приходилось указывать "-Dwarnings" в RUSTFLAGS для компилятора, но при изменении RUSTFLAGS пакетный менеджер cargo считал сборку новой, не учитывал данные в кэше и с нуля пересобирал весь проект. Перенос настройки на сторону cargo исключил сброс кэша и необходимость полной перекомпиляции при изменении режима обработки предупреждений, а также упростил включение обработки предупреждений как ошибок в системах непрерывной интеграции.
- При сборке включено по умолчанию отображения сообщений, выводимых компоновщиком. Сообщения выводятся в форме предупреждений через специальное lint-правило "linker_messages", которое не входит в стандартную группу "warnings". При этом rustc отфильтровывает сообщения, которые являются типовыми ложными срабатываниями или нормальным поведением, оставляя предупреждения, которые могут свидетельствовать о проблемах, такие как предупреждения об устаревших опциях и нежелательных настройках. Ранее информация от компоновщика показывалась только при завершении с ошибкой, а иначе все сообщения скрывались. Для возвращения старого поведения в Cargo.toml можно добавить:
[lints.rust]
linker_messages = "allow"
- В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
- Признак "const" применён в методе char::is_control.
Дополнительно можно отметить недавно анонсированные проекты и события, связанные с Rust:
- Проект zinnia развивает модульное Unix-подобное ядро, написанное на языке Rust и распространяемое под лицензией GPLv2. Ядро поддерживает POSIX-интерфейсы и некоторые расширения из BSD и Linux, такие как epoll и timerfd. Для отрисовки и организации ввода доступны драйверы DRM (Direct Rendering Manager) и evdev. Реализованной функциональности достаточно для запуска среды рабочего стола Xfce под управлением X-сервера и композитного сервера Weston на базе Wayland. Поддерживается загрузка как в эмуляторе QEMU, так и на реальном оборудовании, таком как ноутбук ThinkPad E14 G7.
- Представлен релиз коммуникационной библиотеки iroh 1.0, позволяющей устанавливать сетевые соединения между приложениями на разных хостах с подключением по криптографическим ключам, вместо IP-адресов (указывается ключ к которому необходимо подключиться и iroh находит связанный с ним хост и устанавливает шифрованное соединение с использованием протокола QUIC). По возможности устанавливаются прямые P2P-соединения, но если это невозможно, выполняется откат на работу через релеи, которые также применяются для обнаружения хостов по ключам. Возможен запуск своего релея или подключение к поддерживаемым сообществом публичным релеям.
Среди расширенных возможностей: поддержка Multipath QUIC для доставки пакетов одновременно по нескольким маршрутам, возможность работы из-за NAT, режим статической конфигурации для подключения к локальным устройствам без доступа к интернету, возможность сборки в промежуточный код WASM для выполнения внутри браузера, поддержка создания своих транспортов, например, для подключения через Bluetooth, WiFi Aware или LoRa. Код написан на Rust и распространяется под лицензиями Apache-2.0 и MIT. Доступны обвязки для Python, Node.js, Kotlin и Swift.
- Автор серверной JavaScript-платформы Bun опубликовал статью с разбором проекта по переписыванию Bun с языка Zig на Rust, используя AI-модель Claude Fable. Отмечается, что Bun 1.3.14 станет последним выпуском на Zig и следующая версия Bun 1.4.0 уже будет на Rust. Судя по проведённым тестам, версия на Rust потребляет значительно меньше памяти и на 2-5% быстрее версии на Zig. Размер исполняемого файла в версии на Rust сократился на 20%.
- Разработчики операционной системы Redox, написанной с использованием языка Rust и концепции микроядра, опубликовали отчёт о развитии проекта за июнь. Из достижений отмечено добавление поддержки геймпадов с интерфейсом USB, портирование инструментария для языка Tcl, а также создание бэкенда GTK3 (GDK) и реализация дробного масштабирования для развиваемого проектом дисплейного сервера Orbital.
- Главная ссылка к новости
- OpenNews: Опубликован crustc - компилятор rustc, переведённый на язык Си
- OpenNews: Возвращение в Ubuntu утилиты cp из Rust Coreutils привело к сбою при сборке livecd-rootfs
- OpenNews: Выпуск X-сервера yserver 1.0.0, написанного на Rust и пригодного для запуска MATE, Xfce и Cinnamon
- OpenNews: Выпуск ядра Asterinas 0.18, написанного на языке Rust и совместимого с Linux
- OpenNews: Выпуск Rust 1.96. Оценка пригодности Rust для создания прошивок к микроконтроллерам
|
|
|
| |
|
|
| · | 10.07 |
Десятый экспериментальный выпуск среды рабочего стола Orbitiny (58 +13) |
| |
Опубликован десятый выпуск среды рабочего стола Orbitiny Desktop, написанной с нуля с использованием фреймворка Qt. Проект пытается совместить некоторые инновационные идеи, которые раньше не встречались в пользовательских окружениях, с традиционными элементами, такими как панель с поддержкой плагинов, меню приложений и рабочий стол, на котором можно размещать ярлыки. Работа пока сосредоточена на запуск в окружениях на базе X-сервера, но в будущем не исключается добавление поддержки Wayland. Код написан на языке C++ и распространяется под лицензией GPL.
Из специфичных для Orbitiny возможностей отмечается: вызов действий через экранные жесты (очерчивание мышью определённого контура на пустой области рабочего стола); метки на пиктограммах (показываются для новых, изменённых, пустых или перемещённых через буфер обмена файлов, а также пустых каталогов); возможность вставки файла одновременно в несколько выбранных каталогов; поддержка размещения содержимого рабочего стола в любом каталоге (не только в $HOME/Desktop); использование отдельных десктоп-каталогов для каждого виртуального рабочего стола и монитора. Список типовых возможностей Orbitiny можно посмотреть в прошлом анонсе.
Среди изменений:
- Добавлена новая панель управления, предоставляющая возможности для изменения настроек, просмотра информации о системе и доступа к внешним конфигураторам. Навигация по встроенным страницам с настройками осуществляется через боковую панель, а вызов внешних конфигураторов через настраиваемые кнопки в верхней части экрана.
- Реализована поддержка закрепления панели задач в любой части экрана и изменения размера мышью, а также прокрутки содержимого панели вращением колеса на мыши.
- На панель добавлена кнопка для вызова диалога со списком окон запущенных приложений и возможностью фильтрации окон по названию.
- Предложен новый апплет с меню быстрого запуска, вызываемый нажатием на кнопку "…" после списка закреплённых ярлыков приложений.
- В меню приложений добавлены новые секции: "Orbitiny Programs" для доступа к встраиваемым в меню апплетам конфигуратора, и "Local Programs" со списком программ, для которых в каталоге ~/.local/share/applications размещены desktop-файлы.
- Появилась возможность изменения тем оформления на лету (сразу после редактирования CSS-файлов) без перезапуска среды рабочего стола.
- Интерфейсы для запуска команд и отслеживания нагрузки на CPU преобразованы в однокнопочные апплеты.
- В файловом менеджере список вкладок перемещён в область под заголовком окна, а слайдер для изменения размера пиктограмм - в левый нижний угол.
- Главная ссылка к новости
- OpenNews: Девятый экспериментальный выпуск среды рабочего стола Orbitiny
- OpenNews: Восьмой экспериментальный выпуск среды рабочего стола Orbitiny
- OpenNews: Седьмой экспериментальный выпуск среды рабочего стола Orbitiny
- OpenNews: Пятый экспериментальный выпуск среды рабочего стола Orbitiny
- OpenNews: Выпуск десктоп-окружения Trinity 14.1.6, продолжающего развитие KDE 3.5
|
|
|
| |
|
|
| · | 10.07 |
pgrust - клон PostgreSQL на Rust, проходящий все регрессионные тесты (201 –18) |
| |
Опубликован проект pgrust с реализацией СУБД PostgreSQL, переписанной на языке Rust c использованием транслятора c2rust и AI-ассистента. Заявлено, что проект пока не готов для использования в рабочих проектах, но уже успешно проходит все регрессионные тесты PostgreSQL, совместим с форматом хранения данных PostgreSQL 18.3 и может использовать data-каталог от PostgreSQL 18.3. Код проекта распространяется под лицензией AGPLv3, в отличие от оригинального PostgreSQL, поставляемого под пермиссивной лицензией PostgreSQL, близкой к лицензиям BSD и MIT. Доступна online-демонстрация возможностей, основанная на сборке в WebAssembly, а также docker-образ для быстрого запуска.
В качестве цели разработки упоминается достижение полной совместимости с PostgreSQL 18.3, а также проведение экспериментов по изменению внутреннего устройства и созданию версии PostgreSQL, избавленной от архитектурных ограничений, от которых не удаётся избавиться по историческим причинам. Проект успешно проходит набор из более чем 46 тысяч регрессионных тестов PostgreSQL, но пока
несовместим с дополнениями к PostgreSQL, не предоставляет желаемых оптимизаций производительности и не полностью реализует процедурные языки PL/Python, PL/Perl и PL/Tcl.
Планы на будущее:
- Перевод на многопоточную внутреннюю архитектуру.
- Реализация пулинга соединений.
- Оптимизация для рабочих процессов, активно использующих JSON.
- Возможность создания копий и ответвлений элементов БД в режиме Copy-on-Write без копирования данных.
- Эксперименты с архитектурой, не требующей выполнения операции VACUUM.
- Система ограничений SQL-запросов, позволяющая блокировать излишнее потребление ресурсов при выполнении некачественных запросов.
- Защита от переключение оптимизатора на менее эффективные планы выполнения запросов.
По словам автора проекта, в настоящее время ведётся работа над следующей версией pgrust, в которой вместо пула рабочих процессов реализована многопоточная модель обработки соединений, а также задействованы дополнительные оптимизации, такие как пакетная обработка строк в таблицах и упреждающая загрузка данных. При тестировании инструментарием percona-tpcc при обработке транзакций новая версия pgrust оказалась быстрее штатного PostgreSQL на 50%, а при обработке аналитических запросов - в 300 раз.
При переводе на Rust использован гибридный подход, при котором код PostgreSQL вначале был обработан при помощи транслятора
c2rust, генерирующего unsafe-представление Rust, близкое по своей структуре к изначальному коду на Си. После обработки в c2rust было создано около 1000 crate-пакетов, которые параллельно переводились на идиоматический Rust при помощи AI-модели Claude и инструментария Conductor для распределения задач между одновременно запускаемыми субагентами.
- Главная ссылка к новости
- OpenNews: Компоненты браузера Ladybird начали переписывать на Rust при помощи AI
- OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
- OpenNews: Проблемы с соблюдением авторского права при переписывании ScanCode на Rust при помощи AI
- OpenNews: При помощи AI для новых ядер Linux портирован драйвер ftape, удалённый 20 лет назад
- OpenNews: Релиз СУБД PostgreSQL 18
|
|
|
| |
|
|
| Следующая страница (раньше) >> |