Po šesti měsících vývoje byl sestaven release FreeBSD 14.1. Instalace byly připraveny pro architektury amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 a riscv64. Dále byly připraveny sestavy pro virtualizační systémy (QCOW2, VHD, VMDK, raw) a cloudové prostředí Amazon EC2, Google Compute Engine a Vagrant.
Hlavní změny:
- Byla provedena práce na vylepšení zvukového stacku. Byla zrealizována možnost odpojení zvukových zařízení v asynchronním režimu, což je nezbytné například pro horké odpojování zvukových karet s rozhraním USB. Byla odstraněna framework snd_clone a s ním spojené parametry sysctl, což umožnilo zjednodušení zvukového subsystému. Místo jednotlivých zařízení pro každý zvukový kanál (/dev/dspX.Y) se nyní vytváří pouze hlavní soubor zařízení (/dev/dspX).
- Funkce práce se stringy a pamětí v libc byly optimalizovány za použití instrukcí SIMD na systémech s architekturou AMD64. Bylo navrženo 17 funkcí optimalizovaných pomocí SIMD a 9 funkcí převedených na volání funkcí optimalizovaných přes SIMD. Při testování se výkon nových funkcí při zpracování stringů o velikosti 64 znaků zvýšil 5,54krát.
- Byla přidána integrovaná podpora konfigurace pomocí cloud-init, nástroje pro konfiguraci systému během spuštění. Mezi jiným se podporuje vytváření uživatelů/skupin, přidávání ssh klíčů, nastavení parametrů připojení k síti, určení startovacího skriptu nuageinit a konfigurace diskových oddílů (config-drive). Implementace je kompatibilní s OpenStack a mnoha hosting-poskytovateli.
- Pro nové souborové systémy UFS2, které vytváří nástroj newfs, je po výchozím nastavení povoleno žurnálování (soft updates).
- Byla poskytnuta možnost sestavit jádro pouze s podporou IPv6 (INET6), bez IPv4 (INET).
- V nástroji adduser, používaném v bsdinstall, je zajištěno vytvoření samostatného ZFS datasetu (oddílu, snapshotu nebo klonu) pro domovský adresář uživatele, pokud již ZFS dataset je používán pro rodičovský adresář. Také byla přidána možnost použití šifrování domovských adresářů pomocí ZFS. Pro řízení aktivace těchto funkcí byly do adduser.conf přidány parametry „Zcreate“ a „Zencrypt“.
- Do funkce "setusercontext" v "libutil" byla přidána podpora pro nastavování priorit pro procesy na základě nastavení z konfiguračního souboru ".login.conf", umístěného v domácím adresáři. Při nastavování priority nebo umask byla přidána podpora hodnoty "inherit", při které se priorita a umask nastavují stejným způsobem jako u rodičovského procesu.
- Do utility "date" byla přidána podpora pro nanosekundovou přesnost, například "date -Ins" vytiskne "2024-06-04T10:20:28,763742224+05:00", a "date +%N" — "415050400".
- V utilitě "dtrace" byla implementována možnost generovat výstup ve formátech, které jsou vhodné pro automatické parsování a zobrazení, jako jsou JSON, XML a HTML.
- Do utility "usbconfig" byla integrována možnost výstupu dodatečných informací o USB zařízeních a výrobcích, odpovídajících popisům ze souboru /usr/share/misc/usb_vendors.
- Do ovladače "ice" byla přidána podpora pro Ethernetové kontroléry Intel E800 s propustností 100 Gb/s.
- Do Ethernetového ovladače "msc" byla přidána podpora pro nastavování MAC adresy na základě parametru "smsc95xx.macaddr", který je předáván některými modely desek Raspberry Pi.
- Byla provedena opatření ke zlepšení stability ovladače "iwlwifi" pro bezdrátové čipy Intel.
- Byla přidána možnost použití více oblastí PCI MCFG na systémech amd64 a i386 pro segmentaci adresového prostoru PCI zařízení.
- Byla rozšířena podpora hardware.
- V NFS zpracovávání "mountd" byla pro dekódování názvů adresářů v souboru "exports" využita knihovna "strunvis", což umožnilo používat speciální znaky v názvech adresářů, například mezery. Byly přidány nové sysctl proměnné kern.rpc.unenc a kern.rpc.tls pro konfiguraci NFS-over-TLS.
- V bootloaderu bylo zajištěno čtení konfiguračních souborů uvedených v proměnné local_loader_conf_files po konfiguračních souborech definovaných v souboru /boot/loader.conf.local. Také byla přidána možnost extrakce nastavení ze SMBIOS ve spojení s identifikátory výrobce a produktu. Bylo vylepšeno určování konzole na systémech s EFI. Realizace framebufferu v bootloaderu nyní může používat konzolové video ovladače.
- Byla implementována možnost použití bootloaderu LinuxBoot (loader.kboot) pro zavádění FreeBSD z prostředí založených na Linuxu na systémech aarch64 a amd64.
- Do rc.conf byla přidána podpora parametru kdc_restart, který umožňuje automatické restartování kdc (serveru Kerberos 5) v případě jeho havárie. Další dostupný parametr kdc_restart_delay slouží k nastavení doby zpoždění před restartováním.
- Ve výchozím nastavení byla zkrácena data o změnách při provádění pravidelně spouštěných úloh a skriptů kontrolujících bezpečnost, aby se snížila velikost zpráv odesílaných na email. Pro nastavení úrovně výstupu lze použít parametry daily_diff_flags a security_status_diff_flags v periodic.conf.
- Byly aktualizovány verze externích komponentů: Clang/LLVM 18.1.5, OpenZFS 2.2.4, OpenSSH 9.7p1, awk 2024-01-22 (s podporou UTF-8 a režimu „-csv“), libarchive 3.7.4, sendmail 8.18.1, unbound 1.20.0.
Zdroj: opennet.ru
