The OpenNET Project / Index page

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

·14.02.2025 Проекту Fedora пригрозили иском из-за поставки сбойного flatpak-пакета с OBS Studio (146 +22)
  Разработчики системы потокового видеовещания OBS Studio предъявили проекту Fedora претензию, связанную с поставкой некорректно работающего неофициального flatpak-пакета в форме, создающей у пользователей впечатление, что они используют официальный пакет. Проблема в том, что разработчики OBS Studio распространяют через каталог Flathub собственный flatpak-пакет, но вместо него пользователям Fedora предоставляется другой вариант flatpak-пакета, сопровождаемый разработчиками Fedora и при установке являющийся более приоритетным.

Из-за этого пользователи Fedora направляют разработчикам OBS Studio претензии, считая, что проблемы присутствуют в официальном flatpak-пакете. Разработчики OBS Studio попросили пометить предлагаемый в Fedora пакет как неофициальный или удалить его в пользу доступного на Flathub официального пакета. Уведомление о проблеме было направлено три недели назад через системы отслеживания ошибок репозитория fedora-flatpaks, GNOME Software и fedora-workstation.

Так как конструктивного обсуждения вопроса добиться не удалось и дискуссия скатилась к личным нападкам, разработчики OBS Studio официально потребовали прекратить использование в дистрибутиве Fedora любых элементов бренда OBS Studio, включая имя и логотип. Для исполнения требования предоставлена одна неделя (до 21 февраля). В случае игнорирования требования разработчики OBS Studio намерены привлечь юристов для подачи судебного иска.

В ответ мэйнтейнер пакета заполнил заявку на удаление flatpak-пакета obs-studio из репозиториев Fedora. Проблемы во flatpak-пакете от проекта Fedora возникали из-за поставки версии Qt, в которой присутствуют неисправленные регрессивные изменения. В официальном flatpak-пакете от OBS Studio в обход flatpak-runtime поставляется старая версия Qt, в которой данные регрессии не проявляются. Так как срок сопровождения лишённой регрессий старой версии Qt истёк, в Fedora собирался свой вариант flatpak-пакета с актуальным выпуском Qt.

  1. OpenNews: Выпуск системы потокового видеовещания OBS Studio 31.0
  2. OpenNews: Debian перешёл на поставку урезанного варианта менеджера паролей KeePassXC
  3. OpenNews: В TikTok Live Studio выявлено заимствование кода OBS, нарушающее лицензию GPL
  4. OpenNews: Конфликт из-за поставки устаревшей версии XScreenSaver в Debian
  5. OpenNews: Нарушение авторского права в хранителе экрана GNOME и производных проектах
Обсуждение (146 +22) | Тип: К сведению |
·13.02.2025 Лидер Asahi Linux покинул проект после проблем с продвижением Rust в ядро Linux (237 +40)
  Гектор Мартин (Hector Martin), основатель проекта Asahi Linux, занимающегося портированием Linux для работы на компьютерах Mac с ARM-чипами Apple Silicon, объявил о снятии с себя полномочий лидера и прекращению разработки. Участники Asahi Linux сформировали управляющий совет, в который вошли 7 разработчиков. Совет будет коллегиально принимать решения и совместно координировать работу проекта.

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

Переломным моментом, после которого исчезла мотивация продолжать работу, стало сопротивление продвижению в ядро Linux наработок "Rust for Linux" и создание враждебной атмосферы для участников данного проекта. Для Asahi Linux включение поддержки языка Rust в ядро Linux является важным, так как данный язык использован для разработки трёх драйверов (по словам Гектора, успех в разработке драйвера drm-asahi обусловлен выбором для него языка Rust). На поддержание ветки ядра с собственными изменениями тратится много ресурсов и по мере увеличения не принятого в основной состав ядра кода сопровождение всё больше усложняется.

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

На прошлой неделе Гектор ушёл с поста мэйнтейнера платформы ARM/Apple в ядре Linux после замечания Линуса Торвальдса о его излишней самоуверенности в желании реформировать процесс разработки ядра и привлечении социальных сетей для раздувания внутренних разбирательств. Судя по всему, Гектор излишне эмоционально реагирует на возникающие трудности и принимает близко к сердцу то, что ему кажется несправедливостью, и при этом не готов учитывать интересы других людей, находить компромиссные решения, вникать в мотивы чужих поступков и допускать, что его мнение может не быть единственным правильным.

  1. OpenNews: Кризис в продвижении Rust в ядро из-за опасений усложнения сопровождения
  2. OpenNews: Инициатива по поддержке чипа Apple M1 в Linux
  3. OpenNews: Продвижение кода на языке Rust в ядро Linux происходит медленнее, чем ожидалось
  4. OpenNews: Препятствия при продвижении Rust в ядро Linux
  5. OpenNews: Заметки Теодора Тс'о о ядре Linux, кодексе поведения, ext4, btrfs и ZFS
Обсуждение (237 +40) | Тип: Тема для размышления |
·13.02.2025 Релиз СУБД DuckDB 1.2.0 (40 +8)
  Опубликован выпуск СУБД DuckDB 1.2.0, ориентированной на выполнение аналитических запросов и концептуально напоминающей SQLite. DuckDB сочетает такие свойства SQLite, как компактность, подключение в форме встраиваемой библиотеки, хранение БД в одном файле и CLI-интерфейс, с возможностями и оптимизациями для выполнения аналитических запросов, охватывающих значительную часть хранимых данных, например, выполняющих агрегирование всего содержимого таблиц или слияние нескольких больших таблиц. Код проекта написан на языке C++ и распространяется под лицензией MIT.

DuckDB предоставляет расширенный диалект языка SQL, включающий дополнительные возможности для обработки очень сложных и длительно выполняемых запросов. Возможно использование сложных типов (массивы, структуры, объединения), а также выполнение произвольных и вложенных коррелирующих подзапросов. Поддерживается одновременное выполнение нескольких запросов, выполнение запросов напрямую из файлов в форматах CSV и Parquet. Доступна поддержка импорта из СУБД PostgreSQL.

Проектом используется оболочка из SQLite, парсер из PostgreSQL, компонент Date Math из MonetDB, своя реализация оконных функций (на базе алгоритма Segment Tree Aggregation), обработчик регулярных выражений на основе библиотеки RE2, собственные оптимизатор запросов, MVCC-механизм управления одновременным выполнением заданий (Multi-Version Concurrency Control), а также векторизованный движок выполнения запросов на базе алгоритма Hyper-Pipelining Query Execution, позволяющий в одной операции разом обрабатывать большие наборы значений.

В новой версии:

  • Реализована поддержка новых методов сжатия, которые не включены по умолчанию для сохранения совместимости БД-файлов с прошлыми версиями DuckDB. Для использования улучшенного формата БД-файлов предложена возможность привязки БД к номеру версии - при открытии файла при помощи параметра "STORAGE_VERSION" теперь можно задать минимально поддерживаемую версию БД ("ATTACH 'file.db' (STORAGE_VERSION 'v1.2.0');"). Для преобразования нового формата в старый можно использовать SQL-команду COPY, например:
    
       ATTACH 'file1.db';
       ATTACH 'converted_file.db' (STORAGE_VERSION 'v1.0.0');
       COPY FROM DATABASE file1 TO converted_file;
    
  • Добавлена поддержка SQL-команды "ALTER TABLE ... ADD PRIMARY KEY" для добавления первичного ключа к существующей таблице.
  • Убрано ограничение, не позволявшее повторно добавлять идентификаторы, для которых присутствует индекс отслеживания уникальности, если данные идентификаторы были удалены в текущей транзакции. Например, нижеприведённый SQL-код теперь не приводит к ошибке:
    
       CREATE TABLE students (id INTEGER PRIMARY KEY, name VARCHAR);
       INSERT INTO students VALUES (1, 'John Doe');
    
       BEGIN;
          DELETE FROM students WHERE id = 1;
          INSERT INTO students VALUES (1, 'Jane Doe');
    
  • Добавлена поддержка загрузки CSV-файлов в кодировках Latin-1 и UTF-16 (ранее поддерживалась только кодировка UTF-8).
    
       FROM read_csv('cities-latin-1.csv', encoding = 'latin-1');
    
  • Добавлена поддержка использования в CSV-файлах многобайтовых разделителей (до 4 байт), что позволяет указывать emoji в качестве разделителя столбцов.
      
       a🦆b
       hello🦆world
    
       FROM read_csv('example.dsv', sep = '🦆');
    
  • По умолчанию включён строгий режим разбора файлов CSV ("strict_mode = true"), проверяющий соответствие форматирования спецификации RFC 4180. В строгом режиме допускается использование только одного символа для разделения строк, что приведёт к ошибке при попытке разбора файлов, для разделения строк в которых используется не только символ перевода строки, но и символ возврата каретки ("\r\n").
  • В парсере CSV задействован новый алгоритм определения новой строки, поддерживающий распараллеливание операций. Использование нового алгоритма ускорило разбор CSV примерно на 15%.
  • Убрано ограничение на размер строки в CSV файлах (ранее строка не должна была превышать 8 МБ).
  • При экспорте данных в формате Parquet реализована поддержка хэшей (словарей) и индексов на базе фильтра Блума. Реализован метод сжатия DELTA_BINARY_PACKED, позволяющий существенно сократить размер Parquet-файлов.
  • В интерфейс командной строки добавлен безопасный режим, активируемый при помощи опции "-safe" или команды ".safe_mode". В данном режиме разрешается доступ только к изначально указанному файлу БД, а попытка открытия других файлов приведёт к выводу ошибки.
  • В интерфейсе командной строки улучшено автодополнение ввода. Код для автодополнения переведён на использование PEG (Parsing Expression Grammar).
  • При выполнение команд в интерфейсе командной строки реализовано наглядное отображение больших чисел, например, при отображении числа 100000000, будет дополнительно приписано "(100 миллионов)".
  • В SQL добавлена поддержка синтаксиса, при котором сокращённые наименования таблиц и выражений можно указывать до значений на которые они указывают (вместо использования синтаксиса "выражение AS наименование"):
    
       SELECT 
           e1: some_long_and_winding_expression,
           e2: t2.a_column_name 
       FROM
           t1: long_schema.some_long_table_name,
           t2: short_s.tbl;
    
  • В команде "SELECT" реализована поддержка операции "RENAME" для переименования полей, выводимых при указании выражения "*":
    
       SELECT * RENAME (col1 AS new_col1) FROM integers;
    
  • В команде "SELECT" разрешено использование операций "LIKE" и "SIMILAR TO" при выводе через "*" :
    
       SELECT * LIKE 'val%' FROM key_val;
    
  • Повышено качество генерации псевдослучайных чисел.
  • Модернизирован оптимизатор запросов. Производительность при прохождении теста TPC-H SF100 увеличилась на 13%.
  • Предложен новый Си-подобный API для разработки дополнений, который можно использовать, например, для создания новых агрегатных или табличных функций.
  • Добавлена поддержка систем со стандартной Си-библиотекой Musl.

  1. OpenNews: Проект libSQL начал развитие форка СУБД SQLite
  2. OpenNews: Разработчики SQLite развивают бэкенд HC-tree с поддержкой параллельных операций записи
  3. OpenNews: Проекты CBS и sqld развивают облачный и серверный варианты SQLite
  4. OpenNews: Проект Redka развивает реализацию протокола и API Redis поверх SQLite
  5. OpenNews: Google использовал большую языковую модель для выявления уязвимости в SQLite
Обсуждение (40 +8) | Тип: Программы |
·12.02.2025 Для systemd развивается возможность загрузки системных образов по HTTP (195 –5)
  Леннарт Поттеринг (Lennart Poettering) предложил включить в системный менеджер systemd изменение, позволяющие загружать систему с использованием образа корневой ФС, получаемого c внешнего хоста по протоколу HTTP. Изменение сводится к расширению systemd возможностью не только скачивать дисковый образ по HTTP на начальной стадии загрузки, но и распаковывать загруженный образ, связывать с блочным устройством в loopback-режиме, монтировать блочное устройство как /sysroot и загружать с него систему.

Поддержка скачивания дисковых образов во время загрузки системы при помощи systemd-import-generator уже включена в состав systemd 257. Остальная функциональности пока находится на стадии рабочего прототипа, требующего доработки. В реализации пока не поддерживается полный цикл загрузки, но в дальнейшем функциональность планируют довести до загрузки через UEFI HTTP Boot универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd.

URL для загрузки системного образа планируют вычислять на основании URL, заданного для EFI-образа в настройках UEFI HTTP Boot (например, при загрузке через EFI HTTP Boot "http://example.com/somedir/myimage.efi", присутствующий в UKI initrd-обработчик загрузит образ rootfs как "http://example.com/somedir/myimage.raw.xz"). В дальнейшем помимо HTTP в качестве транспорта для получения образа планируется добавить поддержку технологии NVMe-over-TCP, позволяющей обращаться к NVMe-накопителям по сети (NVM Express over Fabrics), используя протокол TCP.

Предполагается, что загрузка с образов, получаемых с внешнего хоста, упростит организацию тестирования современных неизменяемых ("immutable") операционных систем на реальном оборудовании. Разработчик может на своём компьютере сформировать образ с системным окружением утилитой mkosi и сделать его доступным через HTTP командой "mkosi -f serve". На компьютере, на котором требуется протестировать работу системы, достаточно включить в EFI загрузку по HTTP и добавить URL загружаемого образа командой:


   kernel-bootcfg --add-uri=http://192.168.47.11:8081/image.efi --title=testloop --boot-order=0

После чего можно просто перезагрузить компьютер, и он загрузит типовой образ ядра UKI, который затем загрузит подготовленный разработчиком дисковый образ с корневой ФС. До отключения в EFI загрузки по HTTP каждая последующая перезагрузка компьютера будет приводить к загрузке свежего системного образа. При подобном тестировании никак не затрагиваются локальные диски.

  1. OpenNews: Леннарт Поттеринг предложил новую архитектуру верифицированной загрузки Linux
  2. OpenNews: Представлен systemd-homed для управления переносимыми домашними каталогами
  3. OpenNews: Леннарт Поттеринг предложил модернизировать разбивку загрузочных разделов
  4. OpenNews: перезагрузки
  5. OpenNews: Инициатива по сокращению зависимостей у libsystemd
Обсуждение (195 –5) | Тип: К сведению |
·12.02.2025 Выпуск языка программирования Go 1.24 (260 +17)
  После шести месяцев разработки представлен релиз языка программирования Go 1.24, развиваемого компанией Google при участии сообщества. Язык сочетает высокую производительность, свойственную компилируемым языкам, с такими достоинствами скриптовых языков, как простота написания кода, высокая скорость разработки и защита от ошибок. Код проекта распространяется под лицензией BSD.

Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Оберон. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно, без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си.

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

Среди изменений в новом выпуске:

  • Обеспечена полная поддержка обобщённых псеводонимов типов (generic type alias) - псевдоним типа может быть параметризирован, как и впервые определяемый тип (при определении псевдонима типа теперь допускается указание параметров типа).
    
       type set[P comparable] = map[P]bool
    
  • Внесены оптимизации в runtime, которые привели к снижению нагрузки на процессор на 2-3% при проведении типовых тестов производительности. Среди внесённых оптимизаций: новая встроенная реализация операции "map", основанная на использовании хэш-таблиц Swiss Table; повышение эффективности использования памяти при размещении мелких объектов; новая реализация mutex, встроенная в runtime.
  • В команду "go" для Go-модулей добавлен механизм отслеживания исполняемых зависимостей (вспомогательных инструментов, написанных на языке Go и используемых при разработке модуля, например, linter-ов или утилит для форматирования кода). Определение утилит в файле go.mod производится через директиву "tool", для добавления которой в текущий модуль предложена команда "go get -tool" (например, "go get -tool golang.org/x/tools/cmd/stringer"). Для запуска утилиты, указанной в директиве "tool", добавлена команда "go tool имя_утилиты".
  • В команды "go build" и "go install" добавлена опция "-json" для вывода в формате JSON.
  • Добавлена переменная окружения GOAUTH для задания параметров аутентификации, необходимых для извлечения модулей, доступ к которым ограничен.
  • В команде "go vet" реализован новый анализатор тестов (test analyzer), выявляющий типовые ошибки при включении тестов, fuzzing-инструментов, утилит проверки производительности и примеров приложений.
  • В стандартную библиотеку включены реализации криптоалгоритмов, одобренных в стандарте безопасности FIPS 140-3.
  • В пакет testing добавлен метод B.Loop для выполнения тестов производительности. Применение "for b.Loop() { ... }" вместо обычных циклов позволяет исключить выполнение компилятором полной оптимизации тела цикла и вынести из цикла стадии настройки и очистки теста.
  • Добавлен тип os.Root, позволяющий изолировать операции с файловой системой заданным каталогом.
  • В runtime добавлен новый механизм финализации runtime.AddCleanup, более гибкий и эффективный чем runtime.SetFinalizer.
  • Добавлен пакет weak c реализацией слабых указателей, которые не владеют объектом, не увеличивают счётчик ссылок и не препятствуют освобождению объекта.
  • Добавлены пакеты: crypto/mlkem с реализацией криптоалгортимов ML-KEM-768 и ML-KEM-1024 (Kyber), стойких для подбора на квантовом компьютере; crypto/hkdf c реализацией функции формирования ключа на базе HMAC (RFC 5869); crypto/pbkdf2 c реализацией функции формирования ключа на базе пароля (PBKDF2, RFC 8018); crypto/sha3 c реализацией хэшей SHA-3.
  • Добавлен экспериментальный пакет testing/synctest с функциями для тестирования многопоточности.
  • Улучшена поддержка WebAssembly. Добавлена возможность сборки Go-приложений в форме библиотеки или обработчика WASI (WebAssembly System Interface). Реализована директива go:wasmexport для экспорта функций для использования в WebAssembly.
  • В утилиту objdump добавлена поддержка дизассемблирования для архитектур LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64) и S390X (GOARCH=s390x).

  1. OpenNews: Выпуск языка программирования Go 1.23 с поддержкой телеметрии
  2. OpenNews: Лидер проекта Go принял решение покинуть пост
  3. OpenNews: В инструментарий для языка Go добавлена возможность отслеживания уязвимостей в модулях
  4. OpenNews: Оценка популярности открытых лицензий в зависимости от языка программирования
  5. OpenNews: Google намерен добавить телеметрию в инструментарий для языка Go
Обсуждение (260 +17) | Тип: Программы |
·11.02.2025 Опубликован свободный звуковой кодек FLAC 1.5 (216 +37)
  Сообщество Xiph.Org опубликовало обновление свободного звукового кодека FLAC 1.5.0, позволяющего сжимать звук без потери качества. FLAC использует только методы кодирования без отбрасывания данных (lossless), что гарантирует полную сохранность изначального качества звукового потока и его идентичность с эталонным вариантом, подвергнутым кодированию. При этом используемые методы сжатия без потерь позволяют уменьшить размер исходного звукового потока на 50-60%. FLAC является полностью свободным потоковым форматом, подразумевающим не только открытость библиотек с реализацией функций кодирования и декодирования, но и отсутствие ограничений по использованию спецификаций и созданию производных вариантов. Код библиотек распространяется под лицензией BSD.

Среди изменений в новой версии:

  • Обеспечена работа кодировщика в многопоточном режиме. Многопоточный кодировщик можно использовать через libFLAC или через утилиту командной строки flac.
  • Добавлена возможность декодирования связанных (chained) Ogg-файлов, в которых в один файл упаковано несколько независимых аудиопотоков FLAC.
  • В libFLAC, libFLAC++ и metaflac реализована поддержка записи в новый файл при изменении метаданных, вместо перезаписи существующего файла. В libFLAC при изменении метаданных добавлена проверка указания символической ссылки в качестве входного файла и реализована защита от записи в подобные файлы при замене файла по месту.
  • Расширен API библиотек libFLAC и libFLAC++.
  • Адаптирована для многопоточной работы реализация режима LMS (Loose Mid-Side), раздельно кодирующего общую для стерео каналов информацию и разницу между левым и правым каналами.
  • Реализована поддержка компиляции в представление WebAssembly компилятором Emscripten.
  • Спецификация на формат FLAC зафиксирована в RFC 9639.
  • В утилите flac при перекодировании существующего FLAC-файла добавлена проверка совпадения MD5-хэшей. В режиме тестирования "flac -t" теперь разбираются все блоки метаданных и выводятся предупреждения при обнаружении метаданных ID3v1. Улучшена встроенная подсказка по доступным опциям. Документирован формат для хранения внешних метаданных, используемых утилитой flac.
  • Лицензия на документацию GFDL (GNU Free Documentation License) обновлена до версии 1.3 (была версия 1.2).

  1. OpenNews: Формат сжатия FLAC официально закреплён в RFC 9639
  2. OpenNews: Опубликован свободный звуковой кодек FLAC 1.4
  3. OpenNews: Предпринята попытка создания патентного пула для свободного звукового кодека Opus
  4. OpenNews: Разработчики кодека AV1 представили формат IAMF для объёмного звука
  5. OpenNews: Основатель QEMU и FFmpeg опубликовал звуковой кодек TSAC
Обсуждение (216 +37) | Тип: К сведению |
·11.02.2025 Релиз среды рабочего стола KDE Plasma 6.3 (182 +44)
  После четырёх месяцев разработки опубликован релиз среды рабочего стола KDE Plasma 6.3. Для оценки работы новых выпусков KDE можно воспользоваться сборками от проектов KDE Neon и openSUSE (Argon, основанный на openSUSE Leap, и Krypton, основанный на openSUSE Tumbleweed).

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

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


  • В режиме ночной подсветки повышена точность отображения цветов, независимо от использования ICC-профилей. В KWin добавлен параметр для настройки точности отображения цветов.
  • Включена лёгкая прозрачность для виджетов, размещаемых на рабочем столе, и для всплывающих окон элементов панели.
  • В виджете, показывающем список открытых окон в панели (Task Manager), реализована возможность показа обычных текстовых всплывающих подсказок, в случае отключения в настройках показа эскизов содержимого окна.
  • Переработан интерфейс настройки графического планшета - содержимое страницы в конфигураторе разделено на три отдельные вкладки (Display, Pen и Pad). Реализована более привычная матрица калибровки графического планшета. При тестировании работы стилуса показана информация о наклоне и давлении. Добавлена возможность сопоставления поверхности графического планшета со всем экраном. Добавлены настройки диапазона давления стилуса, например, для игнорирования слишком лёгких или слишком сильных касаний. Добавлена опция, выделяющая цветом изменения настроек.


  • Добавлена настройка, автоматически отключающая тачпад при подсоединении мыши.
  • В настройках точки доступа обеспечена генерация случайного пароля для подключения к создаваемой беспроводной сети.
  • В главное меню добавлена новая категория "Help" и удалён раздел с настройками "Settings", который объединён с разделом "System".
  • В меню приложений Kickoff (Application Launcher) переключение категорий теперь производится только при явном щелчке мышью (как в боковых панелях). В настройки добавлена опция для возвращения старого поведения, при котором для переключения категории достаточно наведения курсора мыши.
  • В виджете "Часы" включено отображение всех предстоящих событий сегодняшнего дня, а не только первых пяти.
  • После выхода из режима "не беспокоить", обеспечен показ числа пропущенных уведомлений вместо показа разом всех накопившихся уведомлений.
  • При перемещении мышью файла из окна, частично перекрытого другими окнами, данное окно теперь не переносится на передний план, так как оно может закрыть собой содержимое, куда пользователь пытался переместить файл.
  • В контекстное меню, показываемое при щелчке правой кнопкой мыши на ярлыке с символической ссылкой, добавлена кнопка для показа файла, на который указывает ссылка.
  • В конфигуратор панели, вызываемый через контекстное меню при щелчке правой кнопкой мыши на панели, добавлена кнопка "Clone Panel", позволяющая клонировать выбранную панель, например, для дублирования нижней панели в верхней части экрана.

  • Предоставлена возможность отключения символьных пиктограмм в меню Kickoff, используя редактор меню (приложение KMenuEdit).
  • При попытке редактирования файлов с расширением ".desktop" через меню "Edit Application…" теперь запускается приложение KMenuEdit вместо диалога со свойствами файла.
  • В Widget Explorer предоставлена возможность удаления всех экземпляров виджета, включая те, что потеряны или привязаны к отключённым экранам.
  • При запуске приложений, которым предоставлены полномочия захвата устройств ввода и экрана, теперь выводится уведомление с подсказкой, как отключить захват и вернуть себе управление.
  • Сокращено потребление памяти при хранении большой истории работы с буфером обмена.
  • В конфигураторе на странице с настройками KWin предоставлена возможность временного отключения правил с переопределением атрибутов окон приложений (KWin Window Rules). Ранее для прекращения действия подобных правил их можно было только удалить.
  • В виджете "Power and Battery" реализован вывод уведомления о низком заряде аккумулятора беспроводных наушников, предоставляющих корректную информацию о состоянии аккумулятора.
  • В приложении System Monitor повышена точность отслеживания нагрузки на CPU, а также снижено потребление ресурсов при работе данного приложения. Добавлена поддержка сбора статистики о работе GPU во FreeBSD. В центре информации о системе (Info Center) предоставлены дополнительные сведения о всех GPU и показаны счётчики циклов зарядки аккумуляторов.
  • Упрощено отслеживание состояния принтеров - в виджете для каждого принтера теперь показывается очередь печати и индикатор, указывающий через какой принтер в данный момент осуществляется вывод на печать.
  • Добавлен сервис, определяющий, когда ядро принудительно завершает приложение из-за нехватки памяти в системе, и выводящий соответствующее уведомление.
  • В менеджере приложений Discover разбивка на больших экранах ограничена двумя столбцами. Обеспечено выделение цветом изменений полномочий в новых версиях программ. Специальными индикаторами выделены пакеты, подготовленные разработчиками основного проекта или верифицированные уполномоченным лицом.
  • В KRunner добавлена возможность переключения между категориями при помощи комбинаций клавиш Page Up/Page Down и Ctrl+Up/Ctrl+Down. В полях поиска на базе KRunner доступна возможность преобразования единиц измерения длины.

  1. OpenNews: Превращение сборки Fedora c KDE в базовую редакцию дистрибутива
  2. OpenNews: Выпуск KDE Gear 24.12, набора приложений от проекта KDE
  3. OpenNews: Проект KDE развивает собственный дистрибутив KDE Linux
  4. OpenNews: Релиз среды рабочего стола KDE Plasma 6.2
  5. OpenNews: Релиз десктоп-окружения Trinity R14.1.3, продолжающего развитие KDE 3.5
Обсуждение (182 +44) | Тип: Программы |
·10.02.2025 Опубликована распределённая СУБД Citus 13.0 (58 +9)
  Компания Citus Data, принадлежащая Microsoft, опубликовала распределённую СУБД Citus 13.0, реализованную в форме расширения к PostgreSQL 17. Citus обеспечивает горизонтальное масштабирование PostgreSQL в кластере на базе типового оборудования и позволяет разносить данные по узлам при помощи шардинга (sharding) с настройкой разделения на уровне столбцов и схемы хранения. Для приложений кластер Citus выглядит как один большой сервер PostgreSQL, объединяющий ресурсы образующих его узлов. Код написан на языке Си и распространяется под лицензией AGPLv3.

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

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

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

Изменения в выпуске Citus 13.0:

  • Переход на использование ветки PostgreSQL 17.
  • Возможность использования в распределённых запросах функции JSON_TABLE() для преобразования данных из формата JSON в реляционное представление, с которым можно работать как с обычными таблицами PostgreSQL.
  • Поддержка синтаксиса "MERGE ... WHEN NOT MATCHED BY SOURCE".
  • Возможность определения метода доступа для распределённых секционированных таблиц при помощи выражения "CREATE TABLE ... USING", а также изменения метода доступа через "ALTER TABLE ... SET ACCESS METHOD".
  • Добавлена поддержка указания в распределённых секционированных таблицах автоматически генерируемых столбцов идентификации.
  • Разрешено применение ограничений-исключений в распределённых секционированных таблицах.
  • Решены проблемы с синхронизацией ролей между узлами.
  • Улучшено распределение данных для шардинга при добавлении новых узлов в кластер.
  • В команду "EXPLAIN" добавлены опции "MEMORY" и "SERIALIZE", при помощи которых можно определить размер использованной памяти и время, потраченное на преобразование данных для передачи по сети.

  1. OpenNews: Microsoft поглотил компанию Citus, развивающую СУБД на базе PostgreSQL
  2. OpenNews: Доступны IvorySQL 4.0 и SynchDB 1.0, надстройки к PostgreSQL для взаимодействия с другими СУБД
  3. OpenNews: Проект Cloudberry, развивающий форк СУБД Greenplum, принят в инкубатор Apache
  4. OpenNews: Microsoft открыл код СУБД DocumentDB, основанной на PostgreSQL
  5. OpenNews: Релиз открытой СУБД VoltDB 3.0, развиваемой одним из основателей Ingres и PostgreSQL
Обсуждение (58 +9) | Тип: Программы |
·09.02.2025 Первый выпуск платформы виртуализации SEAPATH (82 +19)
  После пяти лет разработки организация Linux Foundation представила релиз платформы виртуализации SEAPATH 1.0, разработанной с учётом требований к информационным системам для цифровых подстанций в энергосетях. Платформа учитывает специфику энергосетей, но может применяться и в других областях, в которых требуется высокая надёжность. Код платформы опубликован под лицензией Apache 2.0. Выпуск SEAPATH 1.0 признан готовым для промышленного применения и использования в критически важных системах (mission-critical). Платформа уже задействована в рабочей инфраструктуре энергетической компании RTE и проходит тестовое внедрение в компаниях GE Vernova, Alliander, ABB, Red Hat и Enedis. В разработке платформы принимают участие компании RTE, Alliander, GE Vernova, Savoir-faire Linux, Welotec и Red Hat.

Для мониторинга, автоматизации, сопровождения и управления распределением энергопотоков на цифровых подстанциях в современных энергосетях задействованы специализированные приложения от различных поставщиков, которые предлагается запускать в отдельных изолированных виртуальных машинах. SEAPATH реализует платформу для организации работы подобных виртуальных машин, виртуализированные приложения (vPAC - Virtualized Protection, Automation and Control) в которых могут выполняться в режиме реального времени.

Для развёртывания узлов с хост-окружением SEAPATH предоставляется два дистрибутива на базе Debian GNU/Linux 12 и Yocto Scarthgap. Платформа не привязана к какому-то определённому оборудованию, не зависит от отдельных поставщиков и может использоваться на различных типах серверов и аппаратных архитектур. Допускается выполнение приложений для электроподстанций, поддерживающих стандарт МЭК-61850.

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

Платформа построена с использованием уже существующих открытых проектов, для проверки надёжности которых подготовлен тестовый набор, включающий более 700 unit-тестов. Виртуализация реализована с использованием гипервизора KVM и ядра Linux, собранного с опцией PREEMPT_RT для работы в режиме реального времени. В качестве распределённого хранилища, охватывающего весь кластер, используется Ceph. Для виртуализации устройств применяется QEMU, а для виртуализации сети - Open vSwitch. Для управления виртуальными окружениями задействован инструментарий Libvirt. Для управления ресурсами в кластере, обеспечения отказоустойчивости и организации взаимодействия между узлами применяются Pacemaker и Corosync. Централизованное управление инфраструктурой и оркестровка виртуальных машин реализована при помощи Ansible.

  1. OpenNews: Открыт код реализации протокола DNP3, который будет развиваться сообществом Total Grid
  2. OpenNews: Компания Siemens выпустила гипервизор Jailhouse 0.12
  3. OpenNews: Linux Foundation развивает новый гипервизор ACRN для встраиваемых устройств
  4. OpenNews: Microsoft открыл код гипервизора OpenVMM и платформы паравиртуализации OpenHCL
  5. OpenNews: Для процессоров MIPS представлен первый открытый гипервизор
Обсуждение (82 +19) | Тип: Программы |
·08.02.2025 Проект TuxTape для развёртывания инфраструктуры live-патчей к ядру Linux (64 +13)
  Страховая компания GEICO опубликовала предварительный выпуск инструментария TuxTape, позволяющего развернуть собственную инфраструктуру для создания, сборки и доставки live-патчей для ядра Linux. Live-патчи позволяет применять исправления к ядру Linux на лету, без перезагрузки и остановки системы. Код проекта написан на языке Rust и распространяется под лицензией Apache 2.0.

Live-патчи с устранением уязвимостей предоставляют для своих дистрибутивов такие компании, как Red Hat, Oracle, Canonical и SUSE, но открытым у них является лишь низкоуровневый инструментарий для работы с патчами, а сами патчи формируются за закрытыми дверями. Дистрибутивы Gentoo и Debian пытались развивать открытые проекты elivepatch и linux-livepatching, но первый уже 6 лет находится в заброшенном состоянии, а второй затормозил на стадии создания тестового прототипа.

TuxTape нацелен на организацию работы собственной системы для создания и доставки live-патчей, не зависящей от сторонних поставщиков и адаптируемой для любых ядер Linux, а не только для пакетов с ядром конкретных дистрибутивов. TuxTape может формировать live-патчи, совместимые с инструментарием kpatch, разработанным компанией Red Hat (помимо kpatch существуют похожие инструменты: kGraft от SUSE, Ksplice от Oracle и универсальный livepatch). Патчи формируются в виде загружаемых модулей ядра, которые заменяют функции в ядре, используя подсистему ftrace для перенаправления на новые функции, включённые в модуль.

TuxTape может отслеживать информацию об исправлении уязвимостей в ядре Linux, публикуемую в списке рассылки linux-cve-announce и в Git-репозитории, ранжировать уязвимости по степени опасности, определять применимость к обслуживаемым ядрам Linux и генерировать live-патчи на основе обычных патчей к LTS-веткам ядра. Применимость исходных патчей оценивается через профилирование сборок ядра. Патчи с не затрагивающими целевое ядро уязвимостями игнорируются.

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

Разработка находится на стадии экспериментального прототипа. Для начального тестирована предложены: tuxtape-cve-parser для разбора информации об уязвимостях и построения БД с патчами; tuxtape-server c реализацией интерфейса gRPC для сервисов генерирующих патчи; tuxtape-kernel-builder для сборки ядра в заданной конфигурации и формирования профиля сборки; tuxtape-dashboard - консольный интерфейс для рецензирования и создания live-патчей на основе исходных патчей, полученных из tuxtape-server.

  1. OpenNews: Компания Red Hat открыла код kpatch для организации обновления на лету ядра Linux
  2. OpenNews: Компания SUSE открыла код kGraft, системы для обновления ядра Linux без перезагрузки
  3. OpenNews: Для ядра Linux предложен livepatch, механизм обновления без перезагрузки
  4. OpenNews: Red Hat и SUSE объединили усилия в продвижении механизмов обновления ядра без перезагрузки
  5. OpenNews: Oracle поглотил компанию Ksplice, развивающую технологию обновления Linux-ядра без перезагрузки
Обсуждение (64 +13) | Тип: Программы |
·08.02.2025 Выпуск компилятора ISPC 1.26, развиваемого Intel для языка Си с расширениями SPMD (32 +10)
  Компания Intel опубликовала компилятор ISPC 1.26 (Implicit SPMD Program Compiler), предназначенный для сборки кода на языке Си с расширениями параллельного программирования SPMD (Single Program, Multiple Data), позволяющими добиться параллельного выполнения нескольких экземпляров одной программы с разными наборами входных данных. Код проекта написан на языке С++ и распространяется под лицензией BSD. Поддерживается работа в Linux, Windows, macOS и FreeBSD.

Си-программы с расширениями SPMD компилируются для выполнения на вычислительных блоках SIMD, предоставляемых CPU и GPU, что позволяет задействовать механизмы векторизации SIMD без низкоуровневых оптимизаций и явного применения в коде SIMD-инструкций. Для написания распараллеливаемых функций используется привычный синтаксис и идиомы языка Си - SPMD-функции напрямую взаимодействуют с функциями и структурами, написанными на C/C++. Для отладки программ могут применяться существующие отладчики.

В качестве бэкенда для генерации кода и оптимизации в ISPC используется инфраструктура LLVM. Поддерживаются векторные инструкции x86 (SSE2, SSE4, AVX, AVX2, AVX512) и ARM (NEON), а также вынос вычислений на сторону GPU (Intel Gen9 и Xe). На архитектурах с векторными блоками SSE, обрабатывающими по 4 элемента за раз, применение ISPC даёт возможность добиться ускорения выполнения программы в 3 или более раз, а на архитектурах с векторными блоками AVX, обрабатывающими по 8 элементов за раз, ускорение может достигать 5-6 раз. При этом помимо размера векторного блока, масштабирование также обеспечивается за счёт выполнения на разных процессорных ядрах.

Основные новшества, добавленные в версии ISPC 1.26:

  • Улучшена поддержка архитектуры ARM:
    • Изменено поведение флага "--arch=arm", который теперь связан с архитектурой ARMv8 (32-bit), а не ARMv7 (для ARMv8 в 64-разрядном режиме как и раньше следует использовать флаг "--arch=aarch64").
    • Прекращена поддержка процессоров ARMv7 Cortex-a9 и Cortex-a15.
    • Добавлена поддержка процессоров Cortex-a55, Cortex-a78, Cortex-a510, Cortex-a520, а также новых ARM-процессоров Apple.
    • Добавлены новые сборочные цели: neon-i16x16 и neon-i8x32.
    • Добавлена поддержка операций на базе векторных инструкций ARM SDOT и UDOT.
    • Проведена оптимизация, производительность для ARMv8 в среднем увеличилась на 13%.
  • Добавлен новый вид сборочных целей - "generic", позволивший оптимизировать внутреннюю архитектуру компилятора и упростить добавление новых сборочных целей. Идея в том, чтобы поддерживать базовые цели для специфичных аппаратных возможностей, поверх которых легко можно создавать цели с частными оптимизациями. На использование generic-целей переведена поддержка архитектуры ARM.
  • В генераторе кода проведена корректировка развёртывания циклов и функций для сокращения размера результирующего кода в режиме оптимизации "-O1". Улучшена генерация кода для встроенных функций count_leading_zeros и count_trailing_zeros, а также при возвращении структур из функций и при сохранении или загрузки данных с типами int8/int16.
  • Расширена поддержка встроенных функций (intrinsics) LLVM, активируемая при указании флага "--enable-llvm-intrinsics".
  • Инструментарий LLVM обновлён до версии 18.1.8 с патчами. Добавлен макрос для определения используемой в ISPC версии LLVM.
  • Разрешено применение атрибута "__attribute__((deprecated))" к функциям для вывода предупреждения при вызове функции.
  • Удалена сборочная цель avx512knl-x16 (KNL).
  • Добавлена опция "--darwin-version-min" для указания минимально поддерживаемой версии целевой платформы для macOS и iOS.

  1. OpenNews: Выпуск компилятора ISPC 1.25, развиваемого Intel для языка Си с расширениями SPMD
  2. OpenNews: Доступен Vcc, C/C++ компилятор для Vulkan
  3. OpenNews: Cheerp 3.0, компилятор C/C++ в JavaScript, переведён на лицензии Apache 2.0 и LLVM
  4. OpenNews: Intel представил nGraph, компилятор для систем машинного обучения
  5. OpenNews: Linux ядро адаптировано для сборки компилятором Intel C/C++
Обсуждение (32 +10) | Тип: Программы |
·07.02.2025 Доступен офисный пакет ONLYOFFICE 8.3 (163 +16)
  Опубликован выпуск ONLYOFFICE DocumentServer 8.3 с реализацией сервера для online-редакторов ONLYOFFICE и организации совместной работы. Редакторы можно использовать для работы с текстовыми документами, таблицами и презентациями. Код проекта распространяется под свободной лицензией AGPLv3.

Одновременно сформирован выпуск продукта ONLYOFFICE DesktopEditors 8.3, построенного на единой кодовой базе с online-редакторами. Десктоп-редакторы оформлены в виде приложений для рабочего стола, которые написаны на JavaScript с использованием web-технологий, но объединяют в одном наборе клиентские и серверные компоненты, оформленные для самодостаточного использования на локальной системе пользователя, без обращения к внешнему сервису. Для совместной работы на своих мощностях также можно использовать платформу Nextcloud Hub, в которой обеспечена полная интеграция с ONLYOFFICE. Готовые сборки сформированы для Linux, Windows и macOS.

В ONLYOFFICE заявлена полная совместимость с форматами MS Office и OpenDocument. Среди поддерживаемых форматов: DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP. Предусмотрена возможность расширения функциональности редакторов через плагины, например, доступны плагины для создания шаблонов и добавления видео с YouTube. Готовые сборки сформированы для Windows и Linux (deb- и rpm-пакеты).

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

  • Добавлена поддержка файлов в форматах ".hwp" и ".hwpx", применяемых в пакете Hancom Office, а также форматов ".pages", ".key" (keynote) и ".numbers", используемых в Apple iWork. Указанные форматы теперь можно просмотреть в ONLYOFFICE. При необходимости сохранить изменения содержимое конвертируется в формат OOXML (DOCX, PPTX, XLSX).
  • Изменения в редакторе PDF-документов:
    • Добавлена поддержка выставления печатей, которые можно использовать для визирования или согласования документов, добавляя соответствующие метки.
    • В сеансе совместной работы над документом нескольких участников предоставлена возможность отмены внесённых изменений (undo).
    • Добавлена возможность выделения сразу нескольких страниц в боковой панели, например, для их удаления или переноса. Для выделения диапазона страниц следует использовать клавишу Shift, для добавления или удаления из числа выделенных - Ctrl.
    • Добавлена контекстная панель для редактирования аннотаций, позволяющая быстро изменить цвет, добавить комментарий или удалить аннотацию.
    • Добавлена возможность настройки уровня прозрачности при добавлении или редактировании аннотаций.
  • Изменения в табличном процессоре:
    • Реализована возможность отката действий (undo) при совместной работе над электронной таблицей нескольких участников.
    • Добавлена поддержка автоматического обновления данных, получаемых из привязанного внешнего источника.
    • Добавлена поддержка автозаполнения дней, дней недели, месяцев и лет в ячейках.
    • Добавлена поддержка открытия и сохранения вычисленных значений в сводных таблицах (Pivot Table).
    • В интерфейс выбора функций добавлена подсказка с описанием аргументов функций.
    • В диалоге открытия данных в формате CSV реализовано автоматическое определение символа-разделителя на основе содержимого текстового файла.
    • Добавлены опции для управления показом горизонтальных и вертикальных полос прокрутки.
  • Изменения в редакторе презентаций:
    • Добавлена новая вкладка "Design", предоставляющая инструменты для применения стилей, изменения цветовой схемы и корректировки размера слайда.
    • Предоставлена возможность рисования поверх слайда при нахождении в режиме слайд-шоу или презентации при помощи инструментов "ручка" и "маркер".
    • В панель быстрого доступа добавлена опция для показа с самого начала.
    • В режим слайдшоу добавлены кнопки для изменения режима курсора (перемещение/выделение).
  • Добавлено контекстное меню для управления окнами и вкладками, предоставляющее такие операции как закрытие, закрепление, перемещение вкладки в начало/конец, преобразование вкладки в окно и наоборот.
  • Во все редакторы добавлена операция слияния фигур (Merge shapes), поддерживающая режимы объединения, комбинирования, дробления, исключения и пересечения.
  • В редакторе документов расширены возможности, связанные с поддержкой языков, в которых набор текста производится справа-налево (RTL).
  • Добавлена поддержка объединения или сравнения текстовых документов на уровне слов или отдельных символов.
  • Улучшена работа с защищёнными текстовыми документами.
  • В правую панель и контекстное меню добавлена операция для сброса кадрирования изображений.

  1. OpenNews: Доступен офисный пакет ONLYOFFICE 8.2
  2. OpenNews: Четыре уязвимости в Apache OpenOffice
  3. OpenNews: Выпуск офисного пакета LibreOffice 25.2
Обсуждение (163 +16) | Тип: Программы |
·07.02.2025 Кризис в продвижении Rust в ядро из-за опасений усложнения сопровождения (657 +79)
  Кристоф Хелвиг (Christoph Hellwig), мэйнтейнер подсистем DMA, KVM, Slab Allocator и архитектуры PowerPC в ядре Linux, в своё время входивший в управляющий технический комитет организации Linux Foundation и выступавший истцом в связанном с GPL судебном разбирательстве с VMware, отказался подтверждать патчи, связанные с поддержкой разработки драйверов на языке Rust. Предложенные патчи добавляли обвязки над несколькими функциями подсистемы DMA, позволяющие использовать DMA в драйверах на языке Rust.

В качестве причины отказа упомянуто усложнение сопровождения кода при наличии обвязок на других языках и желание сохранить программные интерфейсы к DMA в читаемом виде на языке Си, без размазывания по непонятным обвязкам. Кристоф предложил напрямую обращаться к исходному Си API DMA в каждом драйвере на языке Rust, чтобы не создавать дополнительных абстракций, от которых вынуждены будут зависеть сопровождающие ядра.

Разработчики патчей указали, что они возьмут на себя всю работу по сопровождению кода на Rust, готовы сопровождать эти патчи самостоятельно и вынесли обвязки в отдельный подкаталог (rust/kernel/dma.rs). В ответ Кристоф наложил вето ("Nacked-by") на приём связанных с Rust патчей и указал, что ему не нужен ещё один сопровождающий. Кристоф заявил, что если разработчики обвязок хотят добиться невозможности сопровождения Linux из-за смешивания нескольких языков в одной кодовой базе, им следует делать это в своём драйвере, а не распространять эту раковую опухоль на основные подсистемы ядра.

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

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

Ситуация с усложнением сопровождения не умозрительная. К дискуссии подключился Джейсон Ганторп (Jason Gunthorpe), мэйнтейнер TPM, VFIO и Infiniband из компании NVIDIA, который привёл пример отклонения Линусом Торвальдсом pull-запроса с изменениями в подсистеме управления памятью, так как данное изменение приводило к сбою при попытке сборки ядра с включением поддержки Rust. Сбой возник из-за того, что сопровождающие код на Rust не добавили необходимые изменения в генератор обвязок (bindgen). Таким образом, сопровождающие подсистему управления памятью при продвижении изменения, полностью корректного с точки зрения кода на Си и ядра в целом, оказались зависимы от опционального стороннего кода в ядре, за который отвечают другие люди.

Отказ принимать код обвязки над вызовами DMA поставил разработчиков проекта Rust for Linux в тупик, так как без подобных обвязок разработка полноценных драйверов на языке Rust будет затруднена. Гектор Мартин (Hector Martin), мэйнтейнер кода для поддержи ARM-чипов Apple и лидер проекта Asahi Linux, в качестве варианта разрешения конфликта предложил добиться принятия обвязки напрямую через Линуса Торвальдса, в обход сопровождающего подсистему DMA. Если Линус согласится на подобное нарушение субординации и сложившейся практики, это может привести к кризису управления разработкой ядра, а если откажется - остановит продвижение Rust в ядро.

Как вариант, Гектор упомянул привлечение Кристофа к ответственности за нарушение кодекса поведения из-за комментария, в котором Кристоф сравнил Rust с раковой опухолью. Кроме того, Гектор написал, что устал от всех бюрократических проволочек, не готов просто довериться сложившимся процессам и намекнул на привлечение внимания к проблеме в социальных сетях. Дэйв Эйрли (Dave Airlie), мэйнтейнер подсистемы DRM, посоветовал не раздувать конфликт и понять, что токсичное поведение недопустимо с обеих сторон, независимо от того, прав или не прав участник дискуссии.

К обсуждению подключился Линус Торвальдс, который указал, что проблема возможно в самом Гекторе и его самоуверенности в том, что он знает что-то лучше других, а не в текущем процессе разработки ядра, который работает. У процесса разработки ядра есть проблемы, но это жизненная реальность - в жизни нет ничего идеального. Попытки травли через социальные сети - это то, что отбивает желание у Линуса иметь что-либо общее с подходом Гектора. Значение для Линуса имеют технические обсуждения и патчи, а не оказание давления через социальные сети.

В ответ Гектор отправил запрос на удаление себя из числа сопровождающих платформу ARM/Apple, так как он потерял веру в применяемый в ядре процесс разработки и подход к управлению сообществом. Он также заявил, что разработка платформы ARM/Apple будет продолжена вне основного ядра Linux. У платформы ARM/Apple в ядре остался ещё один мэйнтейнер - Свен Питер (Sven Peter), который намерен продолжить поддержание платформы в ядре своими силами.

  1. OpenNews: Предложение по блокировке драйверов-прослоек, предоставляющих доступ к GPL-вызовам ядра Linux
  2. OpenNews: Автора BcacheFS временно отстранили от разработки ядра Linux из-за нарушения кодекса поведения
  3. OpenNews: Продвижение кода на языке Rust в ядро Linux происходит медленнее, чем ожидалось
  4. OpenNews: Препятствия при продвижении Rust в ядро Linux
  5. OpenNews: Проект Asterinas развивает ядро на языке Rust, совместимое с Linux
Обсуждение (657 +79) | Тип: Тема для размышления | Интересно
·06.02.2025 Началось производство чипов на базе открытой платформы OpenTitan (99 +20)
  Компания Google после шести лет работы над проектом объявила о начале производства чипа, построенного на базе открытой платформы OpenTitan. Чип выпускается компанией Nuvoton и отмечен как первая реализация OpenTitan, готовая для использования в рабочих проектах. В настоящее время для тестирования выпущена пробная партия, а запуск массового производства намечен на весну этого года.

OpenTitan представляет собой платформу для создания заслуживающих доверия аппаратных компонентов (RoT, Root of Trust), применяемых там, где нужно гарантировать целостное состояние аппаратных и программных элементов системы. Например, для того, чтобы удостоверить, что критически важные части системы не были подменены и основываются на проверенном и авторизированном производителем коде. Проект предоставляет готовый, проверенный и надёжный каркас, позволяющий повысить доверие к создаваемым решениям и снизить издержки при разработке специализированных чипов для обеспечения безопасности.

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

OpenTitan включает логические блоки, востребованные в RoT-чипах, такие как открытый микропроцессор на базе архитектуры RISC-V (RV32IMCB Ibex), криптографические сопроцессоры, аппаратный генератор случайных чисел, менеджер ключей с поддержкой DICE, механизм защищённого хранения данных в постоянной и оперативной памяти, технологии защиты, блоки ввода/вывода и компоненты безопасной загрузки. Устройство также предоставляет блоки с реализацией типовых алгоритмов шифрования, таких как AES и HMAC-SHA256, и ускоритель математических операций, применяемых в алгоритмах для работы с цифровыми подписями на базе открытых ключей.

Проект основан компанией Google, но передан некоммерческой организации lowRISC, после чего к его разработке присоединились такие компании, как Western Digital, Seagate, Nuvoton Technology, Winbond, Rivos, zeroRISC и G+D Mobile Security. Связанный с проектом код и спецификации аппаратных компонентов опубликованы под лицензией Apache 2.0. В основу решений, применяемых в OpenTitan, заложены технологии уже используемые в криптографических USB-токенах Google Titan и TPM-чипах для обеспечения верифицированной загрузки, устанавливаемых на серверах в инфраструктуре Google, а также на устройствах Chromebook и Pixel.

В отличие от существующих реализаций Root of Trust, OpenTitan развивается в соответствии с концепцией "безопасность через прозрачность", подразумевающей доступность кода и схем, а также применение полностью открытого процесса разработки, не привязанного к конкретным поставщикам и производителям чипов. OpenTitan стал первой выпущенной на рынок открытой реализацией Root of Trust, в которой имеется поддержка постквантового механизма безопасной загрузки, основанного на использовании алгоритма формирования цифровых подписей SLH-DSA (Sphincs+), стойкого от подбора на квантовых компьютерах.

  1. OpenNews: Google представил проект Open Se Cura для создания защищённых программно-аппаратных систем
  2. OpenNews: Представлена платформа Precursor для создания свободных мобильных устройств
  3. OpenNews: Первая открытая реализация анклава для аппаратно изолированных окружений
  4. OpenNews: Google открыл код защищённой операционной системы KataOS
  5. OpenNews: Проект TFC развивает параноидально защищённую систему обмена сообщениями
Обсуждение (99 +20) | Тип: К сведению |
·06.02.2025 Уязвимости в беспроводных маршрутизаторах Zyxel, D-Link и Netgear (43 +22)
  Несколько уязвимостей в беспроводных маршрутизаторах Zyxel, D-Link и Netgear, позволяющих получить удалённый доступ к устройству без аутентификации.
  • В беспроводных маршрутизаторах Zyxel выявлено (CVE-2025-0890) наличие учётных записей с предопределёнными паролями, позволяющих получить доступ к устройству. Анализ прошивки показал, что в файле /etc/default.cfg предопределены учётные записи supervisor:zyad1234, admin:1234 и zyuser:1234. Кроме того, на устройствах выявлены уязвимости (CVE-2024-40890, CVE-2024-40891), позволяющие осуществить подстановку системных команд при отправке специально оформленного POST-запроса к CGI-скриптам в web-интерфейсе или при запуске операций, предоставляемых через telnet. Производитель предоставляет через telnet ограниченный доступ, позволяющий выполнять лишь отдельные операции, такие как ping и tftp.

    Выставленные ограничения оказалось можно обойти и получить полный shell-доступ с правами root, выполнив, например, "tftp -h || sh". Комбинация указанных проблем, даёт возможность удалённому неаутентифицированному атакующему подключиться к устройству по протоколу telnet или через web-интерфейс и выполнить свой код с правами root. В сети уже зафиксировано использования данных уязвимостей для установки на устройства вредоносного ПО Mirai.

    Уязвимость затрагивает модели устройств VMG1312-B10*, VMG3313-B10A, VMG3926-B10B, VMG4325-B10A, VMG4380-B10A, VMG8324-B10A, VMG8924-B10A, SBG3300 и SBG3500. Компания Zyxel сообщила, что не собирается выпускать обновление прошивки для устранения выявленных проблем, так как время сопровождения данных устройств истекло. Кроме того, утверждается, что доступ к web-интерфейсу и telnet на проблемных устройствах по умолчанию отключён для обращений из внешней сети. При этом выявившие уязвимость исследователи смогли при помощи сервисов FOFA и Censys найти около 1500 уязвимых устройств, принимающих запросы через telnet из внешней сети.

  • В беспроводных маршрутизаторах D-Link серии DSL-3788 выявлена уязвимость (CVE-2024-57440), позволяющая без прохождения аутентификации удалённо выполнить код на устройстве. Для совершения атаки достаточно отправить на запрос к CGI-скрипту webproc с указанием в поле sessionid слишком большого значения, приводящего к переполнению буфера. Проблема вызвана отсутствием проверки размера входных данных в функции COMM_MakeCustomMsg. Компания D-Link устранила проблему в обновлении прошивки 1.01R1B037
  • В беспроводных маршрутизаторах Netgear выявлены две уязвимости. Первая уязвимость затрагивает модели Netgear XR1000, XR1000v2 и XR500, и позволяет без прохождения аутентификации удалённо выполнить код на устройстве. Вторая уязвимость проявляется в моделях Netgear WAX206, WAX220 и WAX214v2, и даёт возможность получить доступ к устройству в обход процесса аутентификации. Детали об эксплуатации уязвимостей пока не раскрываются. Уязвимости устранены в февральских обновлениях прошивок.

    1. OpenNews: Бэкдор в маршрутизаторах D-Link, включающий telnet-доступ
    2. OpenNews: Уязвимость в Zyxel LTE3301-M209, допускающая доступ через предопределённый пароль
    3. OpenNews: Уязвимости в межсетевых экранах Zyxel, позволяющие выполнить код на устройстве
    4. OpenNews: Уязвимости в маршрутизаторах Netgear и D-Link, приводящие к удалённому выполнению кода
    5. OpenNews: Уязвимости в сетевых устройствах Juniper, ASUS, D-Link, Tenda и NETGEAR
Обсуждение (43 +22) | Тип: Проблемы безопасности |
Следующая страница (раньше) >>



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

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