След шест месеца разработка, изданието FreeBSD 14.1 е завършено. Инсталационните образи са подготвени за архитектури amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 и riscv64. Допълнително са подготвени версии за виртуализационни системи (QCOW2, VHD, VMDK, raw) и облачни среди Amazon EC2, Google Compute Engine и Vagrant.
Основни промени:
- Проведена е работа за подобряване на звукования стек. Въведена е възможност за отсъединяване на звукозаписни устройства в асинхронен режим, което е необходимо, например, за горещо отключване на звукозаписни карти с USB интерфейс. Премахната е рамката snd_clone и свързаните с нея параметри sysctl, което е опростило звукосубсистемата. Вместо отделни файлове за устройства за всеки звукопровод (\/dev\/dspX.Y), сега се създава само основния файл на устройството (\/dev\/dspX).
- Функциите за работа с низове и памет в libc са оптимизирани с използване на SIMD инструкции на системи с архитектура AMD64. Предложени са 17 функции, оптимизирани с помощью SIMD, както и 9 функции, преобразувани да извикват функции, оптимизирани чрез SIMD. При провеждането на тестовете, производителността на новите функции при обработката на низове с размер 64 символа е увеличена 5.54 пъти.
- Добавена е вградена поддръжка за настройка чрез cloud-init, инструменти за конфигуриране на системата в стадий на зареждане. Между другото, поддържа се създаването на потребители/групи, добавяне на SSH ключове, конфигуриране на параметри за мрежова свързаност, определяне на стартовия скрипт nuageinit и конфигуриране на дискови дялове (config-drive). Реализацията е съвместима с OpenStack и много хостинг-провайдери.
- За новите файлови системи UFS2, създавани от утилитата newfs, по подразбиране е включено журнализиране (soft updates).
- Предоставена е възможност за компилиране на ядрото само с поддръжка на IPv6 (INET6), без IPv4 (INET).
- В утилитата adduser, използвана в bsdinstall, е осигурено създаването на отделен ZFS dataset (раздел, моментна снимка или клон) за домашната директория на потребителя, ако ZFS dataset вече се използва за родителската директория. Също така е добавена възможността за използване на криптиране на домашните директории със средствата на ZFS. За управление на активирането на тези възможности в adduser.conf са добавени параметрите „Zcreate“ и „Zencrypt“.
- В «libutil» функцията «setusercontext» получи поддръжка за поставяне на приоритети на процеси на базата на настройки от файла «.login.conf», разположен в домашната директория. При задаване на приоритет или umask се добави поддръжка за стойност «inherit», при която приоритетът и umask се задават същите като на родителския процес.
- В утилитата «date» е добавена поддръжка за наносекундна точност, например, «date -Ins» ще изведе «2024-06-04T10:20:28,763742224+05:00», а «date +%N» — «415050400».
- В утилитата «dtrace» е реализирана възможност за форматиране на изхода в формати, удобни за автоматично разбиране и преглеждане, като JSON, XML и HTML.
- В утилитата «usbconfig» е вградена възможност за извеждане на допълнителна информация за USB-устройства и производители, съответстваща на описанията от файла /usr/share/misc/usb_vendors.
- В драйвера «ice» е добавена поддръжка за Ethernet-контролери Intel E800 с пропускна способност 100 Gb/s.
- В Ethernet драйвера «msc» е добавена поддръжка за задаване на MAC-адрес на базата на параметъра «smsc95xx.macaddr», предаван от някои модели плат Raspberry Pi.
- Извършена е работа по повишаване на стабилността на драйвера «iwlwifi» за безжични чипове на Intel.
- Добавена е възможност за използване на множество области PCI MCFG на системи amd64 и i386 за сегментиране на адресното пространство на PCI-устройствата.
- Разширена е поддръжката на оборудването.
- В NFS-обработчика «mountd» за декодиране на имена на директории в файла «exports» е използвана библиотеката «strunvis», което позволява в имената на директориите да се използват специални символи, например, интервали. Добавени са нови sysctl-перемени kern.rpc.unenc и kern.rpc.tls за настройка на NFS-over-TLS.
- В загрузчика е осигурено четене на конфигурационни файлове, изброени в променливата local_loader_conf_files, след конфигурационни файлове, определени във файла /boot/loader.conf.local. Също така, добавена е възможност за извличане на настройки от SMBIOS, свързани с идентификаторите на производителя и продукта. Подобрено е определянето на конзолата на системи с EFI. Реализацията на фреймбуфера в загрузчика сега може да използва видеодрайвери за конзола.
- Реализирана е възможност за използване на загрузчика LinuxBoot (loader.kboot) за зареждане на FreeBSD от Linux-базирани среди на системи aarch64 и amd64.
- В rc.conf е добавена поддръжка на параметъра kdc_restart, който включва автоматичен рестарт на kdc (сервер Kerberos 5) в случай на аварийно прекратяване. Допълнително е наличен параметър kdc_restart_delay, чрез който може да се зададе забавяне преди рестарта.
- По подразбиране, с цел намаляване на размера на отчетите, изпращани на електронна поща, сведението за измененията при изпълнение на периодично стартирани задачи и скриптове, проверяващи сигурността, е намалено. За настройка на нивото на изхода може да се използват параметрите daily_diff_flags и security_status_diff_flags в periodic.conf.
- Актуализирани версии на външни компоненти: Clang/LLVM 18.1.5, OpenZFS 2.2.4, OpenSSH 9.7p1, awk 2024-01-22 (с поддръжка на UTF-8 и режим „-csv“), libarchive 3.7.4, sendmail 8.18.1, unbound 1.20.0.
Източник: opennet.ru
