След девет месеца разработка, издаден е FreeBSD 14.4. Инсталационните изображения са подготвени за архитектурите amd64, i386, aarch64, armv7, powerpc, powerpc64 и riscv64. Допълнително са подготвени сборки за виртуализационни системи (QCOW2, VHD, VMDK, raw) и облачни среди Amazon EC2, Google Compute Engine и Vagrant.
Следващото обновление на FreeBSD 14.5 е планирано за септември 2026 година. Поддръжката на текущата версия FreeBSD 14.4 ще продължи до 31 декември 2026 година, а на предходната версия FreeBSD 14.3 — до 30 юни 2026 година. Общата поддръжка на FreeBSD 14 ще продължи до 30 ноември 2028 година, докато версия FreeBSD 13.x ще бъде поддържана до 30 април 2026 година. В същото време се разработва версия FreeBSD 15, като следващото издание (15.1) е предвидено за 2 юни 2026 година.
Основни промени в FreeBSD 14.4:
- Добавена е утилитата sndctl за управление на настройките на звуковите карти.
- В утилитата swapon е добавена поддръжка за криптирани файлове за обмен, за които в fstab могат да се използват md-устройства с суфикс «.eli».
- В утилитата nuageinit, която извършва инициализация виртуални машини, добавена е поддръжка за cloud-init, конфигуриране по мрежата и управление на пакети. За съвместимост с cloud-init са добавени командите ‘runcmd’, ‘packages’, ‘fqdn’, ‘hostname’, ‘sudo’, ‘write_files’, ‘nameservers’, ‘tzsetup’ и ‘doas’. Изработен е пълен парсър за YAML формат. Включено е водене на лог. Реализирани са командите «chpasswd», ‘wakeonlan’, ‘set-name’ и ‘match.driver’.
- Конзолният шрифт spleen е обновен до версия 2.2.0 и разширен с допълнителни символи (дълго тире, кратко тире, дефис, ъглови скоби, бял квадрат, кръст и двойен кръст). Подобрен е подравняването на символите на екрани с висока плътност на пикселите. В конзолния шрифт gallant, който сега включва над 4300 глифа, е добавена поддръжка за кирилица и набори с математически символи, стрелки, валути и рамки.
- Включена е файловата система 9P (p9fs), която може да се използва с устройствата virtio-9p и хипервизора Bhyve, за да осигури достъп от виртуалните машини до съдържанието на файловата система на хост околната среда. За зареждане на драйвера в loader.conf трябва да се използва настройка «virtio_p9fs_load=YES».
- В файловата система tarfs е установена възможността за работа с файлове, по-големи от 4 ГБ.
- В файловите системи unionfs и nullfs е засилена проверката на кореновите vnode при обработка на пътища с «..», за да се блокират потенциални уязвимости, позволяващи излизане извън кореновата директория на jail околната среда.
- В подсистемата Jail е ограничен достъпът на непривилегированите потребители от родителския Jail до извършване на отстраняване на грешки, настройване на планиращия модул и изпращане на сигнали на процеси, работещи в дочерни Jail. За извършване на подобни операции са предложени отделни права PRIV_SCHED_DIFFJAIL, PRIV_DEBUG_DIFFJAIL и PRIV_SIGNAL_DIFFJAIL. За връщане на старото поведение по управление на процесите в Jail е добавена настройката «allow.nounprivileged_parent_tampering».
- В подсистемата Jail е добавена поддръжка за параметрите «met» и «env», чрез които могат да се привързват произволни текстови метаданни и данни за околната среда към Jail-околните среди. Параметрите могат да бъдат задавани при създаване на Jail, да се променят с командата «jail -cm» и да се преглеждат с командата jls. Например, ‘jail -cm … meta=»tag1=value1 tag2=value2″ env=»configuration»‘. За ограничаване на максималния размер на данните в параметрите е предложена sysctl настройка «security.jail.meta_maxbufsize».
- В утилитата ngctl е добавен флаг „-j“ за стартиране на команди вътре в указаното Jail-окружение. Добавеният флаг позволява манипулиране на възлите netgraph в изолирани среди, където не е инсталирана утилитата ngctl.
- Разширени са възможностите на утилитата mdo, позволяваща стартиране на команди под друг потребител по аналогия с утилитата „su“, но използвайки вместо setuid модул на ядрото mac_do и системен повик setcred. В новата версия са реализирани опции за управление на идентификаторите на потребители и групи в стартираните процеси: „-k“ за запазване на текущите потребители; „-g“ и „-G“ за задаване на основната и допълнителните групи; „-s“ за промяна на допълнителните групи; „—euid“, „—ruid“, „—svuid“, „—egid“, „—rgid“ и „—svgid“ за презадаване на зададените идентификатори.
- В утилитата kadmin, предназначена за управление на Kerberos, е добавена опция „-f“ за дамп на БД Heimdal KDC в формат, съвместим с MIT KDC, което позволява миграция от Heimdal Kerberos към MIT Kerberos без пълно повторно създаване на БД.
- В предоставената в базовата система урязана версия на пакетния мениджър pkg(7) разборът на опциите е унифициран с пълната версия на инструментария pkg(8). Пореден на опциите за командите в pkg(7) сега трябва да съответства на поведението на pkg(8), например вместо „pkg -f bootstrap“ следва да се указва „pkg bootstrap -f“.
- В инсталатора bsdinstall е прекратена поддръжката на инсталация с използване на файловата система ZFS на дискове с MBR (ZFS може да се използва само на дискове с GPT). Осигурено е копирането на зареждача loader.efi във всички ESP (EFI System Partition), създадени на дискове с ZFS, за случай че основният диск се повреди.
- В утилитата freebsd-update е осигурен строг ред за инсталиране на споделени библиотеки: libsys, libc, libthr и след това останалите, което изключва възникването на проблеми при обновление от FreeBSD 14.x до клон 15.x.
- В утилитата newfs е добавен флаг „-u“ за деактивиране по подразбиране на механизма „soft updates“ и на журнализирането за файлова система UFS2.
- В PAM-библиотеките (Pluggable Authentication Modules) е осигурен търсене на модули в директорията „${LOCALBASE}/lib/security“ в допълнение към директорията „${LOCALBASE}/lib“.
- В безжичния стек net80211 е добавена поддръжка на канали VHT160 и VHT80P80, които се използват в съвременните точки за достъп.
- Разширена е поддръжката на оборудването. В драйвера iwlwifi за безжични адаптери Intel е добавена поддръжка за ACPI. В драйверите ix и ixv е добавена поддръжка за семейството на мрежовите карти Intel Ethernet E610 2.5G/5G/10G. В драйверите mfi и mrsas е добавена поддръжка за RAID-контролери Fujitsu SAS 6Gbit/s 1GB (D3116), използвани на сървъри Fujitsu PRIMERGY.
- В образите на SD картите е добавена поддръжка за платките Raspberry Pi Zero 2W.
- Фоновият процес blacklistd, осигуряващ динамично блокиране на мрежовите портове за защита от DoS-атаки, е обновен и преименуван на blocklistd.
- В състава на основната система е включен пакет с Lua биндинги за libyaml.
- OpenSSH е обновен от версия 9.9p2 до 10.0p2 с включване по подразбиране на хибридния алгоритъм mlkem768x25519-sha256, устойчив на атаки с квантови компютри.
- Обновени са версиите на страничните компоненти: OpenZFS 2.2.9 (беше 2.2.7), OpenSSL 3.0.16, SQLite 3.50.4, unbound 1.24.1, libucl 0.9.2, expat 2.7.3, libyaml 0.2.5, libarchive 3.8.5, xz 5.8.2, less 685, bmake 20251111, bc 7.1.0.
- В основните инсталационни носители (bootonly) са добавени пакети с фърмуери за безжични устройства, позволяващи да се използва безжично свързване за извличане по мрежата на инсталационни файлове.
- Добавен е изпълним файл sbin/ipfw15, събран с нов KBI (Kernel Binary Interface) за съвместимост с ядрото FreeBSD 15. Оригиналният инструмент ipfw сам определя наличие на нов KBI и стартира ipfw15 при необходимост за коректно зареждане на правилата за пакетен филтър при обновяване до FreeBSD 15.
- Подкрепата за протокола за маршрутизиране RIP (routed, rtquery, route6d, rip6query) е обявена за остаряла и е насрочена за изтриване. Вместо routed се препоръчва да се използват пакетите ‘bird’ или ‘quagga’ от колекцията порти.
- Обявена за остаряла е вградена в ядрото реализация на MIDI-секвенсора.
- Премахнат е кодът за съвместимост с версиите на пакетния филтър ipfw, доставяни преди излизането на FreeBSD 8.
Източник: opennet.ru
