OpenBSD 7.2 шығарылымы

OpenBSD 7.2 тегін UNIX тәрізді операциялық жүйенің шығарылымы ұсынылған. OpenBSD жобасын Тео де Раадт 1995 жылы NetBSD әзірлеушілерімен қақтығыстан кейін құрды, нәтижесінде Теоға NetBSD CVS репозиторийіне кіруге рұқсат берілмеді. Осыдан кейін Тео де Раадт және пікірлестер тобы NetBSD бастапқы ағашына негізделген жаңа ашық операциялық жүйені құрды, оның негізгі даму мақсаттары портативтілік (13 аппараттық платформаға қолдау көрсетіледі), стандарттау, дұрыс жұмыс істеу, белсенді қауіпсіздік болды. және біріктірілген криптографиялық құралдар. OpenBSD 7.2 базалық жүйесінің толық орнату ISO кескіні 556 МБ құрайды.

Операциялық жүйенің өзінен басқа, OpenBSD жобасы басқа жүйелерде кең тараған және өзін ең қауіпсіз және жоғары сапалы шешімдердің бірі ретінде дәлелдеген компоненттерімен танымал. Олардың ішінде: LibreSSL (OpenSSL шанышқысы), OpenSSH, PF пакеттік сүзгісі, OpenBGPD және OpenOSPFD маршруттау демондары, OpenNTPD NTP сервері, OpenSMTPD пошта сервері, мәтіндік терминалды мультиплексор (GNU экранына ұқсас) tmux, IDENT протоколын енгізуі бар идентификациялық демон, BSDL балама GNU groff пакеті – mandoc, қатеге төзімді жүйелерді ұйымдастыруға арналған хаттама CARP (Common Address Redundancy Protocol), жеңіл http сервері, OpenRSYNC файлдарды синхрондау утилитасы.

Негізгі жақсартулар:

  • Улучшена поддержка систем на базе архитектуры 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 және 11.2.0
    • GHC 9.2.4
    • GNOME 42.4
    • 1.19.1 өтіңіз
    • JDK 8u342, 11.0.16 және 17.0.4
    • KDE Gear 22.08.1
    • KDE Framework 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
    • Моно 6.12.0.182
    • Mozilla Firefox 105.0.1 және ESR 102.3.0
    • Mozilla Thunderbird 102.3.0
    • Mutt 2.2.7 және NeoMutt 20220429
    • Node 16.17.1
    • OCaml 4.12.1
    • OpenLDAP 2.6.3
    • PHP 7.4.30, 8.0.23 және 8.1.10
    • Postfix 3.7.2
    • PostgreSQL 14.5
    • Python 2.7.18, 3.9.14 и 3.10.7
    • Qt 5.15.6 және 6.3.1
    • R 4.2.1
    • Ruby 2.7.6, 3.0.4 және 3.1.2
    • Тот 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 және 8.6.12
    • TeX Live 2021
    • Vim 9.0.0192 және Neovim 0.7.2
    • Xfce 4.16
  • OpenBSD 7.2 құрамына кіретін жаңартылған үшінші тарап құрамдастары:
    • xserver 7.7 + патчтары бар X.Org 1.21.4 негізіндегі Xenocara графикалық стегі, 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 (+ патчтар)
    • GCC 4.2.1 (+ патчтар) және 3.3.6 (+ патчтар)
    • Perl 5.32.1 (+ патчтар)
    • NSD 4.6.0
    • Байланбаған 1.16.3
    • Қарғыс 5.7
    • Binutils 2.17 (+ патчтар)
    • Gdb 6.3 (+ патч)
    • Awk 12.9.2022/XNUMX/XNUMX
    • Expat 2.4.9

Ақпарат көзі: opennet.ru

пікір қалдыру