Издање ОпенБСД 7.2

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

Поред самог оперативног система, ОпенБСД пројекат је познат по својим компонентама које су постале распрострањене у другим системима и показале су се као једно од најбезбеднијих и најквалитетнијих решења. Међу њима: ЛибреССЛ (форк ОпенССЛ-а), ОпенССХ, ПФ филтер пакета, ОпенБГПД и ОпенОСПФД демони рутирања, ОпенНТПД НТП сервер, ОпенСМТПД маил сервер, текстуални терминалски мултиплексер (аналогно ГНУ екрану) тмук, идентд демон са имплементацијом ИДЕНТ протокола, БСДЛ алтернатива ГНУ грофф пакет - мандоц, протокол за организовање система отпорних на грешке ЦАРП (Цоммон Аддресс Редунданци Протоцол), лагани хттп сервер, ОпенРСИНЦ услужни програм за синхронизацију датотека.

Главна побољшања:

  • Улучшена поддержка систем на базе архитектуры 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
    • Аудацити КСНУМКС
    • ЦМаке 3.24.2
    • Хром 105.0.5195.125
    • Емацс КСНУМКС
    • ФФмпег 4.4.2
    • ГЦЦ 8.4.0 и 11.2.0
    • ГХЦ 9.2.4
    • ГНОМЕ КСНУМКС
    • Иди КСНУМКС
    • JDK 8u342, 11.0.16 и 17.0.4
    • КДЕ Геар 22.08.1
    • КДЕ оквири КСНУМКС
    • Крита КСНУМКС
    • ЛЛВМ/Цланг 13.0.0
    • ЛибреОффице КСНУМКС
    • Lua 5.1.5, 5.2.4 и 5.3.6
    • МариаДБ 10.9.3
    • Моно 6.12.0.182
    • Мозилла Фирефок 105.0.1 и ЕСР 102.3.0
    • Мозилла Тхундербирд КСНУМКС
    • Mutt 2.2.7 и NeoMutt 20220429
    • Ноде.јс 16.17.1
    • ОЦамл 4.12.1
    • ОпенЛДАП 2.6.3
    • ПХП 7.4.30, 8.0.23 и 8.1.10
    • Постфик 3.7.2
    • ПостгреСКЛ 14.5
    • Python 2.7.18, 3.9.14 и 3.10.7
    • Qt 5.15.6 и 6.3.1
    • Р КСНУМКС
    • Руби 2.7.6, 3.0.4 и 3.1.2
    • Руст 1.63.0
    • СКЛите 3.39.3
    • Шут 22.06.23
    • Судо 1.9.11.2
    • Мееркат 6.0.6
    • Тцл/Тк 8.5.19 и 8.6.12
    • ТеКс Ливе 2021
    • Вим 9.0.0192 и Неовим 0.7.2
    • Ксфце КСНУМКС
  • Ажуриране компоненте треће стране укључене у ОпенБСД 7.2:
    • Ксеноцара графички стек заснован на Кс.Орг 7.7 са ксервер 1.21.4 + закрпе, фреетипе 2.12.1, фонтцонфиг 2.13.94, Меса 22.1.7, ктерм 372, ккеибоард-цонфиг 2.20, фонт1.2.2.
    • ЛЛВМ/Цланг 13.0.0 (+ закрпе)
    • ГЦЦ 4.2.1 (+ закрпе) и 3.3.6 (+ закрпе)
    • Перл 5.32.1 (+ закрпе)
    • НСД 4.6.0
    • Невезано 1.16.3
    • Нцурсес 5.7
    • Бинутилс 2.17 (+ закрпе)
    • Гдб 6.3 (+ закрпа)
    • Авк 12.9.2022
    • Екпат 2.4.9

Извор: опеннет.ру

Додај коментар