Источник.

На днях вышла OpenBSD 7.8, продолжая традицию регулярных обновлений каждые полгода. С 1995 команда держит фокус на безопасности, переносимости и простоте кода. Размер базового ISO-образа — около 597 МБ. Скачать его можно с зеркал — например, ftp.openbsd.org. В отличие от более громоздких дистрибутивов, OpenBSD предпочитает минимализм: система собирается из исходников, а пакеты портов обновляются параллельно.

За тридцать лет в стандартной установке нашлось всего лишь две уязвимости, что делает OpenBSD эталоном для других ОС. Если предыдущая версия 7.7 вышла в апреле, то этот релиз накопил изменения, ориентированные на современное железо и сетевые нагрузки. Разработчики подчеркивают, что улучшения касаются почти всех компонентов, от ядра до утилит, без лишней мишуры. В целом, обновление подойдет администраторам, работающим с виртуализацией или embedded-устройствами, где стабильность важнее новизны. Что ж, давайте посмотрим, что нам тут приготовили.

Релиз отражает философию проекта: код пишут для ясности, а не для скорости любой ценой. Стоит отметить, что в 7.8 заметно усилили производительность в ключевых областях. Например, многопоточный стек TCP теперь распределяет обработку трафика по ядрам процессора, что приближает OpenBSD к конкурентам по скорости в сетевых сценариях.

Многие нововведения спонсированы сообществом и компаниями вроде Google или ARM, что помогает поддерживать 13 архитектур, включая arm64 и riscv64. Полный changelog перечисляет тысячи коммитов, но мы разберем основные направления, где изменения ощутимы на практике. Для установки советуют выполнить sysupgrade, а затем pkg_add -u для обновления всех установленных пакетов. Весь процесс проходит быстро и завершается автоматической перезагрузкой.

Бесплатная миграция в Selectel

Начислим до 1 000 000 бонусов на два месяца. А наши инженеры подготовят план и поддержат на всех этапах миграции.

Подробнее →

Аппаратная совместимость: от Raspberry Pi до Snapdragon

Поддержка нового оборудования в 7.8 вышла на иной уровень, особенно для ARM‑платформ, где добавили Raspberry Pi 5 с консолью через serial-порт. Это значит, что плата с чипом BCM2712 теперь запускает систему без дополнительных хаков, включая драйверы для PCIe-контроллера и периферии RP1 — от PWM и RTC до GPIO и прерываний. Разработчики интегрировали bcmstbgpio(4), bcmstbintc(4) и другие модули от Broadcom, что упрощает сборку компактных серверов или IoT-устройств на базе этой платы.

Для пользователей, экспериментирующих с SBC, такой шаг делает OpenBSD реальной альтернативой Linux-дистрибутивам вроде Raspberry Pi OS — но с бо́льшим упором на безопасность. На arm64 также улучшили acpicpu(4) для ACPI-управления CPU, что помогает в энергосбережении на ноутбуках с Apple Silicon — теперь exuart(4) ловит BREAK-сигналы для входа в отладчик.

Переходя к x86 и AMD, отметим доработки для графики и управления питанием. Драйвер amdgpio(4) обзавелся поддержкой wakeup-прерываний, позволяя ноутбукам на Ryzen возобновлять работу из S0ix-режима без проблем с USB-портами. Новая опция ddb.suspend для sysctl запрещает графическим драйверам inteldrm и amdgpu уходить в suspend, оставляя экран активным для отладки.

Фреймворк DRM синхронизировали с Linux 6.12.50, добавив qcdrm(4) и qcdpc(4) для Snapdragon. Открывается путь к работе на Qualcomm X Elite, включая DisplayPort и H.264 в uvideo(4) для веб-камер. На Rockchip появились свежие драйверы, а для виртуализации — исправления в vmm(4) для AMD SEV-ES, где PSP-ioctl шифрует состояние гостевой машины, и опция seves в vm.conf для vmd. Virtio-устройства обновили до спецификации 1.2, улучшив сеть, блочное хранение и SCSI в KVM/QEMU.

Не обошли вниманием и другие интерфейсы: iasuskbd(4) для ASUS I2C HID-клавиатур, acpiwmi(4) для WMI-сенсоров, amdpmc(4) для энергоконтроллеров AMD. Драйверы APM(4) и hw.cpuspeed(4) теперь работают на Snapdragon X Elite, а в FUSE повысили совместимость с Linux-версией, чтобы монтирование внешних ФС проходило более гладко.

В целом, эти новшества делают систему удобнее для десктопов и облачных инстансов, где раньше требовались патчи. Если прежде OpenBSD казалась консервативной в железе, то 7.8 показывает, что проект догоняет лидеров, фокусируясь на стабильных драйверах без лишних зависимостей. Для тестирования подойдет эмулятор QEMU, где SEV-ES уже дает заметный прирост в конфиденциальности VM.

Источник

Сеть и ядро: параллелизм и новые демоны

В сетевом стеке 7.8 ввели распараллеливание TCP до восьми потоков, привязанных к ядрам CPU — это устраняет глобальные блокировки при обработке пакетов и ускоряет IPv6‑фрагментацию с маршрутизацией. Раньше под высокой нагрузкой наблюдались узкие места, но теперь close() и listen() работают без блокировок, что полезно для серверов с тысячами соединений.

Добавили lldpd(8) — демон для LLDP-протокола, который автоматически обнаруживает топологию Ethernet-сетей, помогая в мониторинге и конфигурации без ручного ввода. Утилита lldp управляет им, а bpflogd(8) захватывает трафик через BPF в формате tcpdump, упрощая логирование для отладки. В iked(8) для IPsec теперь загружают несколько сертификатов из файла, повышая гибкость VPN.

Ядро также получило развитие: внедрили флаг FD_CLOFORK, который автоматически закрывает дескрипторы в дочерних процессах, созданных fork(), со сбросом после exec() для защиты от утечек. Системный вызов sleep() перешел на наносекунды вместо тиков, избегая потери точности в тайминге. Новая подсистема soft interrupt dispatcher распределяет высокоуровневые прерывания.

Утилиту gprof(1) переработали для совместимости с pledge(), unveil() и chroot — теперь профилирование в привилегированных средах не требует ослаблять или отключать встроенные механизмы изоляции. Улучшения в SMP включают параллельную обработку IPv6 и избавление от блокировок в системных вызовах. Вместе с наносекундным усовершенствованием sleep() эти изменения сделали ядро отзывчивее в многозадачных сценариях. У разработчиков снижается количество ошибок в многопоточном коде, а у администраторов — сохраняется стабильность системы под высокой нагрузкой.

Виртуализация развивается через AMD SEV-ES — PSP-ioctl шифрует и измеряет состояние, а vmd запускает гостевые ОС в защищенном режиме. Технология AMD SEV-ES, предшественница SEV-SNP, полезна для облачных технологий, где неприкосновенность данных критически важна.

Файловые системы на FUSE теперь ближе к Linux, с лучшей поддержкой атрибутов и монтирования. В netstat(1) усовершенствовали вывод для multicast-маршрутов и divert-протоколов, добавив детали для анализа трафика.

Такие изменения плавно связывают уровни ядра и пользователя. Например, демон lldpd обнаруживает устройства, bpflogd логирует, а многопоточный TCP обрабатывает данные без задержек. В итоге сетевая подсистема в 7.8 подходит не только для создания фаерволов, но и для высоконагруженных приложений, где раньше OpenBSD уступала по скорости. Все эти улучшения работают в комплексе, повышая общую производительность.

Безопасность и софт: LibreSSL, SSH и порты

Безопасность остается краеугольным камнем: LibreSSL обновили до 4.2.0 с API для ML-KEM (Kyber), устойчивого к квантовым атакам, что усиливает TLS против будущих угроз. OpenSSH дошел до 10.2, добавив предупреждения о слабых алгоритмах ключей (WarnWeakCrypto в ssh_config) и меняя DSCP для QoS в неинтерактивном трафике. Исправление в sshd(8) устраняет утечки слотов MaxStartups, предотвращая DoS от ложных подключений.

В security(8) добавили бэкапы GPT/MBR, а fdisk(8) — опцию -R для восстановления. В управлении питанием apmd(8) предупредит о низком заряде, если передать флаг -w и указать скрипт /etc/apm/warnlow, ответственный за оповещение. Эти меры интегрируются с ядром: profil(2) для gprof работает в chroot, а pledge() не мешает профилированию.

Софт тоже обновился. На смену pkg-config(1) пришла pkgconf 2.4.3, которая написана на C и больше не требует Perl. Стандартную watch(1) заменили на iwatch для мониторинга файлов. Терминальный мультиплексор tmux(1) получил 16 новых функций. Среди них — поддержка булевых выражений в форматах, флаги -r и -N для привязки клавиш, а также корректная работа с UTF-8 в VI-режиме ksh(1).

В портах: amd64 — 12 651 пакет (рост на 58), aarch64 — 12 506. Выделяются Firefox 143.0.3, Chromium 141, GNOME 48, KDE Plasma 6.4.5, LibreOffice 25.8.1.1, LLVM/Clang 19.1.7 с C++20/23/26 в base. Go 1.25.1, Rust 1.90.0, Python 3.12.11. Графический стек Xenocara: X.Org 7.7, Mesa 25.0.7, xterm 399. NSD 4.3.0, Unbound 1.24.0 для DNS.

В целом, OpenBSD старается балансировать между минимализмом и удобством. Ключевые обновления, вроде Node.js 22.20.0 или PostgreSQL 17.6, приходят своевременно. При этом в систему не попадает избыточная функциональность. Продолжают развиваться LibreSSL и OpenSSH — флагманские проекты, в которых безопасность заложена на уровне архитектуры.

Для тех, кто выполняет обновление или задумывается о миграции, советуем использовать sysupgrade в связке со снапшотами. Такой подход минимизирует время простоя.

В итоге в 7.8 обновления служат стабильности, а не хайпу. Если вы уже опробовали эту ОС, напишите в комментариях, как она вам.

Комментарии (0)