The OpenNET Project / Index page

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

·25.09 Релиз СУБД PostgreSQL 18 (28 +11)
  После года разработки опубликована новая стабильная ветка СУБД PostgreSQL 18. Обновления для новой ветки будут выходить в течение пяти лет до ноября 2030 года. Поддержка PostgreSQL 13.x, самой старой из поддерживаемых веток, будет прекращена 13 ноября.

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

  • Добавлена подсистема асинхронного ввода/вывода, позволяющая увеличить пропускную способность ввода/вывода и избавиться от задержек. Помимо доступной на всех платформах универсальной реализации AIO (io_method=worker), основанной на выполнении нескольких процессов-обработчиков (по умолчанию 3), в Linux может применяться интерфейс асинхронного ввода/вывода io_uring (io_method=io_uring), поддерживаемый начиная с ядра Linux 5.1. Асинхронный ввод/вывод пока задействован только для ускорения выполнения некоторых операций, связанных с чтением данных из файловой системы, таких как последовательный перебор, сканирование битовой карты индексов и проведение чистки (vacuum). В некоторых тестах применение AIO приводит к увеличению производительности в 2-3 раза. Операции записи продолжают выполняться в синхронном режиме для достижения требований ACID.
  • Реализована оптимизация "skip scan" в многостолбцовых индексах, благодаря которой индекс может использоваться не только для проверки первого проиндексированного столбца и полной связки столбцов, но и для обработки по отдельности остальных проиндексированных столбцов. Например, ранее при создании B-tree индекса над столбцами "(status, date)" индекс применялся только для запросов, проверяющих поле "status" или оба поля "status" и "date", а при проверке в запросе только поля "date" выполнялось сканирование содержимого таблицы. Режим "skip scan" позволяет в определённых ситуациях сканировать индекс при запросе только поля "date". Режим применяется только для индексов "B-tree" при использовании в запросе условного оператора "=" над индексированным полем, в ситуациях, когда пропущенное поле имеет небольшое количество различных значений (например, оптимизация сработает, если поле статус "status" имеет несколько фиксированных значений).
  • Добавлены оптимизации, более эффективно использующие индексы для запросов, содержащих конструкции "OR" и "IN (...)" в блоке "WHERE", а также повышающие производительность планирования и выполнения объединения таблиц (например, ускорен код слияние хэшей и разрешено использовать инкрементальную сортировку при слиянии таблиц).
  • Добавлена поддержка распараллеливания построения индексов GIN (Generalized Inverted Index), применяемых для индексации составных значений, таких как массивы, и организации поиска по полнотекстовым данным или структурам JSON.
  • Добавлена возможность создания материализованных представлений и ключей для секционирования таблиц с индексами с признаком "unique", не использующими структуру B-tree.
  • Повышена общая производительность блокировок для запросов, работающих с большим количеством таблиц, а также внесены улучшения в обработку запросов к секционированным таблицам, ускоряющие отсеивание не используемых секций и операции слияния (JOIN).
  • Ускорены операции с текстом, такие как функции приведения в верхний/нижний регистр. Добавлен режим PG_UNICODE_FAST для ускорения учёта свойств локали Unicode-символов.
  • Реализована возможность сохранения статистики планировщика запросов после обновления между значительными релизами PostgreSQL. Изменение позволяет избежать выполнения ресурсоёмкой операции "ANALYZE" после запуска новой версии, до завершения которой наблюдается проседание производительности СУБД.
  • Повышена производительность утилиты pg_upgrade, применяемой для автоматизации перехода на новый значительный выпуск PostgreSQL. Оптимизации особенно заметны при обновлении БД, содержащих большое число объектов, таких как таблицы и последовательности. Для ускорения работы pg_upgrade также добавлен флаг "--jobs N" для распараллеливания проверок в N потоков и флаг "--swap" для замены каталогов с данными целиком без выставления ссылок, без клонирования и без копирования файлов.
  • Добавлена поддержка виртуальных генерируемых столбцов, значение которых вычисляется на лету в процессе выполнения запросов, без сохранения на диск. Если в выражении "CREATE TABLE..." для генерируемых столбцов указано только ключевое слово "GENERATED" без уточнения типа (STORED или VIRTUAL), то новый вариант применяется по умолчанию вместо старой реализации. В старой реализации значения генерировались во время выполнения операций "INSERT" или "UPDATE" и сохранялись на диск для последующего использования. Недостатком виртуальных генерируемых столбцов является невозможность использования их в индексах, а достоинством - возможность выполнять нормализацию и изменение данных на лету (актуально при работе с данными JSON). Что касается классических хранимых генерируемых столбцов, то в новом выпуске для них обеспечена поддержка логической репликации.
  • В командах INSERT, UPDATE, DELETE и MERGE реализована возможность вывода прошлых (OLD) и текущих (CURRENT) значений в выражении RETURNING. Например, "UPDATE... RETURNING WITH (OLD AS o, NEW AS n) o.*, n.*.".
  • Добавлена функция uuidv7() для генерации случайных уникальных идентификаторов в формате UUIDv7. В отличие от старой функции для генерации UUID (gen_random_uuid), которая теперь дополнительно доступна под именем uuidv4(), в UUIDv7 помимо случайного значения включается время генерации. Наличие упорядоченных частей в значении UUID (первые 12 символов - эпохальное время, а последующие 18 - случайное значение) повышает эффективность сортировки и индексирования, что актуально так как UUID обычно используются для первичных ключей (например, ключи, созданные в близкое время размещаются рядом друг с другом в индексе).
  • В операции "LIKE" реализована поддержка сопоставлений с текстом, в которых используются недетерминированные свойства локали "collation", позволяющие выполнять сопоставления с учётом смысла символов (например, при сравнении может не принимается во внимание знак ударения). Добавлена функция CASEFOLD для изменения регистра символов c учётом свойств локали "collation" (например, некоторые символы имеют более двух строчных вариантов или при сравнении требуют преобразования в верхний регистр, а не в нижний).
  • Добавлена возможность использования временных ограничений (temporal constraint). В значениях "PRIMARY KEY" и "UNIQUE" для добавления временных ограничений следует использовать выражение "WITHOUT OVERLAPS", а в значении "FOREIGN KEY" - выражение PERIOD. Например, при определении первичных ключей можно ограничить ключи с перекрывающимися интервалами времени.
  • Добавлена команда "CREATE FOREIGN TABLE ... LIKE command" для создания схемы внешней таблицы на основе определения локальной таблицы.
  • Добавлена поддержка подключения к СУБД, используя аутентификацию на базе OAUTH 2.0 с применением токена доступа вместо пароля. Применение OAUTH позволяет не хранить пароли в БД, а идентифицировать пользователей через внешние сервисы, а также использовать такие возможности как двухфакторная аутентификация и единая точка входа (SSO).
  • Добавлена функция ssl_tls13_ciphers(), через которую можно определить список алгоритмов шифрования, допустимых при подключении с использованием протокола TLSv1.3.
  • В разряд устаревших и запланированных к удалению переведена поддержка аутентификации с использованием алгоритма md5 для хэширования паролей. Вместо md5 рекомендуется применять алгоритм SCRAM (SCRAM-SHA-256), появившийся в PostgreSQL 10. Дополнительно отмечается реализация поддержки проброса аутентификации на базе SCRAM при подключении через postgres_fdw и dblink к внешним серверам PostgreSQL.
  • При выполнении операции "EXPLAIN ANALYZE" обеспечен вывод сведений о числе операций поиска в индексах при сканировании индекса и числе обращений к буферам при выполнении запроса. В вывод "EXPLAIN ANALYZE VERBOSE" включена статистика о CPU, WAL-журнале и интенсивности операций чтения. В таблицу pg_stat_all_tables добавлены сведения о времени, потраченном на операцию VACUUM и анализ таблиц. Предоставлена статистика об интенсивности ввода/вывода и нагрузке на WAL-журнал в разрезе отдельных соединений. В pg_stat_subscription_stats и логах добавлена информация с диагностикой конфликтов при выполнении операций записи во время логической репликации.
  • В новых установках включено по умолчанию использование контрольных сумм для проверки целостности хранимых данных. Для отмены данного поведения при запуске initdb следует указать опцию "--no-data-checksums".
  • В утилиту pg_createsubscriber добавлен флаг "--all" для создания логических реплик одной командой сразу для всех БД.
  • Реализована новая версия (3.2) протокола, применяемого для взаимодействия внешних утилит с СУБД и реализованного в библиотеке libpq. Прошлое обновление протокола было произведено в PostgreSQL 7.4 (2003 год). В библиотеке libpq по умолчанию продолжает использоваться версия 3.0.

  1. Главная ссылка к новости
  2. OpenNews: Релиз СУБД PostgreSQL 17
Обсуждение (28 +11) | Тип: Программы |


·24.09 Выпуск дистрибутива elementary OS 8.0.2 (96 +4)
  Опубликован выпуск дистрибутива elementary OS 8.0.2, позиционируемого в качестве быстрой, открытой и заботящейся о конфиденциальности альтернативы Windows и macOS. Основное внимание в проекте уделяется качественному дизайну, нацеленному на создание простой в использовании системы, потребляющей минимальные ресурсы и обеспечивающей высокую скорость запуска. Пользователям предлагается собственное окружение рабочего стола Pantheon. Для загрузки подготовлены загрузочные iso-образы (3.3 ГБ), доступные для архитектуры amd64 (для бесплатной загрузки с сайта проекта в поле с суммой пожертвования необходимо ввести 0).

При разработке оригинальных компонентов elementary OS используется GTK3, язык Vala и собственный фреймворк Granite. В качестве основы дистрибутива используются наработки проекта Ubuntu. На уровне пакетов и поддержки репозиториев elementary OS 8.x совместим с Ubuntu 24.04. Все дополнительные приложения, предлагаемые для установки через AppCenter, а также некоторые поставляемые по умолчанию приложения упакованы с использованием формата Flatpak. Графическое окружение основано на собственной оболочке Pantheon, которая объединяет собой такие компоненты, как оконный менеджер Gala (на базе LibMutter), лаунчер Slingshot, панель управления Switchboard, верхнюю панель Wing, панель задач Dock и менеджер сессий Pantheon Greeter (на основе LightDM).

В состав окружения входит набор тесно интегрированных в единое окружение приложений, необходимых для решения задач пользователей. Среди приложений большую часть составляют собственные разработки проекта, такие как эмулятор терминала Pantheon Terminal, файловый менеджер Pantheon Files, текстовый редактор Code и музыкальный проигрыватель Music (Noise). Проектом также развиваются менеджер фотографий Pantheon Photos (ответвление от Shotwell) и почтовый клиент Mail (ответвление от Evolution).

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

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

  1. Главная ссылка к новости
  2. OpenNews: Выпуск дистрибутива elementary OS 8.0.1
  3. OpenNews: Релиз дистрибутива elementary OS 8
  4. OpenNews: Из проекта elementary OS ушёл один из основателей
  5. OpenNews: Выпуск браузера Ephemeral 7, развиваемого проектом elementary OS
  6. OpenNews: Дистрибутив elementary OS представил OEM-сборки и договорился о предустановке на ноутбуки
Обсуждение (96 +4) | Тип: Программы |


·24.09 Выпуск браузера Pale Moon 33.9.0 (146 +22)
  Опубликован релиз web-браузера Pale Moon 33.9.0, ответвившегося от кодовой базы Firefox для обеспечения более высокой эффективности работы, сохранения классического интерфейса, минимизации потребления памяти и предоставления дополнительных возможностей по настройке. Сборки Pale Moon формируются для Windows и Linux (x86_64). Код проекта распространяется под лицензией MPLv2 (Mozilla Public License).

Проект придерживается классической организации интерфейса, без перехода к интегрированным в Firefox 29 и 57 интерфейсам Australis и Photon, и с предоставлением широких возможностей кастомизации. Из удалённых компонентов можно отметить DRM, Social API, WebRTC, PDF-просмотрщик, Сrash Reporter, код для сбора статистики, средства для родительского контроля и людей с ограниченными возможностями. По сравнению с Firefox, в браузер возвращена поддержка расширений, использующих XUL, и сохранена возможность применения как полноценных, так и легковесных тем оформления.

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

  • В CSS реализованы ключевые слова revert и clip.
  • Добавлена поддержка сокращённой формы записи свойства overflow, что решило проблемы с прокруткой на некоторых сайтах.
  • Реализована CSS-функция color-mix.
  • В CSS добавлена поддержка синтаксиса "@supports(selector(<complex selector>))".
  • Добавлена поддержка каскадных слоёв CSS (@layer).
  • Добавлена частичная поддержка CSS clip-path:<geometry-box>.
  • Добавлены CSS-свойства "overflow-inline" и "overflow-block".
  • Добавлены CSS-псевдоклассы ":autofill" и ":focus-visible".
  • В CSS реализован медиазапрос "prefers-reduced-motion".
  • Предложена минимальная версия API VisualViewport.
  • Улучшена поддержка HTTP-заголовка "X-Content-Type-Options: nosniff".
  • Обработка конструктора TypedArray приведена к соответствию спецификации ECMAScript.
  • Добавлена поддержка FFmpeg 7.0 и libavcodec 61.

Дополнительно отмечается, что проект Pale Moon ввёл в строй собственные общедоступные DNS-резолверы 5.189.164.139 и 80.255.7.132, а также NTP-сервер time.palemoon.org для синхронизации точного времени. Заявлено, что в данных сервисах не сохраняются логи и не цензурируются запросы.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск браузеров Pale Moon 33.7.0 и Firefox 137.0.1
  3. OpenNews: Выпуск браузера Pale Moon 33.6.0
  4. OpenNews: В Pale Moon планируют повысить требования к CPU в готовых сборках
  5. OpenNews: Проект Pale Moon добился прекращения разработки браузера Mypal
  6. OpenNews: Взлом одного из серверов проекта Pale Moon с внедрением вредоносного ПО в архив старых выпусков
Обсуждение (146 +22) | Тип: Программы |


·23.09 Обновление дистрибутива OpenWrt 24.10.3 (94 +33)
  Состоялся выпуск дистрибутива OpenWrt 24.10.3, развиваемого для сетевых устройств, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает 2771 устройство и предлагает систему сборки, упрощающую кросс-компиляцию и создание собственных сборок. Подобные сборки позволяют формировать готовые прошивки с желаемым набором предустановленных пакетов, оптимизированные под конкретные задачи. Готовые сборки опубликованы для 39 целевых платформ.

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

  • Добавлена поддержка устройств:
    • mediatek: Cudy TR3000 256MB v1, Huasifei WH3000 Pro, ipTIME AX3000Q, ipTIME AX3000SM, OpenFi 6C, Zbtlink ZBT-Z8102AX v2.
    • ramips: Hongdian H7920 v40.
    • rockchip: Radxa ROCK 4C+, Radxa ROCK 4SE.
  • Решены проблемы с устройствами: Xiaomi AIoT AC2350, Ubiquiti COMFAST CF-EW71 v2, Ruijie RG-X60 Pro, Cudy tr3000 v1, Xiaomi AX3000T, TP-Link TL-WDR4900, TP-Link mr600, NanoPC-T6.
  • В ядре реализована поддержка FudanMicro FM25S01A SPI-NAND
  • В беспроводном стеке mac80211 повышена производительность передачи данных для WiFi-7. Состояние подсистемы mac80211 синхронизировано с ядром 6.12.44.
  • Пакет с ядром обновлён до версии 6.6.104 (была 6.6.93).
  • Обновлены libxml2 2.14.5, mbedtls 3.6.4 и openssl 3.0.17.

  1. Главная ссылка к новости
  2. OpenNews: Обновление дистрибутива OpenWrt 24.10.2
  3. OpenNews: Выпуск дистрибутива OpenWrt 24.10.1
  4. OpenNews: Доступен дистрибутив OpenWrt 24.10
  5. OpenNews: Уязвимости, позволяющие подменить образы и выполнить код на ASU-серверах проекта OpenWrt
  6. OpenNews: Дистрибутив OpenWrt переходит на пакетный менеджер APK
Обсуждение (94 +33) | Тип: Программы |


·23.09 Компания ByteDance представила своё решение для выполнения нескольких ядер Linux (61 +11)
  Китайская компания ByteDance, развивающая сервис TikTok, опубликовала в списке рассылки разработчиков ядра Linux патчи с реализацией системы Parker (PARtitioned KERnel), позволяющей запускать на одном компьютере одновременно несколько ядер Linux без применения традиционной виртуализации. По решаемым задачам Parker напоминает несколько дней назад представленный проект Multikernel, но отличается от него архитектурой и реализацией.

В Parker применяется секционирование имеющихся ядер CPU, памяти и устройств. Каждый запускаемый экземпляр ядра основывается на одном общем образе ядра, но может использовать разные настройки и оптимизации. Первое загруженное ядро (Boot Kernel) осуществляет распределение и секционирование аппаратных устройств. Остальные экземпляры ядра Linux (Application Kernel) работают только с привязанными к ним ядрами CPU, памятью и устройствами ввода/вывода.

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

Для управления в Parker реализован интерфейс на базе kernfs, а для загрузки дополнительных экземпляров ядра в зарезервированные области памяти применяется kexec. Перед запуском дополнительных ядер первичное ядро освобождает ядра CPU, резервирует физическую память и отвязывает PCI-устройства для их использования в секционированном ядре. Для ввода/вывода за каждым ядром должно быть закреплено своё PCIe-устройство, такое как NVMe-накопитель или сетевой адаптер. После запуска экземпляра ядра оно не может взаимодействовать с другими ядрами.

  1. Главная ссылка к новости
  2. OpenNews: Представлен Multikernel, механизм для одновременного выполнения нескольких ядер Linux
Обсуждение (61 +11) | Тип: К сведению |


·23.09 NPM для усиления защиты уходит от использования TOTP 2FA и классических токенов (132 +9)
  После новой волны фишинг-атак на сопровождающих, инцидентов с компрометацией популярных пакетов и появления червей, поражающих зависимости, в репозитории NPM решено реализовать дополнительные меры защиты:
  • Двухфакторная аутентификация станет обязательной при локальной публикации пакетов.
  • Использование одноразовых паролей (TOTP) для двухфакторной аутентификации будет объявлено устаревшим. Пользователи будут переведены на протокол FIDO U2F.
  • Переход на гранулированные токены, время жизни которых ограничено 7 днями. Классические токены будут объявлены устаревшими и доступ с их помощью будет по умолчанию отключён.
  • Применение механизма "Trusted Publishers", основанного на использовании стандарта OpenID Connect (OIDC) и токенов аутентификации с ограниченным временем действия, которыми обмениваются внешние сервисы и каталог пакетов для подтверждения операции публикации пакета вместо использования традиционных паролей или постоянных токенов доступа к API.

  1. Главная ссылка к новости
  2. OpenNews: Самораспространяющийся червь поразил 187 пакетов в NPM
  3. OpenNews: Атакующие получили контроль над NPM-пакетами проекта DuckDB и опубликовали вредоносные выпуски
  4. OpenNews: Скомпрометированы 18 NPM-пакетов, насчитывающих более 2 миллиардов загрузок в неделю
  5. OpenNews: NPM-пакет Stylus был по ошибке заблокирован из-за подозрений в наличии вредоносного кода
  6. OpenNews: Фишинг позволил получить контроль над несколькими популярными NPM-пакетами
Обсуждение (132 +9) | Тип: К сведению |


·23.09 Выпуск системы потокового видеовещания OBS Studio 32.0 (25 +20)
  Опубликован выпуск OBS Studio 32.0, пакета для потокового вещания, композитинга и записи видео. Код написан на языках C/C++ и распространяется под лицензией GPLv2. Сборки сформированы для Linux (flatpak), Windows и macOS.

Целью разработки OBS Studio было создание переносимого варианта приложения Open Broadcaster Software (OBS Classic), не привязанного к платформе Windows, поддерживающего OpenGL и расширяемого через плагины. Отличием также является использование модульной архитектуры, подразумевающей разделение интерфейса и ядра программы. Поддерживается перекодирование исходных потоков, захват видео во время игр и стриминг в PeerTube, Twitch, Facebook Gaming, YouTube, DailyMotion и другие сервисы. Для обеспечения высокой производительности возможно использование механизмов аппаратного ускорения (например, NVENC, Intel QSV, Apple Video Toolbox и VAAPI).

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

Ключевые изменения:

  • Добавлен менеджер плагинов.
  • Реализована отдельно включаемая возможность отправки лога для диагностики аварийных завершений на платформах Windows и macOS.
  • В звуковые эффекты, работающие на GPU NVIDIA RTX, добавлена поддержка технологии выделения речи из звукового сигнала VAD (Voice Activity Detection), задействованной для повышения эффективности подавления шума при передаче голоса.
  • В эффект удаления фона, доступный для систем с GPU NVIDIA RTX, добавлена опция для удаления стула или кресла из кадра.
  • Для компьютеров Mac с ARM-чипами Apple Silicon предоставлен экспериментальный рендер на базе графического API Metal.
  • Добавлена поддержка формата Hybrid MOV. Объявлена стабильной поддержка форматов Hybrid MP4 и Hybrid MOV, которые задействованы в качестве мультимедийных контейнеров по умолчанию.
  • Добавлена поддержка формата ProRes (для macOS) и расширена поддержка HEVC/H.264 с PCM-звуком на всех платформах.
  • Отключена загрузка плагинов, рассчитанных на работу с более новыми версиями OBS Studio, для предотвращения проблем с совместимостью.
  • Добавлена поддержка использования собственных виджетов, которые в дальнейшем будут задействованы для модернизации интерфейса пользователя.
  • Предлагаемый по умолчанию битрейт увеличен с 2500 до 6000 Kbps.
  • Улучшена логика дедупликации звука.
  • Изменены настройки для кодировщиков AMD.
  • Улучшен выбор формата при захвате видео через мультимедийный сервер PipeWire.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск системы потокового видеовещания OBS Studio 31.1
  3. OpenNews: OBS Studio и Fedora урегулировали конфликт
  4. OpenNews: Проекту Fedora пригрозили иском из-за поставки сбойного flatpak-пакета с OBS Studio
  5. OpenNews: В TikTok Live Studio выявлено заимствование кода OBS, нарушающее лицензию GPL
Обсуждение (25 +20) | Тип: Программы |


·22.09 Открыт код распределённой файловой системы TernFS (55 +20)
  Компания XTX Markets открыла исходный код файловой системы TernFS, спроектированной для создания распределённого хранилища, охватывающего несколько территориально разделённых датацентров и способного хранить до десятков эксабайт данных, триллионов файлов и сотен миллиардов каталогов, с которыми могут одновременно взаимодействовать миллионы клиентов. Код проекта написан на языках С++ и Go и распространяется под лицензией GPLv2. Спецификации протокола и клиентские библиотеки поставляются под лицензией Apache 2.0.

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

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

Внедрение хранилища на базе TernFS в компании XTX Markets началось летом 2023 года, после полутора лет разработки ФС. В середине 2024 года все системы машинного обучения XTX Markets были переведены на TernFS. В настоящее время хранилище образует более 30 тысяч дисков и 10 тысяч Flash-накопителей, размещённых в трех датацентрах. Общий объём хранимых данных оценивается в 500 петабайт, а пиковая производительность - несколько петабайт в секунду. Хранилище используется в кластере, насчитывающем более 100 тысяч вычислительных узлов. Инцидентов, приводящих к потере данных, за два года эксплуатации не случалось.

Среди ограничений TernFS: записанные файлы не могут быть изменены; низкая эффективность работы с файлами размером меньше 2 МБ; низкая производительность операции создания и удаления каталогов; отсутствие разделения прав доступа.

Компоненты, образующие кластер хранения TernFS:

  • Узлы хранения метаданных, отвечающие за управление информацией о структуре каталогов и атрибутах файлов.
  • Узлы координации работы (CDC - Cross-Directory Coordinator), выполняющие транзакции, охватывающие разные каталоги.
  • Сервисы хранения, обеспечивающие хранение содержимого файлов.
  • Реестр, содержащий информацию о всех остальные сервисах и выполняющий мониторинг за их работой.
  • Клиентские службы для обращения пользователей к ФС:
    • ternweb - доступ к хранилищу через Web API.
    • terncli - интерфейс командной строки.
    • ternfs.ko - модуль для ядра Linux, позволяющий монтировать хранилище для работы как с локальной ФС.
    • ternfuse - реализация клиента для работы с ФС, использующая подсистему FUSE.
    • terns3 - реализация API Amazon S3.
  • Фоновые процессы:
    • GC - сборщик мусора, освобождающий просроченные снапшоты (удалённые, но не очищенные файлы) и очищающий блоки для необратимо удаляемых файлов.
    • scrubber - выявление деградации данных и восстановление.
    • migrator - исключение из хранилища сбойных дисков.

  1. Главная ссылка к новости
  2. OpenNews: Открыт код распределённой файловой системы 3FS, используемой в DeepSeek
  3. OpenNews: Выпуск отказоустойчивой файловой системы LittleFS 2.10
  4. OpenNews: Обновление кластерной файловой системы LizardFS
  5. OpenNews: Первый публичный выпуск распределённой файловой системы JuiceFS
  6. OpenNews: Компания Versity открыла исходные тексты файловой системы ScoutFS
Обсуждение (55 +20) | Тип: К сведению |


·22.09 Разработчикам дополнений к Firefox предоставлена возможность отката на прошлые версии (32 +26)
  В каталоге дополнений AMO (addons.mozilla.org) появилась возможность отката уже опубликованного выпуска дополнения на прошлую версию. В ситуациях, когда разработчик выявил серьёзные ошибки после выпуска, откат на прошлую версию позволит сразу отозвать проблемное дополнение, не тратя время на публикацию нового выпуска и ожидание завершения его проверки. У пользователей, успевших установить отозванный выпуск, дополнение будет переведено на прошлую версию во время проверки браузером наличия обновлений, проводимой по умолчанию раз в сутки.

  1. Главная ссылка к новости
  2. OpenNews: Релиз Firefox 143
  3. OpenNews: В Firefox решено прекратить поддержку 32-разрядных Linux-систем
  4. OpenNews: Mozilla предупредила о фишинг-атаке на разработчиков дополнений к Firefox
  5. OpenNews: Mozilla China прекращает предоставление сервисов для Firefox в Китае
Обсуждение (32 +26) | Тип: К сведению |


·22.09 Релиз пакетного менеджера RPM 6.0 (77 +12)
  Опубликован релиз пакетного менеджера RPM 6.0, который будет задействован в выпуске дистрибутива Fedora Linux 43. Проект развивается компанией Red Hat и используется в таких дистрибутивах, как RHEL, Fedora, SUSE, openSUSE, ALT Linux, Rosa Linux, OpenMandriva, Mageia, PCLinuxOS и Tizen. Код проекта распространяется под лицензиями GPLv2 и LGPLv2. Версии RPM 5 пропущена для исключения пересечений с проектом RPM5, который не связан с RPM от Red Hat и развивался независимыми разработчиками.

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

  • Поддержка нового формата пакетов RPM 6, позволяющего создавать пакеты размером более 4 ГБ. В формате RPM 6 задействованы 64-разрядные поля с размерами, модернизированы структуры, связанные с криптографией, и добавлены MIME-сведения о файлах.
  • Прекращена поддержка формата RPM 3. Поддержка формата RPM 4, использующего cpio, будет сохранена в полном объёме - дистрибутивы на своё усмотрение смогут остаться на формате RPM 4.
  • По умолчанию включены проверки подлинности пакетов с использованием цифровой подписи.
  • В утилиту rpmbuild добавлена поддержка автоматического формирования локальных подписей во время сборки, а в утилиту rpm добавлена опция "--nosignature" для принудительной установки пакета без проверки подписи.
  • Предоставлена возможность использования вместо GnuPG инструментария Sequoia-sq, написанного на Rust.
  • В разработке разрешено использование языка C++ (C++20), а не только языка Си.
  • Реализована возможность использования нескольких подписей OpenPGP для каждого пакета.
  • Прекращена поддержка хэшей MD5, SHA1 и DSA.
  • Расширены возможности утилиты rpmkeys по работе с ключами, например, для обновления OpenPGP-ключей можно использовать команду "rpmkeys --import".
  • Задействованы только полные идентификаторы и хеш-отпечатки (fingerprint) ключей OpenPGP.
  • Добавлена поддержка цифровых подписей OpenPGP v6 и реализована возможность использования криптоалгоритмов, стойких к подбору на квантовом компьютере.
  • Добавлена возможность обновления уже импортированных ключей.
  • В обвязках для языка Python реализована поддержка изоляции состояния Python-модулей для их запуска в нескольких субинтерпретаторах.

  1. Главная ссылка к новости
  2. OpenNews: Уязвимости в пакетных менеджерах Nix, Lix и Guix
  3. OpenNews: Linux Foundation развивает FAIR, децентрализованный пакетный менеджер для WordPress
  4. OpenNews: Выпуск пакетного менеджера RPM 4.20 и начало разработки RPM 6
  5. OpenNews: Релиз пакетного менеджера APT 3.0.0
  6. OpenNews: В пакетном менеджере Zypper реализована параллельная загрузка пакетов
Обсуждение (77 +12) | Тип: Программы |


·22.09 Выпуск Varnish-Cache 8.0. Смена имени проекта из-за торговой марки (27 +3)
  Пол-Хенинг Камп (Poul-Henning Kamp), один из известных разработчиков FreeBSD, участвовавший в создании таких систем, как MD5crypt, GEOM, GBDE и FreeBSD Jail, представил релиз Varnish-Cache 8.0, высокопроизводительного кэширующего прокси, предназначенного для работы в роли HTTP-акселератора. Проект распространяется под лицензией BSD и в своё время использовался в проектах Facebook, Wikimedia, Twitter, Vimeo, Tumblr, New York Times и Guardian.

Высокая производительность достигается благодаря применению многопоточности, мультиплексирования соединений при помощи вызовов epoll/kqueue и задействованию системных вызовов sendfile и madvise. На обычном оборудовании способен обработать поток в 20 Gbps и обеспечить ускорение отдачи запросов в 300-1000 раз. Кэш хранится в виртуальной памяти. Особенностью Varnish является способность собирать отдаваемые страницы по частям на стороне фронтэнда, определяя логику сборки на языке ESI (Edge Side Includes).

Varnish также предоставляет гибкую систему конфигурации, в которой допускается использование вставок на языке Си. Для конфигурации используется специальный язык VCL, который затем компилируется в исполняемый бинарный код. VCL позволяет описать политику обработки запроса: определить обрабатываемый контент, откуда его получить и как преобразовать перед отдачей. Базовая функциональность может расширяться через модули. Присутствуют механизмы балансировки нагрузки, учёта состояния и времени реакции бэкенд-серверов.

Вместе с анонсом новой версии объявлено о грядущем изменении имени проекта. Начиная со следующего выпуска "Varnish Cache" будет переименован в "Vinyl Cache" из-за претензий, связанных с торговой маркой Varnish, зарегистрированной на компанию Varnish Software, которая участвовала в разработке и финансово поддерживала открытый проект "Varnish Cache". 22 года назад разработка Varnish Cache была профинансирована норвежской газетой Verdens Gang, которая наняла Пол-Хенинг Кампа для написания кода, а компанию Linpro для сопровождения. Позднее из Linpro была образована компания Varnish Software. Сложилось так, что имя Varnish Cache ассоциировалось с открытым проектом, а Varnish Software с коммерческой компанией.

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

Так как необходимость получения разрешения у Varnish Software помешала некоторым участникам присоединиться к разработке, была предпринята попытка договориться, но юристы продолжают заявлять, что имя Varnish Cache принадлежит компании Varnish Software и они допускают его использование открытым проектом при определённых ограничениях и наличии возможности накладывать вето. Varnish Cache не готов согласиться с данными ограничениями, так как намерен продолжать развиваться как независимый проект.

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

Основные новшества Varnish-Cache 8.0:

  • В фоновом процессе varnishd, принимающем запросы от клиентов, передающим запросы бэкендам и кэширующем ответ, реализован параметр "uncacheable_ttl" для определения времени жизни (TTL) объектов, помеченных некэшируемыми.
  • Значение параметра ban_any_variant по умолчанию выставлено в 0, при котором список блокировки применяется только к совпавшим вариантам объектов.
  • Передача команды stop теперь приводит к ожиданию завершения всех выполняемых транзакций (VCL-обработчиков).
  • Добавлена поддержка обращения из кода VCL к некоторым runtime-параметрам, используя синтаксис "param.<param_name>".
  • Добавлена возможность переопределения логики формирования ответов "304 Not Modified".
  • Удалены устаревшие VMOD-функции std.real2integer(), std.real2time(), std.time2integer() и std.time2real(), вместо которых следует использовать синтаксис "std.integer(real=std.round(...), fallback=...)" или "std.integer(time=..., fallback=...). Функция format_rfc1123() переименована в cookie.format_date().
  • В VUT и varnishtest обеспечена запись трассировок стека в лог после аварийного завершения.
  • В утилиту varnishadm добавлена переменная "obj.last_hit", которую можно использовать для организации удаления объектов из кэша, к которым давно не было обращений.
  • В утилиту varnishstat добавлены новые счётчики статистики VCP.ref_hit, VCP.ref_miss, transit_stored и transit_buffered

  1. Главная ссылка к новости
  2. OpenNews: Выпуск HTTP-акселератора Varnish 6.0
  3. OpenNews: Оптимизация алгоритма btree позволила увеличить производительность http-акселератора Varnish
  4. OpenNews: Выпуск фильтрующего прокси Privoxy 4.0.0
  5. OpenNews: Стабильный релиз прокси-сервера Squid 7
Обсуждение (27 +3) | Тип: Программы |


·22.09 Релиз СУБД DuckDB 1.4.0 с поддержкой шифрования БД (17 +4)
  Опубликован выпуск СУБД DuckDB 1.4.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, позволяющий в одной операции разом обрабатывать большие наборы значений.

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

  • Добавлена поддержка хранения файлов БД в зашифрованном виде. Для шифрования используется алгоритм AES-256 в режиме GCM. Шифруется не только основной файл с данными, но и WAL-логи и временные файлы. Ключи для шифрования БД задаются командой ATTACH через параметр ENCRYPTION_KEY.
    
       ATTACH 'encrypted.db' AS enc_db (ENCRYPTION_KEY 'quack_quack');
    
  • Добавлена поддержка команды "MERGE INTO", которая может применяться как альтернатива выражению "INSERT ... ON CONFLICT", не требующая первичного ключа и работающая с произвольными условиями слияния. Команда "MERGE INTO" позволяет создавать условные SQL-выражения, объединяющие в одном выражении операции INSERT, UPDATE и DELETE. Например, при помощи MERGE можно организовать слияние двух таблиц, вставляя недостающие записи и обновляя существующие.
    
       WITH deletes(item_id, delete_threshold) AS (VALUES (10, 3000))
           MERGE INTO Stock
               USING deletes USING (item_id)
           WHEN MATCHED AND balance < delete_threshold
               THEN DELETE
           RETURNING merge_action, *;
    
  • В дополнение для работы с таблицам в формате Apache Iceberg добавлена поддержка операций записи (ранее поддерживалось только чтение), что позволяет переносить данные из Iceberg в DuckDB и обратно.
  • В клиент командной строки добавлен индикатор прогресса выполнения операции с прогнозированием времени, оставшегося до завершения.
  • Добавлена оконная функция "FILL", которую можно использовать для интерполяции пропущенных значений в упорядоченных окнах.
    
       FROM (VALUES (1, 1), (2, NULL), (3, 42)) t(c1, c2)
       SELECT fill(c2) OVER (ORDER BY c1) f;
       1 
       21
       42
    
  • Реализовано дополнение Teradata Connector для подключения к базам данных Teradata. Дополнение позволяет манипулировать таблицами, выполнять запросы и запускать SQL-команды напрямую в Teradata, используя DuckDB.
  • Добавлена поддержка фиксации состояния (checkpoint) таблиц, хранимых в памяти, что позволило реализовать поддержку сжатия. Кроме того, при фиксации состояния выполняется чистка удалённых строк и высвобождение места после операций удаления.
    
       ATTACH ':memory:' AS memory_compressed (COMPRESS);
    
  • Предложено несколько оптимизаций производительности: Реализация сортировки переведена на использование алгоритма многопутевого слияния (k-way merge sort), сокращающего перемещение данных. Обобщённые табличные выражения (Common Table Expression, CTE) теперь материализуются по умолчанию.

  1. Главная ссылка к новости
  2. OpenNews: Релиз СУБД DuckDB 1.2.0
  3. OpenNews: Атакующие получили контроль над NPM-пакетами проекта DuckDB и опубликовали вредоносные выпуски
  4. OpenNews: Проект Redka развивает реализацию протокола и API Redis поверх SQLite
  5. OpenNews: Выпуск СУБД SQLite 3.50
  6. OpenNews: Google использовал большую языковую модель для выявления уязвимости в SQLite
Обсуждение (17 +4) | Тип: Программы |


·22.09 Запущен сервис совместной разработки Fedora Forge. Бета-тестирование Fedora Linux 43 (30 +7)
  Проект Fedora объявил о запуске сервиса совместной разработки Fedora Forge, построенного с использованием проекта Forgejo. Сервис развивается для замены собственной платформы Pagure, применяемой в Fedora для совместной работы c кодом и метаданными пакетов. Замена развивается так как платформа Pagure требует больших ресурсов для сопровождения, находится в состоянии стагнации и не получила широкого распространения вне Fedora. Предполагается, что Fedora Forge упростит разработку и передачу изменений основным командам Fedora.

Fedora Forge запущен в пилотном режиме и тестируется на нескольких подпроектах и группах SIG (Special Interest Groups). Например, в Fedora Forge уже перенесены проекты команд RelEng (Release Engineering), Council и FESCo (Fedora Engineering Steering Committe). В дальнейшем число развиваемых в Fedora Forge проектов будет расширено и данный сервис станет использоваться как основное место для совместной работы над Fedora.

Для автоматизации переноса проектов из Pagure и Fedora Forge разработан инструментарий Pagure Migrator, который включён в состав платформы Forgejo. Pagure Migrator позволяет сохранить после переноса pull-запросы, тикеты, обсуждения, метки и пользователей. При этом, в отличие от сервиса pagure.io, Fedora Forge не допускает размещение персональных проектов и сосредоточен только на проектах, связанных с разработкой Fedora Linux.


Также можно отметить публикацию бета-версии дистрибутива Fedora Linux 43, ознаменовавшей переход на финальную стадию тестирования, при которой допускается только исправление критических ошибок. Релиз запланирован на 11 ноября. Выпуск охватывает Fedora Workstation, Fedora KDE Plasma Desktop, Fedora Server, Fedora IoT, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition, Fedora Silverblue, Fedora Kinoite и Live-сборки, поставляемые в форме спинов c пользовательскими окружениями Xfce, Cinnamon, LXDE, Phosh, Miracle, LXQt, Budgie, Sway и Cosmic. Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64).

Наиболее значимые изменения в Fedora Linux 43:

  • Рабочий стол в Fedora Workstation обновлён до ветки GNOME 49.
  • Из репозиториев удалены пакеты, используемые для работы GNOME поверх X-сервера. Все пользователи GNOME, использовавшие X11, будут принудительно переключены на сеанс GNOME на базе Wayland. Возможность запуска X11-приложений при помощи XWayland остаётся без изменений.
  • На системах с архитектурой x86 оставлена только возможность использования таблиц разделов GPT (GUID Partition Table) во всех установках Fedora, использующих UEFI. Поддержка установки Fedora в режиме UEFI на диски с таблицами разделом MBR (Master Boot Record) прекращена на системах x86, но оставлена на системах ARM и RISC-V.
  • Осуществлён переход на пакетный менеджер RPM 6, примечательный поддержкой нового формата, позволяющего создавать пакеты размером более 4 ГБ, и включением по умолчанию проверки подлинности пакетов с использованием цифровой подписи.
  • Все spin-сборки переведены на новый вариант инсталлятора Anaconda, в котором вместо интерфейса на основе библиотеки GTK используется web-интерфейс, допускающий взаимодействие через web-браузер для удалённого управления установкой. В прошлом выпуске новый инсталлятор был задействован в Fedora Workstation. Вместо главного экрана с перечнем действий в новом интерфейсе работа организована в форме мастера (Wizard), подразумевающего последовательное выполнение определённых шагов без возвращения к основному экрану. В качестве базового предлагается автоматизированный (guided) режим разбивки диска, при котором инсталлятор сам выбирает параметры создания или изменения разделов на основе настроек, выбранных пользователем. Имеются опции для переустановки дистрибутива и установки в режиме двойной загрузки на системах с несколькими ОС.
  • Инсталлятор переведён на использование пакетного менеджера DNF5 при установке RPM-пакетов (в системе DNF5 используется начиная с Fedora 41). Базовая функциональность управления пакетами в DNF5 вынесена в отдельную библиотеку libdnf5, вместо привязок к PackageKit задействован DNF Daemon, а компоненты на Python переписаны на С++.
  • Из инсталлятора удалена поддержка отдельно обновляемых модулей, жизненный цикл которых не привязан к основной начинке дистрибутива, а сопровождение осуществляется независимо от релизов дистрибутива, что позволяло обеспечить сосуществование пакетов с разными версиями одного и того же приложения.
  • В Fedora Kinoite, атомарно обновляемом варианте Fedora c KDE, включено по умолчанию автообновление системы. Обновления теперь загружаются без спроса пользователя в фоне и применяются после перезагрузки. В настройках имеются опции для отключения автообновления и изменения интервала проверки наличия обновлений.
  • В разряд устаревших переведён ассемблер YASM, последнее обновление для которого было выпущено в 2019 году. Пакеты, в которых YASM использовался для сборки (включая Firefox) переведены на сборку при помощи NASM.
  • Разделена на несколько пакетов поставка GnuPG - программа gpg, вспомогательные утилиты и сервисы GnuPG теперь распространяются в отдельных пакетах (gnupg2, gnupg2-dirmngr, gnupg2-g13, gnupg2-gpgconf, gnupg2-gpg-agent, gnupg2-keyboxd, gnupg2-scdaemon, gnupg2-smime, gnupg2-wks, gnupg2-utils и gnupg2-verify).
  • Реализована возможность использования механизма Intel TDX (Trusted Domain Extensions) для шифрования оперативной памяти гостевых систем (AMD SEV поддерживается с Fedora 41).
  • Добавлены пакеты с инструментарием для языка программирования Hare, развиваемого автором пользовательского окружения Sway. Язык оптимизирован для решения низкоуровневых задач, таких как разработка операционных систем, компиляторов, сетевых приложений и системных утилит, для которых требуется достижение максимальной производительности и полный контроль над выполнением. В языке применяется ручное управление памятью и статическая система типов, при которой каждой переменной явно должен быть присвоен определённый тип.
  • При сборке пакетов на языке Go задействован инструментарий Go Vendor Tools, при котором копии используемых библиотек включаются в состав src-пакета, а не применяются отдельно поставляемые пакеты с зависимостями (т.е. не используются общие для всей системы версии библиотек).
  • Выполнен переход на использование шрифтов Noto Color Emoji в векторном формате COLRv1 вместо растрового представления. Использование COLRv1 позволило добиться повышения качества отрисовки и уменьшения размера файлов со шрифтами.
  • Для сжатия образов начального RAM-диска (initrd) задействован алгоритм Zstd при сборке с использованием Dracut. Переход с xz на zstd позволил сократить на несколько мегабайт размер initrd и ускорить загрузку.
  • Задействован вариант инструментария Greenboot, переписанный на языке Rust (старая версия была написана на bash). Greenboot применяется в атомарно обновляемых вариантах Fedora для проверки состояния системы при загрузке и отката на прошлую версию при обнаружении проблем.
  • Обновлены версии: LLVM 21, GCC 15.2, binutils 2.45, glibc 2.42, gdb 17.1, Go 1.25, Python 3.14, Java 25, Maven 4, Perl 5.42, Haskell GHC 9.8, Apache Tomcat 10.1.x, Ruby on Rails 8.0, PostgreSQL 18, MySQL 8.4, Dovecot 2.4.

  1. Главная ссылка к новости
  2. OpenNews: Стратегия развития проекта Fedora до 2028 года
  3. OpenNews: Выпуск дистрибутива Fedora Linux 42
  4. OpenNews: Представлено семейство атомарно обновляемых дистрибутивов Fedora Atomic Desktops
  5. OpenNews: В Fedora предложено задействовать FlatHub в атомарных редакциях дистрибутива
  6. OpenNews: Fedora на пути к переводу Git-сервисов совместной разработки на платформу Forgejo
Обсуждение (30 +7) | Тип: Программы |


·21.09 Смартфон FLX1s, поставляемый с Debian и оболочкой на базе GNOME (353 +31)
  Проект Furi Labs объявил о начале производства смартфона FLX1s, поставляемого с дистрибутивом FuriOS. Дистрибутив построен на пакетной базе Debian 13 и оснащён пользовательской оболочкой Phosh, основанной на технологиях GNOME и библиотеке GTK. Устройство доступно для предзаказа по цене 550 долларов. Первая партия будет выпущена 25 октября, после чего начнётся отправка устройств покупателям.

Для обеспечения конфиденциальности устройство оснащено тремя переключателями, позволяющими на уровне разрыва цепей отключить камеру, микрофон, GPS и модуль Baseband. Прошивка не отправляет телеметрию и не обращается к внешним серверам - все данные остаются на устройстве пользователя и не синхронизируются с облаком. Для работы с телефонией и совершения звонков задействован стек oFono2MM и приложение GNOME Calls.

Поддерживается запуск приложений, поставляемых для платформы Android, для чего задействован отдельный изолированный контейнер с компонентами Android. Android-приложения бесшовно интегрируются в систему и работа с ними осуществляется по аналогии со штатными приложениями из поставки FuriOS. В основной системе поставляется ядро Linux, формируемой компанией Mediatek для платформы Android, а также драйверы для Android. Работа Linux-окружения организована при помощи системных компонентов от проекта Halium и прослойки libhybris, позволяющей применять драйверы Android, работающие в пространстве пользователя.

Для установки приложений используется приложение GNOME Software и собственный каталог OpenStore, в котором представлена подборка Linux-программ, а также приложений для Android и Ubuntu. Устройство поддерживает мультизагрузку и возможность одновременного выполнения нескольких операционных систем, используя виртуализацию на базе гипервизора KVM. В качестве примера поддерживаемых для установки альтернативных систем упоминается Ubuntu Touch. Наработки проекта доступны на GitHub под свободными лицензиями.

Характеристики смартфона FLX1s:

  • Чипсет Mediatek Dimensity 900: 2 ядра Cortex-A78 2.4Ghz и 6 ядер Cortex A55 2.0Ghz, GPU Mali G68 MC4.
  • 8 ГБ ОЗУ (LPDDR4X) и 128 ГБ постоянное хранилище, размер которого можно расширить через карту Micro SD.
  • 6.7-дюймовый экран, 1600x720, 90Hz.
  • Передняя камера 13MP, задняя камера 20MP + макрокамера 2MP.
  • Аккумулятор Li-Po 5000mAh.
  • USB Type C 2.0
  • 2G, 3G, 4G, 5G, 5G ENDC, две SIM-карты,
  • WiFi 6.0 (a/b/g/n/ac/ax)
  • Bluetooth 5.2, A2DP, LE
  • Размер: 170 x 76 x 8 мм. Вес 201 грамм.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск Phosh 0.48.0, GNOME-окружения для смартфонов
  3. OpenNews: Представлен смартфон Liberty Phone, продолжающий развитие Librem 5
  4. OpenNews: Опубликован Droidian 99, вариант Debian для смартфонов
  5. OpenNews: Проект Liberux развивает смартфон NEXX с прошивкой на базе Debian и GNOME
  6. OpenNews: Опубликован postmarketOS 25.06, Linux-дистрибутив для смартфонов и мобильных устройств
Обсуждение (353 +31) | Тип: К сведению |


·20.09 В Git 3.0 предложено сделать Rust обязательной частью сборочной инфраструктуры (401 –43)
  В списке рассылки разработчиков системы управления исходными текстами Git обсуждается изменение, предлагающее включить компоненты на языке Rust в основной (core) состав Git и добавить Rust в число обязательных зависимостей, необходимых для сборки Git. Интеграцию возможности использования Rust при разработке Git предлагается осуществить по аналогии с ранее осуществлённым переходом к возможности использования спецификации C99 в кодовой базе Git - вначале добавить поддержку Rust в тестовом режиме, а начиная с Git 3.0 сделать её обязательной частью сборочной инфраструктуры.

Интеграция поддержки Rust в Git началась в мартовском выпуске Git 2.49 в состав которого был включён не обязательный для сборки интерфейс, позволяющий разрабатывать компоненты Git на языке Rust. Было добавлено два crate-пакета: libgit-sys и libgit с низкоуровневой и высокоуровневой Rust-обвязками над внутренними библиотеками, задействованными в Git.

В июле в списке рассылки разработчиков Git было опубликовано изменение к утилите xdiff, добавляющее компоненты на языке Rust и оптимизации, позволяющие поднять производительность на 5-19%. В примечании к изменению было предложено добавить Rust в число жёстких зависимостей. В июле решение по данному вопросу не было принято и теперь предпринята вторая попытка поднятия вопроса перевода Rust в разряд обязательных сборочных зависимостей. Судя по повторному обсуждению среди разработчиков Git больше противников такого шага, чем сторонников, хотя против необязательной поддержки Rust особых возражений нет. Основным доводом против является отсутствие в компиляторе rustc должной поддержи всех платформ, поддерживаемых в Git.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск системы управления исходными текстами Git 2.51
  3. OpenNews: Разработчики GRUB2 рассматривают возможность использования языка Rust
  4. OpenNews: Искажение авторства патчей Rust-обвязок к подсистеме DRM
  5. OpenNews: Для FreeBSD развивают опциональную поддержку компонентов базовой системы на Rust
  6. OpenNews: Около 8% src-пакетов в Debian Sid завязаны на Rust
Обсуждение (401 –43) | Тип: Тема для размышления |


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



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

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