Заметки Теодора Тс’о о ядре Linux, кодексе поведения, ext4, btrfs и ZFS

Перевод размышлений Теодора Тс’о (Theodore Ts’o), создателя файловой системы Ext4, о разработке ext4, файловой системе BcacheFS, ядре Linux, ZFS, кодексе поведения и файловых системах в целом: О разработке ext4. В каждый выпуск ядра ext4 вносят вклад более полудюжины человек. В настоящее время большая часть моего времени уходит на рецензирование кода, проведение тестов и улучшение тестового приложения {kvm,gce,qemu,android}-xfstests. И я очень полагаюсь на 2-3 других разработчиков, работающих в SUSE и IBM, которые помогают мне с рецензированием кода. О BcacheFS Если честно, bcachefs не является полностью одиночным проектом — например, Кент был автором 72% патчей между выпусками ядра 6.11 и 6.12, в … Читать далее Заметки Теодора Тс’о о ядре Linux, кодексе поведения, ext4, btrfs и ZFS

Релиз мультимедийной библиотеки SDL 3

Представлен релиз библиотеки SDL 3.2.0 (Simple DirectMedia Layer), который помечен как первый официальный стабильный выпуск ветки SDL 3. Библиотека нацелена на упрощение написания игр и мультимедийных приложений, и предоставляет такие возможности, как аппаратно-ускоренный вывод 2D- и 3D-графики, обработка ввода, воспроизведение звука и вывод 3D через OpenGL, OpenGL ES, Metal, Direct3D или Vulkan. Код написан на языке Си и распространяется под лицензией Zlib. Предоставляются обвязки для использования SDL в проектах на различных языках программирования. Основные новшества: Существенно улучшена поддержка протокола Wayland, который теперь активирован по умолчанию в окружениях, предоставляющих одновременную поддержку Wayland и X11, и поддерживающих расширения протокола fifo-v1 и commit-timing-v1. … Читать далее Релиз мультимедийной библиотеки SDL 3

Обновление VirtualBox 7.1.6

Компания Oracle опубликовала корректирующий релиз системы виртуализации VirtualBox 7.1.6, в котором отмечено 9 изменений. Одновременно сформировано обновление прошлой ветки VirtualBox 7.0.24 с 15 исправлениями. Помимо перечисленных ниже изменений в новых версиях устранены 2 уязвимости (максимальный уровень опасности 7.3 из 10), позволяющие локальному пользователю повысить свои привилегии. В дополнениях для гостевых систем с Linux реализована начальная поддержка ядра 6.13. Добавлены дополнительные патчи для ядер 6.4 и 6.12, решающие проблемы с графикой в драйвере vboxvideo. В дополнения для хостов и гостевых систем с Linux добавлена поддержка пакета с ядром, поставляемым в дистрибутиве RHEL 9.6. Добавлены дополнительные исправления, устраняющие предупреждения UBSAN (Undefined Behavior … Читать далее Обновление VirtualBox 7.1.6

Стабильный релиз Wine 10.0

После года разработки и 29 экспериментальных версий представлен стабильный релиз открытой реализации Win32 API — Wine 10.0, который вобрал в себя более 6000 изменений. Из ключевых достижений в новой версии выделяется полная поддержка архитектуры ARM64EC, масштабирование на экранах с высокой плотностью пикселей, включение по умолчанию драйвера Wayland, реализация панелей для настройки экрана и джойстика, альтернативный мультимедийный бэкенд на базе FFmpeg, драйвер Bluetooth, поддержка Vulkan 1.4, возможность эмуляции переключения видеорежимов. В Wine подтверждена полноценная работа 5372 программ для Windows (год назад 5336, два года назад 5266, три года назад 5156), ещё 4435 программ (год назад 4397, два года назад 4370, три … Читать далее Стабильный релиз Wine 10.0

Выпуск 9front 10931, ответвления от операционной системы Plan 9

Представлен выпуск операционной системы 9front 10931, опубликованный под кодовым именем «THIS TIME DEFINITELY». Проект 9front с 2011 года развивает независимый от компании Bell Labs форк распределённой операционной системы Plan 9. Готовые установочные сборки сформированы для архитектур i386, x86_64 и плат Raspberry Pi 1-4. Код распространяется под лицензией MIT. Доступна приуроченная к релизу музыкальная композиция. Основная идея Plan 9 связана со стиранием различий между локальными и удалёнными ресурсами. Система представляет собой распределённую среду, базирующуюся на трёх базовых принципах: все ресурсы можно рассматривать как иерархический набор файлов; нет различия в доступе к локальным и внешним ресурсам; каждый процесс имеет собственное изменчивое пространство … Читать далее Выпуск 9front 10931, ответвления от операционной системы Plan 9

Открыт инструментарий для программируемых Ethernet-коммутаторов Intel Tofino

Компания Intel открыла инструментарий, позволяющий создавать собственные приложения для обработки пакетов в программируемых Ethernet-коммутаторах серии Tofino. Под лицензией Apache 2.0 открыт исходный код бэкеда к компилятору p4c и компонентов среды разработки Intel P4 Studio, таких как драйверы, модель симуляции коммуатора, сервер и клиент для протокола BF Runtime. Для создания приложений применяется предметно-ориентированный язык программирования P4 (Programming Protocol-independent Packet Processors), предназначенный для определения логики обработки пакетов в сетевых устройствах, таких как сетевые карты, коммутаторы, маршрутизаторы и межсетевые экраны. Опубликованный бэкенд позволяет транслировать программы на языке P4 в представление, пригодное для установки на коммутаторах серии Intel Tofino. Благодаря этому пользователи коммутаторов могут … Читать далее Открыт инструментарий для программируемых Ethernet-коммутаторов Intel Tofino

В Mesa принят amdgpu_virtio для использования OpenGL и Vulkan в гостевых системах

В кодовую базу, используемую для формирования выпуска Mesa 25.0, принята прослойка amdgpu_virtio, позволяющая гостевой системе использовать OpenGL- и Vulkan-драйверы radeonsi, radeonsi_drv_video и radv, предоставляемые хост-окружением. Доступ осуществляется через VirtIO, что обеспечивает высокую производительность 3D-ускорения в виртуальной машине. На данный момент использование драйвера возможно только в связке QEMU+KVM. Заявлено, что производительность amdgpu_virtio выше, чем при использовании драйверов virgl и venus, ранее разработанных для доступа к Vulkan и OpenGL из гостевых систем. При проведении тестов Unigine Heaven и Superposition производительность в гостевых системах составила примерно 99% по сравнению с производительностью при запуске тестов на стороне хоста. Из достоинств нового метода также упоминается … Читать далее В Mesa принят amdgpu_virtio для использования OpenGL и Vulkan в гостевых системах

Для ядра Linux предложен драйвер с реализацией режима NVMe PCI Endpoint

Компания Western Digital разработала для ядра Linux драйвер с реализацией NVMe PCI Endpoint Function Target. При наличии контроллера PCIe, поддерживающего режим endpoint, драйвер позволяет системе под управлением Linux изображать из себя контроллер PCI NVMe, который для других систем будет выглядеть как накопитель с интерфейсом NVMe. Как пример, подобный накопитель был реализован на основе платы Rock5B, использующей SoC Rockchip RK3588 с контроллером PCI Gen3x4, умеющем работать в режиме endpoint. При использовании блочного устройства null_blk и в конфигурации с 4 очередями ввода/вывода накопитель показал пропускную способность в 2.8 GB/sec при последовательном чтении блоков 512KB и производительность в 131 тысяч операций ввода/вывода в … Читать далее Для ядра Linux предложен драйвер с реализацией режима NVMe PCI Endpoint

Релиз ядра Linux 6.13

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.13. Среди наиболее заметных изменений: режим ленивого вытеснения в планировщике задач, поддержка атомарной записи в XFS и Ext4, механизм «multigrain timestamps», адаптивный режим включения полинга в сетевой подсистеме, возможность сборки с оптимизациями AutoFDO, поддержка механизма защиты ARM65 Guarded Control Stack, раздельные стеки в BPF, удаление ReiserFS, режим монтирования tmpfs учёта регистра символов, поддержка POSIX-расширений в SMB3. В новую версию принято 14172 исправлений от 2086 разработчиков, размер патча — 46 МБ (изменения затронули 15375 файлов, добавлено 598707 строк кода, удалено 406294 строк). В прошлом выпуске было 14607 исправлений от 2167 разработчиков, … Читать далее Релиз ядра Linux 6.13

Релиз минималистичного web-браузера Dillo 3.2.0

Представлен релиз web-браузера Dillo 3.2.0. Браузер предоставляет графический интерфейс на основе вкладок и поддерживает HTML 4.01, CSS и HTTPS (нет поддержки JavaScript). Функциональность Dillo может расширяться через плагины, например, имеются плагины для протоколов IPFS и Gemini. При открытии стартовой страницы Dillo расходует 12 МБ ОЗУ, а установочный deb-пакет занимает около 600 КБ. Графический интерфейс построен с использованием библиотеки FLTK2. Код проекта распространяется под лицензией GPLv3. В новой версии: Через подключение библиотеки nanosvg реализована поддержка векторных изображений в формате SVG и возможность отрисовки математических формул. Добавлена возможность сборки с библиотекой libwebp для поддержки изображений в формате WebP. Для выбора обрабатываемых форматов … Читать далее Релиз минималистичного web-браузера Dillo 3.2.0

Выпуск uutils 0.0.29, варианта GNU Coreutils на языке Rust

Опубликован выпуск проекта uutils coreutils 0.0.29, развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, способной работать в том числе на платформах Windows, Redox и Fuchsia. В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL. Дополнительно той же командой разработчиков развиваются написанные на Rust аналоги наборов утилит util-linux, diffutils, findutils и bsdutils. В новой версии uutils: Учтены изменения в выпуске GNU Coreutils 9.6. … Читать далее Выпуск uutils 0.0.29, варианта GNU Coreutils на языке Rust

Выпуск отладчика GDB 16

Представлен релиз отладчика GDB 16.1 (первый выпуск серии 16.x, ветка 16.0 использовалась для разработки). GDB поддерживает отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS). Наиболее заметные улучшения: Для Linux-окружений на системах с архитектурой LoongArch реализована поддержка записи и повторного выполнения (record/replay). Для теггированных указателей, часть битов в которых используется для хранения дополнительных данных, реализована поддержка точек останова, срабатывающих при изменении данных (watchpoint). На системах с архитектурой … Читать далее Выпуск отладчика GDB 16

Выпуск VPN Lanemu 0.12

Состоялся выпуск Lanemu P2P VPN 0.12 — реализации децентрализованной виртуальной частной сети, работающей по принципу Peer-To-Peer, при котором участники подключены друг к другу, а не через центральный сервер. Участники сети могут находить друг друга через BitTorrent-трекеры или BitTorrent DHT, либо через других участников сети (peer exchange). Приложение является бесплатным и открытым аналогом VPN Hamachi, написано на языке Java (c отдельными компонентами на языке Си) и распространяется под лицензией GNU LGPL 3.0. Поддерживается запуск в Windows, GNU/Linux и FreeBSD. Изменения в версии 0.12: Для пирингового шифрования задействован алгоритм AES-128-GCM. Из-за изменения алгоритма шифрования новая версия приложения не сможет взаимодействовать с предыдущими … Читать далее Выпуск VPN Lanemu 0.12

Haiku ограничит доступ из Великобритании из-за риска нарушения закона Online Safety Act

Александр фон Глюк (Alexander von Gluck), входящий в совет директоров некоммерческой компании Haiku Inc, курирующей разработку операционной системы Haiku, сообщил о намерении до 16 марта заблокировать доступ пользователей из Великобритании к форуму проекта и другим платформам, на которых осуществляется взаимодействие с сообществом. Решение объясняется юридическими и финансовыми рисками, возникшими из-за принятого в Великобритании закона Online Safety Act, вступающего в силу 16 марта. Отмечается, что у проекта нет ресурсов для юридического анализа и приведения инфраструктуры к требованиям закона. Выполнение требований усложняет необходимость выполнения большого объёма бюрократических процедур, связанных с подготовкой документации, описывающей процессы и оценивающей имеющиеся риски (перечень рисков занимает 84 … Читать далее Haiku ограничит доступ из Великобритании из-за риска нарушения закона Online Safety Act

Выпуск набора утилит GNU Coreutils 9.6

Опубликована стабильная версия набора базовых системных утилит GNU Coreutils 9.6, в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls и т.д. Ключевые новшества: В утилиту cksum добавлена опция «-a crc32b» для расчёта контрольных сумм в соответствии со спецификацией ITU V.42, используемой, например, в gzip. Добавлена оптимизация производительности с использованием инструкции pclmul. Для ускорения работы команды «cksum -a crc» задействованы SIMD-расширения AVX2, AVX512 и ARMv8, в тестах сокращающие время вычислений на 40%, 60% и 80%, соответственно. В утилиту ls добавлена опция «—sort=name» для явного выставления сортировки по имени файла. В … Читать далее Выпуск набора утилит GNU Coreutils 9.6

Выпуск Cozystack 0.22, открытой PaaS-платформы на базе Kubernetes

Доступен выпуск свободной PaaS-платформы Cozystack 0.22.0, построенной на базе Kubernetes. Проект нацелен на предоставление готовой платформы для хостинг-провайдеров и фреймворка для построения частных и публичных облаков. Платформа устанавливается напрямую на серверы и охватывает все аспекты подготовки инфраструктуры для предоставления управляемых сервисов. Cozystack позволяет запускать и предоставлять кластеры Kubernetes, базы данных и виртуальные машины. Код платформы доступен на GitHub и распространяется под лицензией Apache-2.0. В качестве базового стека технологий используется Talos Linux и Flux CD. Образы с системой, ядром и необходимыми модулями формируются заранее, и обновляются атомарно, что позволяет обойтись без таких компонентов как dkms и пакетный менеджер, и гарантировать стабильную … Читать далее Выпуск Cozystack 0.22, открытой PaaS-платформы на базе Kubernetes

Уязвимость в pam-u2f, позволяющая обойти аутентификацию на базе аппаратного токена

Разработчики проекта openSUSE выявили уязвимость (CVE-2025-23013) в PAM-модуле pam-u2f, применяемом при аутентификации через токены YubiKey, Yubico Security Key, YubiHSM и другие FIDO-устройства, поддерживающие протокол U2F (Universal 2nd Factor). Уязвимость позволяет пользователю, имеющему непривилегированный локальный доступ к системе, в определённых конфигурациях PAM пройти аутентификацию без вставки аппаратного токена. На практике модуль pam-u2f как правило подключается для двухфакторной или беспарольной аутентификации с использованием токенов (например, для подтверждения полномочий выполнения команд через утилиты su и sudo). Уязвимость вызвана некорректным возвращением функцией pam_sm_authenticate() значения PAM_IGNORE. Данное значение возвращается в случае ошибки выполнения вызовов gethostname(), pam_modutil_drop_priv(), pam_modutil_regain_priv() или resolve_authfile_path(), а также при проблемах выделения памяти … Читать далее Уязвимость в pam-u2f, позволяющая обойти аутентификацию на базе аппаратного токена

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

Один из сопровождающих пакеты в NixOS представил технику атаки, позволяющую получить доступ к данным на зашифрованных дисковых разделах, в конфигурациях, не требующих ввода пароля разблокировки при загрузке, благодаря размещению в TPM2 (Trusted Platform Module) информации для расшифровки. Такие конфигурации часто используются на серверах или многопользовательских рабочих станциях, на которых проблематично после каждой перезагрузки вручную вводить пароль. При применении подобного метода шифрования дисков, расшифровка выполняется с использованием дополнительного ключа, хранимого в TPM и выдаваемого только при подтверждении исходного состояния системы. Состояние системы сохраняется в виде хэшей в регистрах PCR (Platform Configuration Register) и привязывается к цифровой подписи, которой заверен загрузчик, а … Читать далее Обход дискового шифрования, использующего TPM2 для автоматической разблокировки

В GCC 15 решено убрать поддержку ABI ARM64 ILP32

В кодовую базу GCC, используемую для формирования ветки GCC 15, внесено изменение, удаляющее поддержку ABI ARM64 ILP32. ILP3 напоминает субархитектуру x32 для систем x86_64 и также позволяет использовать 32-разрядные указатели и 32-разрядную модель адресации памяти, при работе процессора в 64-разрядном режиме с поддержкой 64-разрядных регистров и расширенных инструкций. Ограничением ABI ILP32 является невозможность адресации из приложения более 4 ГБ памяти. Изначально ABI ILP32 был разработан для упрощения переноса 32-разрядных приложений на 64-разрядные процессоры AArch64, но не получил должного распространения. Поддержка ILP32 так и не была принята в ядро Linux и системную библиотеку Glibc. Отдельно развивались порты Linaro и Debian для … Читать далее В GCC 15 решено убрать поддержку ABI ARM64 ILP32

Обновление OpenVPN 2.6.13 с устранением проблемы с безопасностью

Опубликован выпуск пакета для создания виртуальных частных сетей OpenVPN 2.6.13, позволяющего организовать шифрованное соединение между двумя клиентскими машинами или обеспечить работу централизованного VPN-сервера для одновременной работы нескольких клиентов. В новой версии устранена проблема с безопасностью, приводящая к переполнению буфера на стороне сервера OpenVPN при получении от клиента логина или пароля, размер которых превышает значение USER_PASS_LEN. CVE-идентификатор уязвимости пока не присвоен и не ясно насколько проблема пригодна для создания рабочих эксплоитов. Из не связанных с безопасностью изменений можно отметить: Реализована отправка клиентом параметра IV_PLAT_VER, содержащего информацию о релизе операционной системы, выдаваемую функцией uname(), что позволяет на серверах собирать статистику о версиях … Читать далее Обновление OpenVPN 2.6.13 с устранением проблемы с безопасностью

Релиз дистрибутива Linux Mint 22.1

Представлен релиз дистрибутива Linux Mint 22.1, продолжающий развитие ветки на пакетной базе Ubuntu 24.04 LTS. Дистрибутив полностью совместим с Ubuntu, но существенно отличается подходом к организации интерфейса пользователя и подбором используемых по умолчанию приложений. Разработчики Linux Mint предоставляют десктоп-окружение, соответствующее классическим канонам организации рабочего стола, которое является более привычным для пользователей, не принимающих новые методы построения интерфейса GNOME 3. Для загрузки доступны DVD-сборки на базе оболочек MATE (3 ГБ), Cinnamon (3 ГБ) и Xfce (3 ГБ). Ветка Linux Mint 22 отнесена к выпускам с длительным сроком поддержки (LTS), обновления для которых будут формироваться до 2029 года. Основные изменения в Linux … Читать далее Релиз дистрибутива Linux Mint 22.1