Выпуск OpenBSD 7.0

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

Акрамя непасрэдна аперацыйнай сістэмы, праект 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.

Асноўныя паляпшэнні:

  • Дададзены порт для 64-разрадных сістэм на базе архітэктуры RISC-V. У наш час падтрымліваецца праца на поплатках HiFive Unmatched і часткова на PolarFire SoC Icicle Kit.
  • У порце для платформаў ARM64 палепшана, але пакуль усё яшчэ не даведзена да канца, падтрымка прылад Apple з працэсарам M1. У бягучым выглядзе падтрымліваецца ўстаноўка OpenBSD на дыск з GPT і ёсць драйверы для USB 3, NVME, GPIO і SPMI. Акрамя M1 у порце ARM64 таксама пашырана падтрымка Raspberry Pi 3 Model B + і поплаткаў на базе SoC Rockchip RK3399.
  • Для архітэктуры AMD64 адключаны па змаўчанні кампілятар GCC (пакінуты толькі Clang). Раней GCC быў адключаны для архітэктур armv7 і i386.
  • Спынена суправаджэнне платформы SGI.
  • Для платформаў amd64, arm64, i386, sparc64 і powerpc64 па змаўчанні ўключана зборка ядра з падтрымкай сістэмы дынамічнай трасіроўкі dt. Дададзены правайдэр kprobes для збору інфармацыі аб падзеях на ўзроўні ядра.
  • У btrace рэалізавана падтрымка аператараў "<" і ">" у фільтрах і забяспечаны выснова часу знаходжання ў прасторы карыстача пры аналізе стэка ядра.
  • Дададзены канфігурацыйны файл /etc/bsd.re-config, які можна выкарыстоўваць для налады ядра падчас загрузкі і ўключэнні/адключэнні вызначаных прылад.
  • Забяспечана вызначэнне наяўнасці прылад TPM 2.0 і карэктнае выкананне каманд для пераходу ў спячы рэжым (вырашае праблему з абуджэннем наўтбукаў ThinkPad X1 Carbon Gen 9 і ThinkPad X1 Nano).
  • Рэалізацыя kqueue перакладзена на выкарыстанне mutex-ов.
  • Рэалізаваная магчымасць налады праз sysctl памеру буфера для сокетаў PF_UNIX. Памер буфера па змаўчанні павялічаны да 8 КБ.
  • Удасканалена падтрымка шматпрацэсарных сістэм (SMP). Пераведзены ў разрад mp-safe выклік pmap_extract() на сістэмах hppa і amd64. З агульнай блакіроўкі ядра выведзены код для падліку спасылак на ананімныя аб'екты, частка апрацоўшчыка выключэнняў і функцыі lseek, connect і setrtable. Рэалізаваны асобнага для кожнага ядра CPU буферы паведамленняў пры краху (panic).
  • Рэалізацыя фрэймворка drm (Direct Rendering Manager) сінхранізаваная з ядром Linux 5.10.65. У драйверы inteldrm палепшана падтрымка чыпаў Intel на базе мікраархітэктуры Tiger Lake. У драйверы amdgpu рэалізаваная падтрымка GPU Navi 12, Navi 21 "Sienna Cichlid", Arcturus і APU Cezanne "Green Sardine" Ryzen 5000.
  • Дададзена падтрымка новага абсталявання, у тым ліку Aquantia AQC111U/AQC112U USB Ethernet, Aquantia 1/2.5/5/10Gb/s PCIe Ethernet, Cadence GEM, Broadcom BCM5725, RTL8168FP/RTL8111FP/RTL8117 Дададзены драйвер ucc для клавіятур з інтэрфейсам USB HID Consumer Control, у якіх выкарыстоўваюцца кнопкі выкліку прыкладанняў, кіраванне прайграваннем гуку і змены гучнасці.
  • Унесены паляпшэнні ў гіпервізор VMM. Дададзены ліміт у 512 VCPU на віртуальную машыну. Вырашаны праблемы з блакіроўкамі VCPU. У бэкендзе для кіравання віртуальнымі машынамі vmd з'явілася падтрымка абароны ад гасцявых сістэм з шкоднаснымі драйверамі virtio.
  • З NetBSD перанесена ўтыліта timeout, якая дазваляе абмежаваць час выканання каманд.
  • Ва ўтыліце сінхранізацыі файлаў openrsync рэалізаваны опцыі "include" і "exclude".
  • Ва ўтыліце ps забяспечаны выснова звестак аб спадарожных групах.
  • У тэкставы рэдактар ​​mg дададзена каманда «dired-jump».
  • Ва ўтылітах fdisk і newfs палепшана падтрымка дыскаў з памерам сектара 4K. У fdisk перароблены код ініцыялізацыі MBR/GPT і дададзена распазнанне GPT-частак "BIOS Boot", "APFS", "APFS ISC", "APFS Recovry" (sic), "HiFive FSBL" і "HiFive BBL". Дададзена опцыя "-A" для ініцыялізацыі GPT без выдалення загрузных частак.
  • Ва ўтыліце traceroute для паскарэння працы рэалізавана апрацоўка праверачных пакетаў і запытаў DNS у асінхронным рэжыме.
  • Ва ўтыліце doas прадстаўлена тры спробы ўводу пароля.
  • У xterm забяспечана ізаляцыя доступу да файлавай сістэмы пры дапамозе сістэмнага выкліку unveil(). Працэсы ftpd абаронены пры дапамозе выклік pledge.
  • Рэалізаваны вывад у лог звестак аб некарэктным выкарыстанні параметру фарматавання "% n" у функцыі printf.
  • У рэалізацыі IPsec у iked дададзена падтрымка налады DNS на баку кліента.
  • У snmpd па змаўчанні адключаная падтрымка пратаколаў SNMPv1 і SNMPv2c у карысць ужывання SNMPv3.
  • Па змаўчанні ўключаны працэсы dhcpleased і resolvd, якія прадстаўляюць магчымасць налады адрасоў IPv4 праз DHCP. Утыліта dhclient пакінутая ў сістэме ў якасці опцыі. Ва ўтыліту route дададзена каманда «nameserver» для перадачы інфармацыі аб серэры DNS у resolvd.
  • У LibreSSL дададзеная падтрымка TLSv3 API OpenSSL 1.1.1 і актываваны новы валідатар X.509, які падтрымлівае карэктную праверку перакрыжавана падпісаных сертыфікатаў.
  • У OpenSMTPD дададзена падтрымка опцый TLS "cafile=(path)", "nosni", "noverify" і "servername=(name)". У smtp можна выбіраць параметры шыфраў і пратаколаў TLS.
  • Абноўлены пакет OpenSSH. Падрабязны агляд паляпшэнняў можна паглядзець тут: OpenSSH 8.7, OpenSSH 8.8. Адключана падтрымка лічбавых подпісаў rsa-sha.
  • Колькасць партоў для архітэктуры AMD64 склала 11325, для aarch64 – 11034, для i386 – 10248. Сярод версій прыкладанняў у партах: FFmpeg 4.4 GCC 8.4.0 і 11.2.0 GNOME 40.4 Go 1.17. Applications 8 KDE Frameworks 302 LLVM/Clang 11.0.12 LibreOffice 16.0.2 Lua 21.08.1, 5.85.0 і 11.1.0 MariaDB 7.2.1.2 Node.js 5.1.5 PHP 5.2.4. .5.3.6 Postfix 10.6.4 PostgreSQL 12.22.6 Python 7.3.30, 7.4.23 і 8.0.10 Qt 3.5.12 і 13.4 Ruby 2.7.18, 3.8.12 і 3.9.7 Rust 5.15.2 SQLite 6.0.4
  • Абноўлены кампаненты ад іншых распрацоўнікаў, якія ўваходзяць у склад OpenBSD 7.0:
    • Графічны стэк Xenocara на базе X.Org 7.7 з xserver 1.20.13 + патчы, freetype 2.10.4, fontconfig 2.12.4, Mesa 21.1.8, xterm 367, xkeyboard-config 2.20, fonttosfnt 1.2.2.
    • LLVM/Clang 11.1.0 (+ патчы)
    • GCC 4.2.1 (+ патчы) і 3.3.6 (+ патчы)
    • Perl 5.32.1 (+ патчы)
    • NSD 4.3.7
    • Unbound 1.13.3
    • Ncurses 5.7
    • Binutils 2.17 (+ патчы)
    • Gdb 6.3 (+ патч )
    • Awk 18.12.2020
    • Expat 2.4.1

Крыніца: opennet.ru

Дадаць каментар