Wydanie OpenBSD 7.2

Zaprezentowano wydanie darmowego systemu operacyjnego typu UNIX OpenBSD 7.2. Projekt OpenBSD został założony przez Theo de Raadta w 1995 roku po konflikcie z twórcami NetBSD, w wyniku którego Theo odmówiono dostępu do repozytorium CVS NetBSD. Następnie Theo de Raadt wraz z grupą podobnie myślących ludzi stworzył nowy, otwarty system operacyjny oparty na drzewie źródeł NetBSD, którego głównymi celami rozwoju była przenośność (obsługiwanych jest 13 platform sprzętowych), standaryzacja, poprawne działanie, proaktywne bezpieczeństwo i zintegrowane narzędzia kryptograficzne. Pełny obraz instalacyjny ISO systemu podstawowego OpenBSD 7.2 zajmuje 556 MB.

Oprócz samego systemu operacyjnego projekt OpenBSD znany jest ze swoich komponentów, które rozpowszechniły się w innych systemach i okazały się jednymi z najbezpieczniejszych i wysokiej jakości rozwiązań. Wśród nich: LibreSSL (fork OpenSSL), OpenSSH, filtr pakietów PF, demony routingu OpenBGPD i OpenOSPFD, serwer OpenNTPD NTP, serwer poczty OpenSMTPD, multiplekser terminali tekstowych (analogicznie do ekranu GNU) tmux, demon identd z implementacją protokołu IDENT, alternatywa BSDL Pakiet GNU groff - mandoc, protokół organizacji systemów odpornych na uszkodzenia CARP (Common Address Redundancy Protocol), lekki serwer http, narzędzie do synchronizacji plików OpenRSYNC.

Główne ulepszenia:

  • Улучшена поддержка систем на базе архитектуры ARM, в том числе добавлена поддержка ARM-чипов Apple M2 и Ampere Altra. Добавлена поддержка ноутбука Lenovo ThinkPad x13s и других устройства на базе SoC Qualcomm Snapdragon 8cx Gen 3 (SC8280XP).
  • Добавлена возможность загрузки в окружениях Oracle Cloud ядра для ram-диска (bsd.rd) и ядра для многопроцессных систем (bsd.mp).
  • Включено устройство kstat, экспортирующее статистику о работе ядра, которая может быть просмотрена утилитой kstat.
  • Для каждого процессорного ядра с поддержкой MPERF/APERF реализованы датчики частоты CPU. При работе от аккумулятора включено масштабирование частоты CPU в зависимости от нагрузки.
  • На системах ARM64 добавлена начальная поддержка спящего режима. Лимит на число поддерживаемых CPU увеличен до 256. Реализована возможность переключения из консоли на основе фреймбуфера (glass console) в консоль на базе последовательного порта (serial console).
  • Удалён код для определения CPU 386sx/386dx, NexGen, Rise и старых процессоров Cyrix, выпущенных до чипа Cyrix M2.
  • Усовершенствована поддержка многопроцессорных систем (SMP). Переведены в разряд mp-safe функции ограничения пропускной способности (rate limit), поиска ARP-записей и route timer. Реализована возможность параллельного выполнения таких операций, как пересборка пакетов IPv4 и перенаправление IP-пакетов. В функции обработки входящих пакетов UDP и IP добавлены блокировки сокетов, использующие mutex. Избавлены от блокировок системные вызовы kbind и pledge. Реализованы блокировки UNIX-сокетов, действующие на уровне отдельных сокетов.
  • Реализация фреймворка drm (Direct Rendering Manager) синхронизирована с ядром Linux 5.15.69 (в прошлом выпуске — 5.15.26). В драйвер inteldrm добавлена поддержка чипов Intel на базе микроархитектур Alder Lake и Raptor Lake. Реализована поддержка фреймбуферов, не выравненных по границе страницы памяти (применяются, например, в MacBook Pro 2021 14″ и 16″).
  • Внесены улучшения в гипервизор VMM. В vmd добавлена поддержка обработчиков в пространстве пользователя на базе MMIO. В vmm эмуляция портов ввода/вывода перенесена в пространство пользователя. Унифицированы внутренние структуры и интерфейсы в vmd, vmctl и vmm. Добавлена возможность мониторинга виртуальных машин при помощи SNMP AgentX, используя параметры VM-MIB (RFC7666).
  • Переменная $rcexec в скриптах инициализации rc.d заменена на функцию rc_exec. Добавлена новая переменная daemon_execdir, позволяющая сменить каталог перед выполнением функции rc_exec. В rc.d и rcctl добавлено новое действие configtest для проверки синтаксиса конфигурации.
  • В состав включена утилита ts, добавляющая к строкам, принимаемым через стандартный ввод, время, отражающее момент поступления каждой строки.
  • В утилиту ps добавлена опция «-f» для древовидной группировки процессов, отражающей связь между родительскими и дочерними процессами.
  • В утилите openrsync реализована опция «—contimeout» для определения таймаута установки соединения.
  • В утилите pkg_add по умолчанию включено кэширование, оптимизирована работа с пакетами и обеспечен вывод индикатора выполнения операции во время передачи данных.
  • В fdisk улучшена работа с таблицами GPT и MBR, добавлены предупреждения при ненадлежащем размещении разделов MBR и GPT.
  • В утилите disklabel добавлена поддержка ключевого слова raid в шаблонах для автоматического размещения разделов с RAID. Прекращена поддержка редактирования информации о геометрии диска. Прекращена поддержка атрибутов ‘bs’ (размер загрузочного блока), ‘sb’ (размер суперблока) и d[0-4] (данные диска).
  • В каталог /usr/share/btrace помещена подборка полезных скриптов btrace для динамической трассировки и инспектирования приложений.
  • В звуковую библиотеку sndio добавлена функция sio_flush для немедленной остановки воспроизведения.
  • В состав включена утилита llvm-profdata для работы с данными профилирования.
  • В утилите wc ускорен подсчёт слов.
  • Добавлена поддержка нового оборудования, в том числе в состав включены новые драйверы:
    • aplaudio (звуковая подсистема Apple).
    • aplmca (MCA контроллер Apple).
    • aplsart (Apple SART).
    • alpdc, apldchidev, apldckbd, apldcms, aplrtk (клавиатура и трекпад Apple M2).
    • qcgpio, qciic (GPIO и GENI I2C контроллеры для Qualcomm Snapdragon).
    • sfgpio, stfclock, stfpinctrl, stftemp (драйверы для GPIO, таймера и датчиков плат SiFive).
    • sxirintc (контроллер прерываний для чипов Allwinner).
    • gpiorestart (драйвер для сброса через GPIO).
    • В ipmi расширена поддержка датчиков питания.
    • В ehci добавлена поддержка контроллера, применяемого в платах Marvell 3720.
  • В драйвере igc для гигабитных Ethernet-адаптеров Intel I225 включено аппаратное ускорение вычисления контрольных сумм для IPv4, TCP и UDP. В драйвере ix для Ethernet-адаптеров Intel 82598/82599/X540/X550 реализована поддержка аппаратного ускорения обработки сегментов TCP (Large Receive Offloading), включаемая при помощи опции tso в ifconfig.
  • В драйвере iwx реализована поддержка чипов Intel AX210/AX211 и расширен спектр определяемых беспроводных устройств.
  • Добавлена возможность загрузки с разделов программных RAID 1 (softraid) на системах amd64, sparc64 и arm64.
  • В snmpd и xlock реализовано разделение привилегий.
  • В функциях bind и connect для UNIX-сокетов обеспечена изоляция на базе системного вызова unveil.
  • Добавлен новый системный вызов ypconnect для создания сокета для соединения с сервером YP, используя IP-адрес из заблокированного файла ypbinding. В ypldap добавлен режим ‘local bind’, при котором осуществляется привязка RPC-сокета к loopback-интерфейсу, чтобы исключить внешние соединения с сервером.
  • Размещённые в каталоге /sbin программы hcpleased, mountd, nfsd, pflogd, resolvd, slaacd и unwind переведены на использование динамического связывания для задействования дополнительных средств защиты, применимых к динамически связываемым исполняемым файлам.
  • В сетевом стеке реализованы системные вызовы sendmmsg и recvmmsg, которые позволяют в рамках одного системного вызова организовать отправку и чтение сразу нескольких сообщений, которые ранее потребовали бы отдельных вызовов sendmsg и recvmsg.
  • В пакетном фильтре pf изменена обработка пакетов IGMP и ICMP6 MLD (Multicast Listener Discovery), которая позволила наладить работу с управляющими multicast-пакетами в конфигурации по умолчанию. Реализована более строгая проверка сообщений IGMP/MLD.
  • В IPsec улучшена работа с сертификатами. В iked улучшена совместимость с OpenIKED. В команду ikectl show stats добавлен вывод статистики об успешных и сбойных подключениях к iked.
  • В bgpd добавлен фильтр max-communities для ограничения числа разрешённых community, реализован RFC 9234 (Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages), обеспечена полная поддержка RFC 7911 (Advertisement of Multiple Paths in BGP), статические хэши заменены на RB-деревья для повышения производительности крупных систем. Добавлен процесс bgplgd с реализацией сервера FastCGI, предоставляющего REST API для команд bgpctl.
  • В rpki-client разрешено использование более одного CRL URI в сертификатах, реализован параметр skiplist для игнорирования доменов, добавлена возможность проверки ASPA (Autonomous System Provider Authorization) и sig-файлов, реализовано декодирование TAL (RFC 8630), ужесточена проверка EE-сертификатов, улучшена совместимость со спецификациями HTTP.
  • В snmpd разрешено использование в snmpd.conf имён объектов, помимо OID. Реализована возможность задания чёрного списка для исключения поддеревьев из вывода. В реализацию протокола AgentX добавлена поддержка агента master.
  • В httpd предложены новые определения MIME-типов.
  • Утилита ftp переведена на использование соединений, обрабатываемых в неблокирующем режиме при помощи ppoll.
  • В tmux («terminal multiplexer») добавлена возможность использования ACL для организации подключения нескольких пользователей через один сокет.
  • Обновлены пакеты LibreSSL и OpenSSH. Подробный обзор улучшений можно посмотреть в обзорах LibreSSL 3.6.0 и OpenSSH 9.1.
  • Число портов для архитектуры AMD64 составило 11451 (было 11301), для aarch64 — 11261 (было 11081), для i386 — 10225 (было 10136). Среди версий приложений в портах:
    • Asterisk 16.28.0, 18.14.0 and 19.6.0
    • Audacity 2.4.2
    • CMake 3.24.2
    • Chromium 105.0.5195.125
    • Emacs 28.2
    • FFmpeg 4.4.2
    • GCC 8.4.0 i 11.2.0
    • GHC 9.2.4
    • GNOME 42.4
    • Idź 1.19.1
    • JDK 8u342, 11.0.16 i 17.0.4
    • Sprzęt KDE 22.08.1
    • Szkielety KDE 5.98.0
    • Krita 5.1.1
    • LLVM/Clang 13.0.0
    • LibreOffice 7.4.1.2
    • Lua 5.1.5, 5.2.4 и 5.3.6
    • MariaDB 10.9.3
    • Mono 6.12.0.182
    • Mozilla Firefox 105.0.1 i ESR 102.3.0
    • Mozilla Thunderbird 102.3.0
    • Mutt 2.2.7 i NeoMutt 20220429
    • Node.js 16.17.1
    • OCaml 4.12.1
    • OtwórzLDAP 2.6.3
    • PHP 7.4.30, 8.0.23 i 8.1.10
    • Postfiks 3.7.2
    • PostgreSQL 14.5
    • Python 2.7.18, 3.9.14 и 3.10.7
    • Qt 5.15.6 i 6.3.1
    • R 4.2.1
    • Ruby 2.7.6, 3.0.4 i 3.1.2
    • Rdza 1.63.0
    • SQLite 3.39.3
    • Shotcut 22.06.23
    • Sudo 1.9.11.2
    • Meerkat 6.0.6
    • Tcl/Tk 8.5.19 i 8.6.12
    • TeX na żywo 2021
    • Vima 9.0.0192 i Neovima 0.7.2
    • Xfce 4.16
  • Zaktualizowane komponenty innych firm zawarte w OpenBSD 7.2:
    • Stos graficzny Xenocara oparty na X.Org 7.7 z xserver 1.21.4 + łatki, freetype 2.12.1, Fontconfig 2.13.94, Mesa 22.1.7, xterm 372, xkeyboard-config 2.20, Fonttosfnt 1.2.2.
    • LLVM/Clang 13.0.0 (+ poprawki)
    • GCC 4.2.1 (+ łatki) i 3.3.6 (+ łatki)
    • Perl 5.32.1 (+ poprawki)
    • NSD4.6.0
    • Bez ograniczeń 1.16.3
    • Nkursy 5.7
    • Binutils 2.17 (+ poprawki)
    • Gdb 6.3 (+ łatka)
    • Awk 12.9.2022
    • Ekspatriant 2.4.9

Źródło: opennet.ru

Dodaj komentarz