Представен е новият свободен UNIX-подобен операционен система OpenBSD 7.8. Проектът OpenBSD е основан от Тэо де Раадт през 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, написан на C.
- Като утилита 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.
- bcmstbreset — контролер за ресетиране на Broadcom.
- rpone — контролер на периферията Raspberry Pi RP1.
- rpiclock — контролер на часовника Raspberry Pi RP1.
- rpipwm — контролер PWM на Raspberry Pi RP1.
- rpirtc — реално часово устройство Raspberry Pi.
- iasuskbd(4) — ASUS I2C HID.
- В驱верa 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 (+ патчи)
Източник: opennet.ru
