Версия FreeBSD 14.0

След като изминаха две и половина години от публикуването на клон 13.0, е разработена версия FreeBSD 14.0. Инсталационни образи са подготвени за архитектурите amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 и riscv64. Освен това са подготвени сборки за виртуализационни системи (QCOW2, VHD, VMDK, raw) и облачни среди Amazon EC2, Google Compute Engine и Vagrant. Клон FreeBSD 14 ще бъде последният, който поддържа 32-битови платформи. В FreeBSD 15 ще остане само поддръжка на 64-битови системи, но ще бъде запазена възможността за компилиране на 32-битови програми и използване на режима COMPAT_FREEBSD32 за изпълнение на 32-битови изпълняеми файлове в 64-битова среда.

Основни промени:

  • По подразбиране за команден интерпретатор на потребителя root е зададен /bin/sh.
  • За NVME устройства по подразбиране на всички платформи е активиран драйверът nda. За връщане на стария драйвер nvd в loader.conf е предвидена настройка „hw.nvme.use_nvd=1“.
  • Добавен е нов инструмент „fwget“, който определя хардуера, на който са необходими фърмуери, и инсталира съответните пакети с фърмуери. В момента се поддържат само PCI устройства и фърмуери за GPU Intel и AMD.
  • Добавен е нов инструмент base64 за кодиране и декодиране на данни във формат base64.
  • Добавен е инструмент tcpsso, който позволява задаване на опции за сокет за съществуващи TCP връзки (например, може да се промени модулът за контрол на натоварването или TCP стека).
  • Като агент за доставка на поща по подразбиране вместо sendmail е активиран dma (DragonFly Mail Agent). Sendmail е запазен в базовата инсталация и обновен до версия 8.17.1.
  • В KTLS, реализация на протокола TLS, работеща на ниво ядро на FreeBSD, е добавена поддръжка за хардуерно ускорение на TLS 1.3 на приемащата страна. Ускорението е осигурено чрез прехвърляне на страна на мрежовата карта на някои операции, свързани с обработката на криптирани пакети.
  • В конфигурационния файл jail.conf е добавена директивата „.include“, позволяваща при зареждане на конфигурацията да бъдат включвани допълнителни файлове, в пътищата към които е допустимо да се използват маски. Разширен е параметър sysctl security.bsd.see_jail_proc, с помощта на който неавторизирани потребители в отделна jail среда вече могат да бъдат забранени принудителното прекратяване, промяната на приоритета и отстраняването на процеси.
  • Програмите pw и bsdinstall вече по подразбиране създават потребители в каталога «/home», а не в «/usr/home». Символичната връзка за «/home», указваща на «/usr/home», вече не се създава.
  • Настройката за сборка PROFILE е деактивирана по подразбиране — профилираните версии на системните библиотеки вече не се предоставят, вместо това трябва да се използват хардуерни средства за профилиране (hwpmc).
  • Включена е сборката на изпълними файлове за 64-разрядни архитектури в режим PIE (Position Independent Executable).
  • В хипервизора Bhyve е добавена възможността за проброс на достъп до TPM (Trusted Platform Module) и GPU (във виртуални среди за чипове AMD и Intel).
  • Реализацията на файловата система ZFS е актуализирана до версия OpenZFS 2.2. В утилита makefs е добавена поддръжка за файловата система ZFS. Предоставена е възможност за създаване на ZFS пул, свързан с един виртуален диск vdev.
  • Броят на поддържаните ядра CPU (параметър MAXCPU) е увеличен от 256 на 1024 в системите на базата на архитектурата amd64 и arm64.
  • В UFS за конфигурации, в които е включено журнализирането (soft updates), е разрешено провеждането на фонова проверка на файловата система, използвайки UFS снимки. В суперблоковете, картите на групите цилиндри и inode са добавени допълнителни проверки на хешове, за да се открият повреди.
  • Добавена е файловата система tarfs, която може да се използва с tar архиви, компресирани с помощта на zstd.
  • Добавен е инструментариум boottrace за проследяване на събитията, които се случват по време на зареждане и завършване на работа на системата.
  • Добавен е параметър за настройка на ядрото FIRECRACKER за стартиране на FreeBSD в система за виртуализация Firecracker, проектирана за стартиране на виртуални машини с минимални накладни разходи. Времето за зареждане на ядрото FreeBSD 14 под управлението на Firecracker е сведено до 25 милисекунди, което позволява стартирането на среди с FreeBSD по необходимост за реализация на инфраструктура за безсървърни изчисления.
  • В програмата за зареждане, написана на Lua, в специална песъчлива среда е реализирана поддръжка за изпълнение на lua файлове, разположени в каталога loader_conf_files.
  • Поддръжката на NFS е разширена. Добавена е нова опция за монтиране «syskrb5» за поддръжка на Kerberos в NFSv 4.1/4.2, както и е реализирана поддръжка на операция ExchangeID. Възможно е стартиране на nfsd, nfsuserd, mountd, gssd и rpc.tlsservd в изолирана мрежова среда vnet.
  • В скрипта growfs е реализирана възможност за разполагане на дял за размяна в края на разширяемата област на диска.
  • Добавен е нов DTrace провайдър kinst (dtrace_kinst), който позволява трасировка на ядрените структури.
  • В криптосистемата на ядрото е добавена поддръжка за алгоритма за криптиране XChaCha20-Poly1035 AEAD, както и API за използване на елиптичната крива curve25519 (за WireGuard).
  • Времето за перезареждане е съкратено. Добавен е sysctl параметър kern.reboot_wait_time, чрез който може да се промени времевото забавяне преди фактическото рестартиране след изхода на всички диагностични съобщения в конзолата. По подразбиране забавянето е премахнато.
  • В ядрото е добавена подсистема timerfd, която опростява портироването на програми от Linux.
  • Добавен е sysctl machdep.mitigations.zenbleed.enable за блокиране на уязвимостта Zenbleed в процесорите AMD Zen2.
  • В wpa_supplicant и hostapd е добавена поддръжка за Wi-Fi 6. В драйвера iwlwifi е осигурена съвместимост с Intel чипове, поддържащи Wi-Fi 6E AX411/AX211/AX210.
  • За ядрата на системите amd64 е осигурена поддръжка на инструментите AddressSanitizer и MemorySanitizer от проекта LLVM.
  • В скриптовете rc.d е разрешено използването на метода status, дори ако в скрипта не е определено името на програмата (procname) и PID файл.
  • Скоростта на предаване на данни през серийния порт в ядрото, буутлоадерите и пространството на потребителя по подразбиране е увеличена от 9600 до 115200 bps. Тонът на звука по подразбиране е зададен на 800Hz. Осигурена е интеграция с devd за изход на звука през звуковата карта. За конзолата vt звукът по подразбиране е деактивиран (за активиране трябва да се изпълнят командите „sysctl kern.vt.enable_bell=1“ и „kbdcontrol -b normal“).
  • Поддръжката на архитектурата за хардуерно ускорение на мрежови операции NXP DPAA2 (Data Path Acceleration Architecture Gen2) е подобрена.
  • Добавен е драйвер igc за Ethernet контролери Intel I225, който поддържа скорост 2.5 Gbps.
  • По подразбиране е активирана настройката net.inet.tcp.nolocaltimewait, която деактивира създаването на timewait записи за TCP соединения, прекратени от местната система.
  • Разширена и включена по подразбиране поддръжка на комуникационния протокол Netlink (RFC 3549), използван в Linux за организиране на взаимодействието на ядрото с процеси в потребителското пространство. Някои мрежови утилити са преминали на използването на Netlink.
  • В пакетния филтър pf е осигурена съвместимост със синтаксиса и поведението на операциите за нормализация на пакетите (scrubbing) от версия pf на OpenBSD. В pfsync е реализирана възможността за използване на транспорта IPv6. Форматът на пакетите pfsync е разширен, за да поддържа опашки, нормализация на пакети и правила route-to.
  • В мрежовия интерфейс if_stf (IPv6 over IPv4) е добавено поддръжка на IPv6 Бързо разгръщане (RFC 5969). По подразбиране режимът IPv6 nodeinfo (RFC 4620) е изключен.
  • По подразбиране е активиран sysctl-параметър net.inet.tcp.nolocaltimewait, който изключва създаването на записи в състояние timewait за локално прекратени TCP-соединения.
  • По подразбиране за TCP е задействан механизъм за управление на мрежова задръстване CUBIC вместо NewReno, което е позволило разширяване на използването на наличната честотна лента.
  • В IPv4 е изключена изпращането на широковещателни пакети на нулевия адрес на подсетката, ако такъв адрес не е явно обявен за широковещателен. Промяната позволява използване на адреси, завършващи на «.0» за хостове.
  • Настройките на OpenSSH са променени: в scp по подразбиране е задействан протокол SFTP вместо scp/rcp, поддръжката на RSA/SHA-1 подписи е изключена, параметрите VerifyHostKeyDNS и X11Forwarding са зададени на "no", директивата VersionAddendum е премахната, поддръжката на HPN настройки е премахната.
  • В утилитата date е добавена опция «-z» за преобразуване на часовите зони.
  • В утилитата diff е добавена опция «—color» за визуализация на промените с цветове.
  • В утилитата sleep е добавена поддръжка на единици за измерване, различни от секундите (например, може да се укаже «sleep 1h 30m»).
  • В утилитите head и tail е добавена поддръжка на опции «-q» и «-h», а също е реализирана възможността за задаване на величини с суфикси в международната система за единици SI. В head е премахнато ограничението за максимален брой редове от 2^31.
  • В утилитата systat е добавена команда «iolat» за извеждане на информация за закъсненията в входа/изхода, изчислени от планировщика CAM.
  • Библиотеката libncursesw е разделена на две библиотеки libtinfow и libncursesw. Добавена е поддръжка за използване в ncurses на базата terminfo, а не само termcap.
  • За архитектурата aarch64 (arm64) е реализирана и включена по подразбиране опция за компилация COMPAT_LIB32, която осигурява компилиране на 32-битови библиотеки за ARM64 системи, позволяващи изпълнение на бинарни файлове, компилирани за платформа armv7.
  • Подобрена поддръжка на облачни системи. Добавени са експериментални версии с коренова файлова система ZFS и cloud-init за AWS EC2. За Azure са предоставени образи за архитектури arm64 и amd64 с избор между UFS и ZFS. Добавен е драйвер за виртуална мрежова карта gve (Google Virtual NIC).
  • В системата ACPI е добавена поддръжка на прага _CR3, което позволява настройка на температурата, при достигането на която системата ще бъде преведена в режим на сън (S3).
  • Актуализирани са версиите на външните приложения и библиотеки, включени в основната система: OpenSSH 9.5p1, OpenSSL 3.0.12 (по-рано се използваше версия 1.1.1), awk 2021072, bc 6.6.0, libbsdxml 2.4.7, libfido2 1.13.0, tcpdump 4.99.4, libpcap 1.10.4, xz 5.4.3, zlib 1.3, zstd 1.5.2. Реализацията на утилитата objdump е заменена с llvm-objdump. Компилаторът Clang е актуализиран до версия 16.
  • Проведена е чистка на остарели системи:
    • От основната система е премахната поддръжката на еднократни пароли OPIE (за възстановяване на употребата може да бъде инсталиран порт security/opie).
    • Премахнати са драйвери за звукови карти с интерфейс ISA.
    • Премахнати са утилитите fmtree и minigzip.
    • Премахнати са компонентите ATM в netgraph (NgATM).
    • Премахнат е фоновият процес telnetd (може да се използва порт net/freebsd-telnetd).
    • Премахнат е класът VINUM в geom.
    • Премахнати са остарелите драйвери amr, iscsi_initiator, iir, mn, mly, nlmrsa и twa.
    • От ядрото GENERIC и MINIMAL е премахнат параметърът VESA.
    • От криптографския фреймворк OCF (Open Cryptographic Framework), работещ на ниво ядро, е премахната поддръжката на асиметрични криптографски операции.
    • Утилитата mergemaster е обявена за остаряла и вместо нея следва да се използва etcupdate.
    • Утилитата portsnap е премахната (за извличане на портове следва да се използва "git clone https://git.FreeBSD.org/ports.git /usr/ports").
    • Създаването на версии за архитектура armv6 е прекратено.
    • Поддръжката на архитектура MIPS е премахната.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster