Выпуск OpenBSD 6.9

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

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

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

  • У драйвер softraid дададзены рэжым RAID1C з рэалізацыяй праграмнага RAID1 з шыфраваннем дадзеных.
  • У склад уключаны два новых фонавых працэсу - dhcpleased і resolvd, якія працуюць разам з slaacd і unwind для аўтаматычнай налады сеткавых інтэрфейсаў і вызначэння імёнаў у DNS. У dhcpleased рэалізаваны пратакол DHCP для атрымання IP-адрасоў, а ў resolvd забяспечана кіраванне змесцівам resolv.conf на аснове дадзеных аб серверах імёнаў, атрыманых ад dhcpleased, slaacd і драйвераў накшталт umb.
  • Дададзена пачатковая падтрымка прылад Apple з працэсарам M1. У тым ліку рэалізавана распазнанне arm64-ядзер Apple Icestorm/Firestorm і дададзена падтрымка бесправадных чыпаў BCM4378, якія выкарыстоўваюцца ў SoC Apple M1.
  • Палепшана падтрымка платформы powerpc64, якая развіваецца для 64-разрадных сістэм на базе працэсараў POWER8 і POWER9. У параўнанні з мінулым выпускам для powerpc64 рэалізавана падтрымка механізму абароны RETGUARD, дададзены драйвер astfb для фрэймбуфера Aspeed BMC, вырашаны праблемы з працай драйвераў radeondrm і amdgpu на сістэмах з GPU AMD, у зборкі ядра для ram-дыска дададзена магчымасць энергазберажэння CPU POWER9, дададзеная падтрымка выключэнняў, якія генерыруюцца пры аперацыях з якая плавае коскі, рэалізаваная падтрымка IPMI для сістэм PowerNV.
  • Для платформаў ARM64 забяспечана падтрымка CPU Cortex-A78AE, Cortex-X1 і Neoverse V1, рэалізаваны аптымізаваныя для ARM64 варыянты выклікаў copyin, copyout і kcopy, дададзены драйвер cryptox для падтрымкі крыптапашырэнняў ARMv8, а таксама драйвер smmu для RM System. Палепшана падтрымка прылад Raspberry Pi, Rock Pi N10, NanoPi і Pinebook Pro.
  • У драйвер video дададзены sysctl-параметр kern.video.record, які па аналогіі з kern.audio.record кіруе ўключэннем вываду пустой карцінкі пры спробе захопу відэа (для дазволу захопу патрабуецца змяніць значэнне на 1). Працэсам дазволена шматразовае адкрыццё прылады video (вырашае праблемы з выкарыстаннем web-камеры ў Firefox і BigBlueButton).
  • Дададзеныя кропкі трасіроўкі для выклікаў malloc і free, якія дазваляюць пры дапамозе dt і btrace адсочваць злучаную з размеркаваннем памяці актыўнасць. У btrace дададзена опцыя '-n' для парсінгу праграмы без выканання якія-небудзь дзеянняў.
  • Удасканалена падтрымка шматпрацэсарных сістэм (SMP). З агульнай блакіроўкі ядра выведзена рэалізацыя UNIX-сокетаў, дададзены агульны mutex для серыялізацыі аперацый з msgbuf, пераведзены ў разрад mp-safe выклік uvm_pagealloc, пазбаўлены ад блакіровак выклікі getppid і sendsyslog.
  • Выпраўленыя праблемы ў кампанентах DRM (Direct Rendering Manager), у тым ліку ўхіленыя крахі ў драйверы radeondrm на сістэмах Powerbook5/6 і RV350, наладжана падтрымка DRI3 у драйверах amdgpu і ati, для сумяшчальнасці з Linux рэалізавана стварэнне прылад у каталогу /dev/dri/ .
  • Унесены паляпшэнні ў гіпервізор VMM. У бэкендзе для кіравання віртуальнымі машынамі vmd з'явілася падтрымка загрузкі сціснутых RAM-дыскаў.
  • Унесены паляпшэнні ў гукавую падсістэму. Дадзена магчымасць асобнага замацавання гукавых прылад sndio толькі для прайгравання і толькі для запісу. У sndiod задзейнічаны нізкачашчынны фільтр з канчатковай імпульснай характарыстыкай (КІХ-фільтр) восьмага парадку, які дазволіў пазбавіцца ад шумоў з-за накладання спектраў пры рэсэмплінгу. Па змаўчанні адключаная функцыя аўтаматычнага памяншэння гучнасці, калі новая праграма пачынае прайграванне (autovolume), у якасці значэння па змаўчанні выстаўлены ўзровень гучнасці 127. Дазволена міксаванне гуку ад альтэрнатыўных прылад, якія адрозніваюцца па ўзроўні якая падтрымліваецца ў sndiod функцыянальнасці.
  • Уключана па змаўчанні зборка і ўстаноўка адладчыка LLDB.
  • У rcctl, rc.subr і rc.d дададзеная падтрымка апрацоўшчыка logger, які дае магчымасць арганізаваць выснову логаў з фонавых працэсаў, якія адпраўляюць дадзеныя ў stdout/stderr.
  • Для тачпадаў прадстаўлена магчымасць налады раскладкі кнопак праз wsconsctl. У wscons палепшана апрацоўка адначасовых дотыкаў.
  • Для прылад ARM64 рэалізавана магчымасць выкарыстання APM для атрымання дадзеных аб спажыванні энергіі і зарадзе акумулятара. Для абмежавання доступу працэсу apmd да файлавай сістэмы задзейнічаны выклік unveil.
  • Пашырана падтрымка абсталявання. Дададзены новыя драйверы acpige (для апрацоўкі падзей ACPI, такіх як націск кнопкі харчавання), pchgpio (для кантролераў GPIO, якімі абсталяваны сучасныя Intel PCH), ujoy (для гульнявых кантролераў), uhidpp (для прылад Logitech HID++). Дададзена падтрымка пашырэнняў AMD Vi і Intel VTD IOMMU для ізаляцыі PCI прылад і блакаванні некарэктнага доступу да памяці. Дададзена падтрымка кампутараў Lynloong LM9002/9003 і LM9013. У драйверы pcamux і imxiic дададзена падтрымка ACPI.
  • Палепшана падтрымка сеткавых адаптараў: mvpp (SFP+ і 10G для Marvel Armada Ethernet), mvneta (1000base-x і 2500base-x), mvsw (Marvel SOHO-камутатары), rge (падтрымка Wake on LAN), Netgear Pro. Для бесправадных драйвераў iwm, iwn і athn дададзена падтрымка RA (25n Tx Rate Adaptation). У бесправадным стэку наладжана аўтаматычны выбар рэжымаў 802.11a/b/g/n/ac пры выкарыстанні сеткавага інтэрфейсу ў выглядзе кропкі доступу.
  • У сеткавым стэку рэалізаваны драйвер veb (Virtual Ethernet Bridge). Рэалізаваная падтрымка рэжыму маніторынгу, пры якім прыходныя на сеткавы інтэрфейс пакеты не перадаюцца ў сеткавы стэк для апрацоўкі, але да іх могуць ужывацца механізмы аналізу трафіку, такія як BPF. Дададзены новы тып сеткавых інтэрфейсаў – etherbridge. Дадзена магчымасць (каманда route sourceaddr) пераазначэння зыходнага IP-адрасы для праграм, у абыход штатнага алгарытму выбару адрасу. Забяспечана аўтаматычнае ўзняцце сеткавых інтэрфейсаў пры ўключэнні рэжыму аўтаналадкі (AUTOCONF4 і AUTOCONF6).
  • Ва ўсталёўніку рэалізаваная пастаўка сціснутай выявы ram-дыска (bsd.rd) на ўсіх платформах, якія падтрымліваюць падобную загрузку.
  • Рэалізаваны вывад праз syslog папярэджання аб выкарыстанні ў printf падстаноўкі фарматавання радкоў "%n".
  • У дэмане маршрутызацыі OpenBGPD дададзеная падтрымка пратаколу RTR (Resource Public Key Infrastructure (RPKI) to Router Protocol). Для адлюстравання асноўнай інфармацыі аб RTR-сеансах дададзена каманда "bgpctl show rtr".
  • Праведзена рэструктурызацыя кода ospfd і ospf6d з мэтай іх уніфікацыі з іншымі дэманамі маршрутызацыі і спрашчэнні суправаджэння. Наладжана падтрымка сеткавых інтэрфейсаў у рэжыме кропка-кропка.
  • Ва ўбудаваным HTTP-серверы httpd рэалізаваны новыя опцыі "location (found | notfound)" для праверкі існавання рэсурсаў.
  • Ва ўтыліту rpki-client дададзена падтрымка пратаколу RRDP (The RPKI Repository Delta Protocol, RFC 8182). Рэалізавана магчымасць указання больш аднаго URI у файле TAL.
  • Ва ўтыліце dig рэалізавана падтрымка RFC 8914 (Extended DNS Error) і RFC 8976 (ZONEMD).
  • У dhclient дададзена магчымасць указання опцый у файлах hostname.if, выкарыстоўваючы радкі "dhcp".
  • У дэмане snmpd рэалізавана поўная падтрымка пераўтварэнні Trapv1 у Trapv2 (RFC 3584). У snmpd.conf дададзены новыя ключавыя словы read, write і notify. Ва ўтыліце snmp рэалізавана падтрымка пералічэнняў SMI.
  • У DNS рэзавер unwind дададзена падтрымка DNS64 і прыёму злучэнняў праз TCP-порт.
  • Ва ўтыліце ftp дададзеная падтрымка сталых перанакіраванняў (RFC 7538) і магчымасць адпраўкі загалоўка If-Modified-Since пры адпраўцы запытаў па HTTP/HTTPS.
  • У OpenSMTPD дададзена опцыя "-a" для выканання аўтэнтыфікацыі да адпраўкі паведамлення. Сродкі шыфравання перакладзены на выкарыстанне бібліятэкі libtls. У слухаючых сокетах для TLS рэалізавана магчымасць налады некалькіх сертыфікатаў, выбіраемых у залежнасці ад імя дамена (SNI).
  • У LibreSSL дададзена падтрымка пратаколу DTLSv1.2. Рэалізаваная магчымасць зборкі толькі libtls ('-enable-libtls-only') без libcrypto і libssl.
  • Абноўлены пакет OpenSSH. Падрабязны агляд паляпшэнняў можна паглядзець тут: OpenSSH 8.5, OpenSSH 8.6.
  • Колькасць партоў для архітэктуры AMD64 склала 11310, для aarch64 – 10943, для i386 – 10468. Сярод версій прыкладанняў у партах: Xfce 4.16, Asterisk 18.3.0, Chromium 90.0.4430.72, 4.3.2. .8.4.0, Go 3.38, KDE Applications 1.16.2, Krita 20.12.3, LLVM/Clang 4.4.3, LibreOffice 10.0.1, Lua 7.0.5.2, MariaDB 5.3.6, Firefox 10.5.9 і ESR 88.0, Thr. , Node.js 78.10.0, PHP 78.10.0, Postfix 12.16.1, PostgreSQL 8.0.3, Python 3.5.10, Ruby 13.2, Rust 3.9.2.

    Абноўлены кампаненты ад іншых распрацоўнікаў, якія ўваходзяць у склад OpenBSD 6.9:

    • Графічны стэк Xenocara на базе X.Org 7.7 з xserver 1.20.10 + патчы, freetype 2.10.4, fontconfig 2.12.4, Mesa 20.0.8, xterm 367, xkeyboard-config 2.20, fonttosfnt 1.2.1.
    • LLVM/Clang 10.0.1 (+ патчы)
    • GCC 4.2.1 (+ патчы) і 3.3.6 (+ патчы)
    • Perl 5.32.1 (+ патчы)
    • NSD 4.3.6
    • Unbound 1.13.1
    • Ncurses 5.7
    • Binutils 2.17 (+ патчы)
    • Gdb 6.3 (+ патч )
    • Awk 18.12.2020
    • Expat 2.2.10

Да выхаду рэлізу OpenBSD 6.9 прымеркавана новая песня "Vetera Novis".

Крыніца: opennet.ru

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