Релиз OpenBSD 7.8

Представлен выпуск свободной UNIX-подобной операционной системы OpenBSD 7.8. Проект OpenBSD был основан Тэо де Раадтом (Theo de Raadt) в 1995 году после конфликта с разработчиками NetBSD, в результате которого для Тэо был закрыт доступ к CVS репозиторию NetBSD. После этого Тэо де Раадт с группой единомышленников создал на базе дерева исходных текстов NetBSD новую открытую операционную систему, главными целями развития которой стали переносимость (поддерживается 13 аппаратных платформ), стандартизация, корректная работа, проактивная безопасность и интегрированные криптографические средства. Размер полного установочного ISO-образа базовой системы OpenBSD 7.8 составляет 597 МБ.

Кроме непосредственно операционной системы, проект OpenBSD известен своими компонентами, которые получили распространение в других системах и зарекомендовали себя как одни из наиболее безопасных и качественных решений. Среди них: LibreSSL (форк OpenSSL), OpenSSH, пакетный фильтр PF, демоны маршрутизации OpenBGPD и OpenOSPFD, NTP-сервер OpenNTPD, почтовый сервер OpenSMTPD, мультиплексор текстового терминала (аналог GNU screen) tmux, демон identd с реализацией протокола IDENT, BSDL-альтернатива пакету GNU groff – mandoc, протокол для организации отказоустойчивых систем CARP (Common Address Redundancy Protocol), легковесный http-сервер, утилита синхронизации файлов OpenRSYNC.

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

  • В порте для архитектуры ARM64 добавлена поддержка плат Raspberry Pi 5, реализован драйвер acpicpu, обеспечена работа apm (Advanced Power Management) и sysctl hw.cpuspeed на устройствах с чипами Qualcomm Snapdragon X Elite.
  • Реализована поддержка флага FD_CLOFORK (close-on-fork) для закрытия файлового дескриптора для дочерних процессов после вызова функции fork(). По сравнению с остальными реализациями обеспечен сброс данного флага после вызова функции exec() из соображений безопасности и удобства.
  • Добавлена подсистема для выполнения высокоуровневых операций выделения, планирования и диспетчеризации программных прерываний (soft interrupt dispatcher).
  • Ядро переведено на использование наносекунд вместо тиков таймера при выполнении функции sleep, что позволяет избежать потери точности из-за преобразований из наносекунд в тики и обратно при инициировании операций из библиотечных функции в пространстве пользователя.
  • Повышена совместимость с файловыми системами на базе механизма FUSE (Filesystem in Userspace), в реализации которых используется библиотека libfuse.
  • Улучшена поддержка спящего и ждущего режимов. Обеспечено предварительное выделение рабочей области для спящего режима во время загрузки. Добавлена возможность использования ждущего режима при подключении устройств через GPIO. Добавлена поддержка перевода в ждущий режим ноутбуков с CPU AMD при использовании режима пониженного энергопотребления S0ix.
    Реализован sysctl ddb.suspend, позволяющий пропустить перевод в ждущий режим драйверов inteldrm и amdgpu, чтобы экран оставался активным.
    Повышена надёжность работы ждущего режима S3 при использовании графического драйвера amdgpu.
  • Усовершенствована поддержка многопроцессорных систем (SMP). Обеспечено распараллеливание работы TCP-стека на разных ядрах CPU.
    Для обработки TCP-трафика и входящих сетевых пакетов теперь может использоваться до 8 потоков (но не больше, чем ядер CPU). Реализовано параллельное выполнение операций пересборки фрагментов IPv6-пакетов и разбора параметров маршрутизации IPv6.
    Избавлены от глобальной блокировки системные вызовы close() и listen().
  • Реализация фреймворка drm (Direct Rendering Manager) синхронизирована с ядром Linux 6.12.50 (в прошлом выпуске – 6.12.21). Добавлены новые драйверы qcdrm и qcdpc для DRM-подсистемы чипов Qualcomm Snapdragon и DisplayPort-контроллера Qualcomm.
  • Реализована поддержка работы OpenBSD в виртуальных машинах kvm/qemu при использовании для защиты гостевой системы расширения AMD SEV-ES (Encrypted State). В гипервизор vmd добавлена возможность запуска гостевых систем в режиме AMD SEV-ES, для включения которого в vm.conf добавлен параметр “seves”. Обновлены эмулируемые Virtio-устройства network, block, entropy и scsi, в которых реализована поддержка спецификации Virtio 1.2.
  • Утилита pkg-config переведена с собственной реализации на Perl на использование инструментария pkgconf 2.4.3, написанного на Си.
  • В качестве утилиты watch, периодически запускающей команды и показывающей их вывод, задействована программа iwatch.
  • В скрипт security, выполняющий периодическую проверку безопасности, добавлена функциональность для создания резервных копий GPT/MBR. Для восстановления копии GPT/MBR из файла в утилиту fdisk добавлена опция “-R”.
  • В фоновый процесс apmd добавлена опция “-w процент” и обработчик /etc/apm/warnlow для организации вывода предупреждения при снижении заряда аккумулятора ниже указанного уровня.
  • Реализована новая система профилирования gprof, использующая системный вызов profil.
  • Расширена поддержка оборудования и добавлены новые драйверы:
    • acpiwmi – Windows Management Instrumentation.
    • amdpmc – контроллер управления энергопотреблением AMD.
    • bcmmip – контроллер MSI BCM2712.
    • bcmstbgpio – контроллер GPIO Broadcom.
    • bcmstbintc – контроллер прерываний Broadcom.
    • bcmstbpinctrl – Broadcom pin multiplexing.
    • bcmstbrescal – Broadcom reset calibration controller.
    • bcmstbreset – Broadcom reset controller.
    • rpone – Raspberry Pi RP1 peripheral controller.
    • rpiclock – Raspberry Pi RP1 clock controller.
    • rpipwm – Raspberry Pi RP1 PWM controller.
    • rpirtc – Raspberry Pi real-time clock.
    • iasuskbd(4) – ASUS I2C HID.
  • В драйвер web-камер uvideo добавлено поддержка кодека H.264.
  • Добавлен фоновый процесс lldpd с реализацией протоколов LLDP (Link Layer Discovery Protocol) и утилита lldp для управления им.
  • Добавлен фоновый процесс bpflogd для захвата сетевых пакетов при помощи bpf (Berkeley Packet Filter) и их записи в лог в формате tcpdump.
  • В iked, реализации протокола IKEv2 для IPsec, добавлена возможность загрузки нескольких сертификатов из файла.
  • Библиотека LibreSSL обновлена до версии 4.2.0, в которой предложен API для использования алгоритма обмена ключами ML-KEM (CRYSTALS-Kyber), стойкого к подбору на квантовом компьютере.
  • Обновлён OpenSSH. Список изменений можно посмотреть в анонсах OpenSSH 10.1 и 10.2:
  • Число портов для архитектуры AMD64 составило 12651 (было 12593), для aarch64 – 12506 (было 12446), для i386 – 10457 (было 10429). Среди версий приложений в портах:
    • Asterisk 22.5.2
    • Audacity 3.7.5
    • CMake 3.31.8
    • Chromium 141.0.7390.54
    • Emacs 30.2
    • FFmpeg 6.1.3
    • GCC 8.4.0 и 11.2.0
    • GHC 9.8.3
    • GNOME 48
    • Go 1.25.1
    • JDK 8u462, 11.0.28, 17.0.16, 21.0.8 и 25.0.0
    • KDE Applications 25.08.1
    • KDE Frameworks 6.18.0
    • KDE Plasma 6.4.5
    • Krita 5.2.13
    • LLVM/Clang 19.1.7, 20.1.8 и 21.1.2
    • LibreOffice 25.8.1.1
    • Lua 5.1.5, 5.2.4, 5.3.6 и 5.4.7
    • MariaDB 11.4.7
    • Mono 6.12.0.199
    • Mozilla Firefox 143.0.3 и ESR 140.3.1
    • Mozilla Thunderbird 143.3.1
    • Mutt 2.2.15 и NeoMutt 20250905
    • Node.js 22.20.0
    • OCaml 4.14.2
    • OpenLDAP 2.6.10
    • PHP 8.2.29, 8.3.26 и 8.4.13
    • Postfix 3.5.25 и 3.10.1
    • PostgreSQL 17.6
    • Python 2.7.18 и 3.12.11
    • Qt 5.15.16 (+ патчи от kde) и 6.8.3
    • R 4.5.1
    • Ruby 3.2.9, 3.3.9 и 3.4.6
    • Rust 1.90.0
    • SQLite 3.50.4
    • Shotcut 25.08.16
    • Sudo 1.9.17p2
    • Suricata 7.0.7
    • Tcl/Tk 8.5.19 и 8.6.16
    • TeX Live 2025
    • Vim 9.1.1706 и Neovim 0.11.4
    • Xfce 4.20.0
  • Обновлены компоненты от сторонних разработчиков, входящие в состав OpenBSD 7.8:
    • Графический стек Xenocara на базе X.Org 7.7 с xserver 21.1.18 + патчи, freetype 2.13.3, fontconfig 2.15.0, Mesa 25.0.7, xterm 399, xkeyboard-config 2.20, fonttosfnt 1.2.4.
    • LLVM/Clang 19.1.7 (+ патчи)
    • GCC 4.2.1 (+ патчи) и 3.3.6 (+ патчи)
    • Perl 5.40.1 (+ патчи)
    • NSD 4.3.0
    • Unbound 1.24.0
    • Ncurses 6.4
    • Binutils 2.17 (+ патчи)
    • Gdb 6.3 (+ патчи)
    • Awk 20250116
    • Expat 2.7.3
    • zlib 1.3.1 (+ патчи)
Release. Ссылка here.