Praėjus dvejiems su puse metų nuo 13.0 filialo paskelbimo, buvo sukurtas FreeBSD 14.0 leidimas. Diegimo vaizdai yra paruošti amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 ir riscv64 architektūroms. Be to, parengti komplektai virtualizavimo sistemoms (QCOW2, VHD, VMDK, raw) ir debesų aplinkoms Amazon EC2, Google Compute Engine ir Vagrant. FreeBSD 14 šaka bus paskutinė, palaikanti 32 bitų platformas. FreeBSD 15 palaikys tik 64 bitų sistemas, tačiau išsaugos galimybę kurti 32 bitų programas ir naudoti COMPAT_FREEBSD32 režimą 32 bitų vykdomiesiems failams paleisti 64 bitų aplinkoje.
Pagrindiniai pakeitimai:
- Numatytasis root vartotojo apvalkalas yra /bin/sh.
- NVME įrenginiuose nda tvarkyklė pagal numatytuosius nustatymus įjungta visose platformose. Norėdami grąžinti seną nvd tvarkyklę, faile loader.conf pateikiamas parametras „hw.nvme.use_nvd=1“.
- Pridėta nauja programa „fwget“, kuri identifikuoja aparatinę įrangą, kuriai reikalinga programinė įranga, ir įdiegia atitinkamus programinės įrangos paketus. Šiuo metu palaikomi tik PCI įrenginiai ir programinė įranga, skirta „Intel“ ir AMD GPU.
- Pridėta nauja „base64“ programa, skirta „base64“ duomenims koduoti ir dekoduoti.
- Pridėta tcpsso paslaugų programa, leidžianti nustatyti esamų TCP jungčių lizdo parinktis (pavyzdžiui, galite pakeisti perkrovos valdymo modulį arba TCP krūvą).
- Numatytasis pašto pristatymo agentas yra dma (DragonFly Mail Agent), o ne sendmail. „Sendmail“ buvo paliktas pagrindiniame pakete ir atnaujintas į 8.17.1 versiją.
- KTLS, TLS protokolo „FreeBSD“ branduolio diegimas, prideda TLS 1.3 aparatinės įrangos spartinimo palaikymą priėmimo pusėje. Pagreitis užtikrinamas kai kurias operacijas, susijusias su šifruotų paketų apdorojimu, perkėlus į tinklo plokštės pusę.
- Į jail.conf konfigūracijos failą buvo pridėta direktyva „.include“, kuri leidžia įkeliant konfigūraciją įtraukti papildomų failų, kurių keliai leidžia naudoti kaukes. Išplėstas sysctl parametras security.bsd.see_jail_proc, kurio pagalba dabar atskiroje kalėjimo aplinkoje neįgaliotiems vartotojams gali būti uždrausta priverstinai nutraukti, keisti prioritetą ir derinti procesus.
- Pw ir bsdinstall programos dabar pagal numatytuosius nustatymus sukuria vartotojus kataloge /home, o ne /usr/home. Simbolinė nuoroda „/home“, nukreipianti į „/usr/home“, nebekuriama.
- Pagal numatytuosius nustatymus išjungtas PROFILO kūrimo nustatymas – nebeteikiamos profiliuotos sistemos bibliotekų versijos, vietoj jų turėtų būti naudojami aparatinės įrangos profiliavimo įrankiai (hwpmc).
- Įgalintas vykdomųjų failų kūrimas 64 bitų architektūroms PIE (nuo pozicijos nepriklausomas vykdomasis) režimu.
- Prie „Bhyve hypervisor“ buvo pridėta galimybė persiųsti prieigą prie TPM (Patikimos platformos modulio) ir GPU (virtualiose AMD ir Intel lustų aplinkose).
- ZFS failų sistemos diegimas buvo atnaujintas į OpenZFS 2.2 leidimą. Makefs programa papildė ZFS failų sistemos palaikymą. Suteikia galimybę sukurti ZFS telkinį, susietą su vienu vdev virtualiu disku.
- Palaikomų procesoriaus branduolių skaičius (MAXCPU parametras) sistemose, pagrįstose amd256 ir arm1024 architektūra, padidintas nuo 64 iki 64.
- UFS konfigūracijose, kuriose įjungtas registravimas (soft updates), leidžiama atlikti failų sistemos fono patikras naudojant UFS momentines nuotraukas. Papildomi maišos patikrinimai buvo įtraukti į superblokus, cilindrų grupių žemėlapius ir inodus, kad būtų galima aptikti korupciją.
- Pridėta tarfs failų sistema, kurią galima naudoti su tar archyvais, suspaustais zstd.
- Pridėtas įkrovos stebėjimo įrankių rinkinys, skirtas stebėti įvykius, įvykusius įkrovos ir sistemos išjungimo metu.
- Pridėta FIRECRACKER branduolio konfigūravimo parinktis, leidžianti FreeBSD veikti Firecracker virtualizacijos sistemoje, kuri skirta virtualioms mašinoms paleisti su minimaliomis išlaidomis. „FreeBSD 14“ branduolio įkrovos laikas, kuriame veikia „Firecracker“, buvo padidintas iki 25 milisekundžių, leidžiantis paleisti „FreeBSD“ aplinkas, kai reikia įdiegti be serverio skaičiavimo infrastruktūrą.
- Įkroviklis, parašytas Lua, specialioje smėlio dėžės aplinkoje, palaiko lua failų, esančių kataloge loader_conf_files, vykdymą.
- NFS palaikymas buvo išplėstas. Pridėta nauja prijungimo parinktis „syskrb5“, skirta „Kerberos“ palaikymui NFSv 4.1/4.2 versijose, ir „ExchangeID“ operacijos palaikymas. Įdiegta galimybė paleisti nfsd, nfsuserd, mountd, gssd ir rpc.tlsservd izoliuotoje vnet tinklo aplinkoje.
- Growfs scenarijus įgyvendina galimybę įdėti apsikeitimo skaidinį į disko išplečiamos srities pabaigą.
- Pridėtas naujas DTrace teikėjo kinst (dtrace_kinst), leidžiantis atsekti branduolio struktūras.
- Į branduolio kriptografijos posistemę buvo pridėtas XChaCha20-Poly1035 AEAD šifravimo algoritmo palaikymas ir API, skirta naudoti „curve25519“ elipsinę kreivę (skirta WireGuard).
- Sutrumpintas perkrovimo laikas. Pridėtas sysctl parametras kern.reboot_wait_time, per kurį galite pakeisti delsą prieš faktinį perkrovimą po to, kai visi diagnostiniai pranešimai bus išvesti į konsolę. Pagal numatytuosius nustatymus delsa pašalinama.
- Į branduolį buvo pridėta timerfd posistemė, supaprastinant programų perkėlimą iš Linux.
- Pridėta sysctl machdep.mitigations.zenbleed.enable, skirta blokuoti Zenbleed pažeidžiamumą AMD Zen2 procesoriuose.
- „Wi-Fi 6“ palaikymas buvo pridėtas prie „wpa_supplicant“ ir „hostapd“. „iwlwifi“ tvarkyklė palaiko „Intel“ lustus, palaikančius „Wi-Fi 6E AX411/AX211/AX210“.
- „Amd64“ sistemų branduolys palaiko „AddressSanitizer“ ir „MemorySanitizer“ įrankius iš LLVM projekto.
- rc.d scenarijai leidžia naudoti būsenos metodą, net jei programos pavadinimas (procname) ir PID failas scenarijuje nėra apibrėžti.
- Numatytasis branduolio, įkrovos įkrovos ir vartotojo erdvės nuosekliojo prievado perdavimo sparta padidinta nuo 9600 bps iki 115200 bps. Numatytasis pyptelėjimo tonas nustatytas į 800 Hz. Integracija su devd yra skirta pyptelėjimui išvesti per garso plokštę. Vt konsolėje pyptelėjimas pagal numatytuosius nustatymus yra išjungtas (norėdami jį įjungti, turite paleisti komandas „sysctl kern.vt.enable_bell=1“ ir „kbdcontrol -b normal“).
- Pagerintas NXP DPAA2 (Data Path Acceleration Architecture Gen2) tinklo aparatinės įrangos spartinimo architektūros palaikymas.
- Pridėta igc tvarkyklė Intel I225 Ethernet valdikliams, palaikanti 2.5 Gbps greitį.
- Pagal numatytuosius nustatymus įjungtas net.inet.tcp.nolocaltimewait parametras, kuris išjungia laukimo laiko įrašų kūrimą TCP ryšiams, kurie nutraukiami vietinės sistemos pusėje.
- Palaikymas „Netlink“ ryšio protokolui (RFC 3549), naudojamam Linux Siekiant organizuoti branduolio ir vartotojo erdvės procesų sąveiką. Kai kurios tinklo programos buvo konvertuotos naudoti „Netlink“.
- Pf paketų filtras užtikrina suderinamumą su pf OpenBSD versijos paketų normalizavimo (valymo) sintakse ir elgesiu. pfsync įgyvendina galimybę naudoti IPv6 transportą. Pfsync paketo formatas buvo išplėstas, kad palaikytų eiles, paketų normalizavimą ir maršruto į taisykles.
- Pridėta prie if_stf (IPv6 per IPv4) tinklo sąsajos IPv6 palaikymas Greitas diegimas (RFC 5969). IPv6 „nodeinfo“ režimas (RFC 4620) pagal numatytuosius nustatymus yra išjungtas.
- Net.inet.tcp.nolocaltimewait sysctl parametras yra įjungtas pagal numatytuosius nustatymus, neleidžiantis kurti laukimo laiko būsenos įrašų vietoje nutrauktiems TCP ryšiams.
- Pagal numatytuosius nustatymus TCP vietoj NewReno naudoja CUBIC tinklo perkrovos valdymo mechanizmą, kuris leidžia geriau išnaudoti turimą pralaidumą.
- IPv4 neleidžia siųsti transliacijos paketų į nulinį potinklio adresą, nebent tas adresas yra aiškiai paskelbtas transliavimo adresu. Pakeitimas leidžia pagrindiniams kompiuteriams naudoti adresus, kurie baigiasi ".0".
- Pakeisti OpenSSH nustatymai: scp pagal numatytuosius nustatymus įjungtas SFTP protokolas, o ne scp/rcp, RSA/SHA-1 parašų palaikymas išjungtas, VerifyHostKeyDNS ir X11Forwarding parametrai nustatyti į „ne“, pašalinta VersionAddendum direktyva, HPN nustatymų palaikymas pašalintas.
- Pridėta „-z“ parinktis prie datos įrankio, norint konvertuoti laiko juostas.
- Parinktis „--color“ buvo pridėta prie skirtumo įrankio, kad būtų galima vizualizuoti spalvų pokyčius.
- Miego paslaugų programa dabar palaiko ne sekundes, o kitus vienetus (pvz., galite nurodyti „miega 1 val. 30 min“).
- „-q“ ir „-h“ parinkčių palaikymas buvo pridėtas prie galvos ir uodegos paslaugų, taip pat įdiegta galimybė nurodyti reikšmes su priesagomis tarptautinėje SI vienetų sistemoje. Antraštėje panaikintas maksimalaus 2^31 eilučių skaičiaus apribojimas.
- Prie sistemos „Systat“ buvo pridėta komanda „iolat“, kad būtų rodoma informacija apie CAM planavimo priemonės apskaičiuotus įvesties / išvesties delsas.
- libncursesw biblioteka yra padalinta į dvi bibliotekas: libtinfow ir libncursesw. Pridėtas terminfo duomenų bazės naudojimo ncurses palaikymas, o ne tik termcap.
- Aarch64 (arm64) architektūrai pagal numatytuosius nustatymus buvo įdiegta ir įjungta COMPAT_LIB32 kūrimo parinktis, suteikianti ARM32 sistemų 64 bitų bibliotekų surinkimą, leidžiančią paleisti vykdomuosius failus, sudarytus armv7 platformai.
- Patobulintas debesų sistemų palaikymas. AWS EC2 buvo pridėtos eksperimentinės versijos su ZFS šakninių failų sistema ir debesies įvedimu. „Azure“ vaizdai pateikiami arm64 ir amd64 architektūroms, pasirenkant UFS arba ZFS. Pridėta gve virtualios tinklo plokštės tvarkyklė (Google Virtual NIC).
- ACPI sistema papildė slenkstinės reikšmės _CR3 palaikymą, kuri leidžia nustatyti temperatūrą, kurią pasiekus sistema persijungs į miego režimą (S3).
- Atnaujintos trečiųjų šalių programų ir bibliotekų, įtrauktų į bazinę sistemą, versijos: OpenSSH 9.5p1, OpenSSL 3.0.12 (anksčiau buvo naudojama šaka 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. Įrankio objdump įgyvendinimas buvo pakeistas llvm-objump. Clang kompiliatorius buvo atnaujintas iki 16 šakos.
- Išvalytos pasenusios sistemos:
- OPIE vienkartinių slaptažodžių palaikymas buvo pašalintas iš pagrindinės sistemos (saugos / opie prievadą galima nustatyti taip, kad būtų atnaujintas naudojimas).
- Pašalintos garso plokščių su ISA sąsaja tvarkyklės.
- „Fmtree“ ir „minigzip“ paslaugos buvo pašalintos.
- Pašalinti bankomato komponentai netgrafe (NgATM).
- Telnetd fono procesas buvo pašalintas (galite naudoti net/freebsd-telnetd prievadą).
- Pašalinta VINUM klasė geom.
- Pašalintos pasenusios amr, iscsi_initiator, iir, mn, mly, nlmrsa ir twa tvarkyklės.
- VESA parametras buvo pašalintas iš GENERIC ir MINIMAL branduolių.
- Asimetrinių kriptografinių operacijų palaikymas buvo pašalintas iš branduolio lygio kriptografinės sistemos OCF (Open Cryptographic Framework).
- Mergemaster paslaugų programa buvo pasenusi ir turėtų būti pakeista į etcupdate.
- „Portsnap“ programa buvo pašalinta (norėdami išskleisti prievadus, turėtumėte naudoti „git clone https://git.FreeBSD.org/ports.git /usr/ports“).
- „Armv6“ architektūros mazgų generavimas buvo sustabdytas.
- Pašalintas MIPS architektūros palaikymas.
Šaltinis: opennet.ru
