
Команда FreeBSD представила релиз 14.3. Среди фичей: поддержка современных Wi-Fi стандартов, улучшения для облачных сред и новые инструменты для управления доступом. Обещают также сохранить фокус на стабильность и производительность. Что ж, давайте посмотрим, что нам предлагают. В статье разберем ключевые нововведения, включая улучшения в поддержке беспроводных сетей, обновления сторонних компонентов и шаги в сторону подготовки к будущей ветке FreeBSD 15.
После шести месяцев активной разработки FreeBSD 14.3 стал доступен для широкого круга пользователей и поддерживает архитектуры amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 и riscv64. Установочные образы подготовлены для различных сценариев использования, в том числе виртуализации и облачных платформ. Релиз включает множество улучшений: от обновленных драйверов до новых возможностей управления доступом.
График поддержки и планы на будущее
FreeBSD 14.3 будет поддерживаться до 30 июня 2026 года. Это дает пользователям более года обновлений безопасности и исправлений. Для сравнения, поддержка предыдущего выпуска FreeBSD 14.2 завершится 30 сентября 2025 года, а ветка FreeBSD 14 в целом останется актуальной до 30 ноября 2028 года. Ветка FreeBSD 13.x, в свою очередь, будет поддерживаться до 30 апреля 2026 года.
Следующий выпуск, FreeBSD 14.4, запланирован на март 2026 года, а первый релиз FreeBSD 15 ожидается в декабре 2025 года. Важно отметить, что FreeBSD 15 прекратит поддержку 32-разрядных архитектур, за исключением armv7 и режима COMPAT_FREEBSD32, что отражает переход к современным 64-разрядным платформам.

Улучшения в поддержке беспроводных сетей
Одним из ключевых нововведений FreeBSD 14.3 стала значительная доработка прослойки LinuxKPI, которая позволяет использовать драйверы из ядра Linux во FreeBSD. В этом выпуске реализована поддержка стандартов Wi-Fi 4 (802.11n) и Wi-Fi 5 (802.11ac), а также возможность выноса операций шифрования на сетевые адаптеры. Эти улучшения нашли применение в драйвере iwlwifi, основанном на коде одноименного драйвера из Linux. Драйвер поддерживает беспроводные чипы Intel, используемые в современных ноутбуках.
Чтобы оптимизировать работу, прошивки iwlwififw для драйвера iwlwifi были вынесены из базовой системы и теперь устанавливаются через порты с использованием утилиты fwget. Это упрощает управление прошивками и их обновление.
Кроме того, драйвер rtw88, обеспечивающий поддержку беспроводных чипов Realtek (RTL8723DE, RTL8821CE, RTL8822*), был доработан для устранения утечек памяти и повышения стабильности. Этот драйвер также использует LinuxKPI и поддерживает стандарты 802.11n/ac. Дополнительно драйверы rtw88 и rtw89 синхронизированы с ядром Linux 6.14, что обеспечивает актуальность и совместимость с современным оборудованием.
Обновления сторонних компонентов
FreeBSD 14.3 включает обновленные версии ключевых сторонних компонентов для повышения производительности и безопасности системы. Вот что изменилось:
- LLVM обновлен до версии 19.1.7 (ранее 18.1.6);
- OpenSSH до версии 9.9p2;
- OpenZFS до версии 2.2.7;
- xz до версии 5.8.1;
- expat до версии 2.7.1;
- less до версии 668;
- file до версии 5.46;
- OpenSSL до версии 3.0.16.
Эти обновления обеспечивают совместимость с современными стандартами и исправляют известные уязвимости, что особенно важно для серверных и облачных развертываний.
Новые возможности для виртуализации и управления доступом
FreeBSD 14.3 расширяет возможности работы с jail-окружениями, которые являются основой для легковесной виртуализации в системе. В API MAC (Mandatory Access Control) добавлена поддержка привязки политик к конкретным jail-окружениям, что позволяет более гибко управлять доступом.
Также введен новый системный вызов setcred, который обеспечивает атомарную смену учетных данных процесса, таких как euid, ruid, группы и метки управления доступом. Для упрощения запуска команд от имени другого пользователя создана утилита mdo, которая работает аналогично su, но использует модуль ядра mac_do и системный вызов setcred. Модуль mac_do теперь поддерживает применение одного правила к нескольким пользователям и группам, что упрощает управление политиками.
В утилите sysctl появилась возможность привязки параметров к конкретному jail-окружению. Например, команда
sysctl -j foo net.fibs=2
позволяет установить параметр net.fibs
для jail с именем «foo». Аналогично, в утилите ip6addrctl добавлена опция -j
для управления адресами в виртуальном сетевом стеке jail.Улучшения сетевой и звуковой подсистем
В пакетный фильтр pf добавлен параметр
net.pf.default_to_drop
, который включает режим отбрасывания пакетов по умолчанию. Этот параметр может быть настроен для виртуальных сетевых стеков (vnet) в jail-окружениях, что повышает безопасность сетевых конфигураций. Также появилась возможность изменения sysctl-параметров виртуального сетевого стека из начального загрузчика, что упрощает настройку системы на этапе загрузки.В звуковой подсистеме реализовано динамическое выделение виртуальных каналов (vchan) для записи и воспроизведения звука. Это позволяет более эффективно использовать ресурсы и улучшает поддержку многоканального аудио.
Поддержка оборудования и облачных сред
FreeBSD 14.3 продолжает улучшать поддержку современного оборудования. В частности, для систем на архитектуре ARM64 добавлена поддержка горячего подключения PCIe-плат, что особенно актуально для серверных и облачных окружений. Драйвер mpi3mr для PCIe-контроллеров Broadcom MPIMR 3.0 IT/IR SAS был обновлен и включен в базовое ядро (GENERIC), обеспечивая надежную работу с современными хранилищами.
Драйверы для Ethernet-контроллеров в ix (Intel), igc (Intel) и bnxt (Broadcom) получили улучшения, что повышает производительность и совместимость с сетевым оборудованием. Также расширена поддержка Bluetooth-адаптеров Intel 9260/9560 в прошивках iwmbtfw и порте iwmbt-firmware.
Для облачных сред улучшена поддержка горячего подключения устройств на архитектурах x86 и arm64 («Graviton»).
Изменения в утилитах и пакетах
В утилите ps изменена логика обработки флага -U, который теперь фильтрует процессы по Real User ID вместо Effective User ID, что соответствует спецификации POSIX. В утилите grep прекращено следование символическим ссылкам при рекурсивном поиске, что повышает предсказуемость ее работы.
Пакетный менеджер pkg получил новый репозиторий FreeBSD-kmods, содержащий модули ядра, собранные специально для выпуска 14.3-RELEASE. Это упрощает установку и обновление модулей ядра.
Подготовка к будущим изменениям
FreeBSD 14.3 включает несколько предупреждений о грядущих изменениях. База открытых ключей /etc/publickey, использующая алгоритм DES, объявлена устаревшей. Также объявлено о предстоящем удалении менеджера логических томов gvinum в ветке FreeBSD 15, так как его разработка остановилась около 15 лет назад, а известные проблемы остаются нерешенными. Вместо gvinum рекомендуется использовать современные альтернативы, такие как gconcat, gmirror, gstripe, graid или ZFS.
Еще одно важное предупреждение касается драйвера консоли syscons, который несовместим с UEFI, не поддерживает UTF-8 и использует устаревшую глобальную блокировку ядра. Поддержка syscons будет прекращена в будущем, предположительно в FreeBSD 16, когда ядро окончательно избавится от глобальной блокировки.
Публикация контейнеров
В рамках FreeBSD 14.3 началась публикация образов контейнеров в формате OCI в репозиториях Docker и GitHub. Это упрощает развертывание FreeBSD в контейнеризированных окружениях, что особенно актуально для разработчиков и администраторов, использующих современные DevOps-практики.
Если вы уже опробовали новинку, пишите в комментариях, как она вам.