Pas dy vjet e gjysmë që nga publikimi i degës 13.0, është formuar lëshimi FreeBSD 14.0. Imazhet e instalimit janë përgatitur për architekturën amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 dhe riscv64. Përveç kësaj, janë përgatitur ndërtimet për sistemet e virtualizimit (QCOW2, VHD, VMDK, raw) dhe ambientet cloud si Amazon EC2, Google Compute Engine dhe Vagrant. Dega FreeBSD 14 do të jetë e fundit me mbështetje për platformat 32-bit. Në FreeBSD 15 do të mbetet vetëm mbështetje për sistemi 64-bit, por do të ruhet mundësia për të ndërtuar programe 32-bit dhe përdorimin e modit COMPAT_FREEBSD32 për të drejtuar skedarët ekzekutivë 32-bit në një ambient 64-bit.
Ndryshimet kryesore:
- Si interpretuese e komandave për përdoruesin root, është caktuar për default /bin/sh.
- Për pajisjet NVME, për default në të gjitha platformat, është aktivizuar drejtuesi nda. Për kthimin e drejtuesit të vjetër nvd në loader.conf është parashikuar konfigurimi "hw.nvme.use_nvd=1".
- Është shtuar utiliti i ri "fwget", i cili identifikon pajisjet që kërkojnë firmuer dhe instalon paketat përkatëse me firmuese. Aktualisht mbështeten vetëm pajisjet PCI dhe firmuese për GPU Intel dhe AMD.
- Është shtuar një utilit i ri base64 për kodimin dhe dekodimin e të dhënave në formatin base64.
- Është shtuar utiliti tcpsso, që lejon caktimin e opsioneve të soketëve për lidhjet ekzistuese TCP (për shembull, mund të ndryshoni modulin e kontrollit të ngarkesës ose TCP-stack).
- Si agjent i shpërndarjes së postës për default, në vend të sendmail është angazhuar dma (Agjenti i Postës DragonFly). Sendmail është ruajtur në paketën bazë dhe është përmirësuar në versionin 8.17.1.
- Në KTLS, implementimi i protokollit TLS që funksionon në nivelin e bërthamës FreeBSD, është shtuar mbështetje për përshpejtimin hardueror të TLS 1.3 në anën e pranimit. Përspejtimi është siguruar përmes nxjerrjes në anën e kartës së rrjetit të disa operacioneve që lidhen me përpunimin e paketave të enkrimuar.
- Në skedarin e konfigurimit jail.conf është shtuar direktyva " .include", e cila lejon përfshirjen e skedareve shtesë gjatë ngarkesës së konfigurimit, në rrugët e të cilave lejohet përdorimi i maskave. Parametri sysctl security.bsd.see_jail_proc është zgjeruar, me ndihmën e të cilit përdoruesve të paautorizuar në një ambient të veçantë jail tani mund t'u ndalohet përfundimi i detyruar, ndryshimi i prioritetit dhe debugimi i proceseve.
- Programet pw dhe bsdinstall tani krijojnë përdoruesit në katalogun "\/home" si parazgjedhje, jo në "\/usr\/home". Lidhja simbolike për "\/home", që tregon në "\/usr\/home", nuk krijohet më.
- Konfigurimi i ndërtimit PROFILE është çaktivizuar si parazgjedhje - versionet e profilizuara të bibliotekave të sistemit nuk ofrohen më, për të përdorur pajisjet e profilizimit (hwpmc).
- Ndërtimi i skedarëve ekzekutivë për arkitekturën 64-bit është aktivizuar në mënyrën PIE (Position Independent Executable).
- Në hipervizorin Bhyve është shtuar mundësia e kalimit të aksesit në TPM (Trusted Platform Module) dhe GPU (në mjediset virtuale për çipat AMD dhe Intel).
- Zbatimi i sistemit të skedarëve ZFS është përditësuar në versionin OpenZFS 2.2. Në utilitarin makefs është shtuar mbështetje për sistemin e skedarëve ZFS. Është dhënë mundësia për të krijuar një pishinë ZFS të lidhur me një diskut virtual vdev.
- Numri i bërthamave të CPU mbështetje është rritur nga 256 në 1024 (parametri MAXCPU) në sistemet me arkitekturë amd64 dhe arm64.
- Në UFS për konfigurimet ku është aktivizuar regjistrimi (soft updates) lejohet kryerja e kontrollit të prapambetur të sistemit të skedarëve, duke përdorur snapshotet UFS. Në superbloket, hartat e grupeve të cilindrave dhe inode janë shtuar verifikime shtesë me hash për identifikimin e dëmtimeve.
- Èshtë shtuar sistemi i skedarëve tarfs, që mund të përdoret me arkivat tar të kompresuara me zstd.
- Èshtë shtuar mjetet boottrace për ndjekjen e ngjarjeve që ndodhin në fazën e ngarkimit dhe përfundimit të sistemit.
- Èshtë shtuar parametri i konfigurimit të bërthamës FIRECRACKER për të mundësuar ekzekutimin e FreeBSD në sistemin e virtualizimit Firecracker, i projektuar për të ekzekutuar makina virtuale me kosto minimale. Koha e ngarkimit të bërthamës FreeBSD 14 nën menaxhimin e Firecracker është reduktuar në 25 milisekonda, duke lejuar ngarkimin e ambientit me FreeBSD sipas nevojës për të realizuar infrastrukturën e computing pa server.
- Në ngarkuesin, i shkruar në Lua, në një ambient të veçantë sandbox, është implementuar mbështetje për ekzekutimin e skedarëve lua, të vendosur në katalogun loader_conf_files.
- Èshtë zgjeruar mbështetjen për NFS. Èshtë shtuar një opsion i ri montimi "syskrb5" për mbështetje Kerberos në NFSv 4.1\/4.2, si dhe është implementuar mbështetje për operacionin ExchangeID. Èshtë realizuar mundësia për të ekzekutuar nfsd, nfsuserd, mountd, gssd dhe rpc.tlsservd në një ambient të izoluar rrjeti vnet.
- Në skenarin growfs është implementuar mundësia e vendosjes së një seksioni swap në fund të zonës së zgjeruar në disk.
- U shtua një provajder i ri DTrace kinst (dtrace_kinst), i cili lejon gjurmimin e strukturave të bërthamës.
- Në kriptosubstratën e bërthamës është shtuar mbështetje për algoritmin e enkriptimit XChaCha20-Poly1035 AEAD, si dhe është shtuar API për përdorimin e kurbës eliptike curve25519 (për WireGuard).
- Koha e rinisjes është shkurtuar. U shtua parametri sysctl kern.reboot_wait_time, i cili mund të ndryshojë vonesën para rinisjes faktike pas shfaqjes së të gjitha mesazheve diagnostike në konsolë. Nga e ardhmja, vonesa është eliminuar.
- Është shtuar një sistem timerfd në bërthamë, që thjeshton portimin e aplikacioneve nga Linux.
- U shtua sysctl machdep.mitigations.zenbleed.enable për të bllokuar vulnerabilitetin Zenbleed në procesorët AMD Zen2.
- Në wpa_supplicant dhe hostapd është shtuar mbështetje për Wi-Fi 6. Në driverin iwlwifi sigurohet funksionimi me çipet Intel që mbështesin Wi-Fi 6E AX411 / AX211 / AX210.
- Për bërthamën në sistemet amd64 është siguruar mbështetje për mjetet AddressSanitizer dhe MemorySanitizer nga projekti LLVM.
- Në skriptet rc.d lejohet përdorimi i metodës status, edhe nëse emri i programit (procname) dhe skedari PID nuk janë të përcaktuar.
- Shpejtësia e transmetimit të dhënave përmes portit serial në bërthamë, në bootloaders dhe në hapësirën e përdoruesit është rritur nga 9600 në 115200 bps. Tingulli i alarmit është vendosur në 800Hz si parazgjedhje. Siguruar integrim me devd për dërgimin e tingullit përmes kartës së zërit. Për konsolën vt, alarmi është çaktivizuar si parazgjedhje (për aktivizimin e tij është e nevojshme të kryhen komandat «sysctl kern.vt.enable_bell=1» dhe «kbdcontrol -b normal»).
- Është përmirësuar mbështetja për arkitekturën e accelerimit të operacioneve rrjetësore NXP DPAA2 (Data Path Acceleration Architecture Gen2).
- Është shtuar driveri igc për kontrollorët Ethernet Intel I225, që mbështet shpejtësinë 2.5 Gbps.
- Si parazgjedhje është aktivizuar konfigurimi net.inet.tcp.nolocaltimewait, që çaktivizon krijimin e regjistrave timewait për lidhjet TCP, të cilat janë ndërprerë në anën e sistemit lokal.
- Është zgjeruar dhe aktivizuar si parazgjedhje mbështetja për protokollin e komunikimit Netlink (RFC 3549), i cili përdoret në Linux për organizimin e ndërveprimit të bërthamës me proceset në hapësirën e përdoruesit. Disa mjete rrjeti janë transferuar në përdorimin e Netlink.
- Filtri i grupit pf ofron përputhje me sintaksën dhe sjelljen e operacioneve të normalizimit të paketave (scrubbing) nga versioni pf i OpenBSD. Në pfsync është zbatuar mundësia për përdorimin e transportit IPv6. Formati i paketave pfsync është zgjeruar për të mbështetur radhët, normalizimin e paketave dhe rregullat route-to.
- Në ndërfaqen e rrjetit if_stf (IPv6 mbi IPv4) është shtuar mbështetje IPv6 Rapid Deployment (RFC 5969). Në mënyrë të paracaktuar është çaktivizuar modaliteti IPv6 nodeinfo (RFC 4620).
- Parametri sysctl net.inet.tcp.nolocaltimewait është aktivizuar në mënyrë të paracaktuar, duke çaktivizuar krijimin e regjistrimeve me gjendje timewait për lidhjet TCP të ndërprera lokalisht.
- Në mënyrë të paracaktuar, për TCP është aktivizuar mekanizmi i menaxhimit të mbingarkesës rrjet përmes CUBIC në vend të NewReno, çka ka lejuar zgjerimin e përdorimit të bandës së disponueshme.
- Në IPv4 është çaktivizuar dërgimi i paketimeve të gjera në adresën zero të nënrrjetit, nëse kjo adresë nuk është shpallur në mënyrë të qartë si e gjërë. Ky ndryshim lejon përdorimin e adresave për hostet që përfundojnë me «.0».
- Janë ndryshuar cilësimet e OpenSSH: në scp, protokolli SFTP është aktivizuar në mënyrë të paracaktuar në vend të scp/rcp, është çaktivizuar mbështetja për nënshkrimet RSA/SHA-1, parametrat VerifyHostKeyDNS dhe X11Forwarding janë caktuar në «jo», është hequr direktiva VersionAddendum, është hequr mbështetja për cilësimet HPN.
- Në mjetin date është shtuar opsioni «-z» për konvertimin e zona të kohës.
- Në mjetin diff është shtuar opsioni «—color» për vizualizimin e qartë të ndryshimeve me ngjyrë.
- Në mjetin sleep është shtuar mbështetje për njësi matëse të ndryshme nga sekondat (për shembull, mund të tregoni «sleep 1h 30m»).
- Në mjetet head dhe tail është shtuar mbështetje për opsionet «-q» dhe «-h», si dhe është zbatuar mundësia e caktimit të sasisë me sufiks në sistemin ndërkombëtar të njësive SI. Në head është hequr kufizimi në numrin maksimal të rreshtave 2^31.
- Në mjetin systat është shtuar komanda «iolat» për të dhënat mbi vonesat e hyrjes/daljes, të llogaritura nga planifikuesi CAM.
- Biblioteka libncursesw është ndarë në dy biblioteka libtinfow dhe libncursesw. Është shtuar mbështetje për përdorimin e terminfo në ncurses, jo vetëm termcap.
- Për arkitekturën aarch64 (arm64) është zbatuar dhe aktivizuar si gjatë ndërtimit opsioni i ndërtimit COMPAT_LIB32, duke siguruar ndërtimin e bibliotecave 32-bit për sistemet ARM64, që lejojnë ekzekutimin e skedarëve ekzekutivë të ndërtuar për platformën armv7.
- Është përmirësuar mbështetja për sistemet cloud. Për AWS EC2 janë shtuar ndërtimet eksperimentale me FS-në rrënjësore ZFS dhe cloud-init. Për Azure janë ofruar imazhe për arkitekturën arm64 dhe amd64, me opsion për UFS ose ZFS. Është shtuar një driver për kartën virtuale të rrjetit gve (Google Virtual NIC).
- Në sistemin ACPI është shtuar mbështetje për pragun _CR3, që lejon caktimin e temperaturës, kur arrihet e cila sistemi do të kalojë në mënyrën e spanjohjes (S3).
- Janë përditësuar versionet e aplikacioneve dhe bibliotekave të palëve të treta që bëjnë pjesë në sistemin bazë: OpenSSH 9.5p1, OpenSSL 3.0.12 (më parë ishte përdorur dega 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. Realizimi i utilitarit objdump është zëvendësuar me llvm-objdump. Kompilatori Clang është përditësuar në degën 16.
- Është bërë pastrimi i sistemeve të vjetra:
- Nga sistemi bazë është hequr mbështetja për fjalëkalimet e përkohshme OPIE (për ta rikthyer, mund të instaloni portin security/opie).
- Janë hequr driverët për kartat e zërit me ndërfaqe ISA.
- Janë hequr utilitarët fmtree dhe minigzip.
- Janë hequr komponentët ATM në netgraph (NgATM).
- Është hequr procesi i prapambetur telnetd (mund të përdorni portin net/freebsd-telnetd).
- Është hequr klasa VINUM në geom.
- Janë hequr driverët e vjetëruar amr, iscsi_initiator, iir, mn, mly, nlmrsa dhe twa.
- Nga bërthamat GENERIC dhe MINIMAL është hequr parametrin VESA.
- Nga korniza kriptografike OCF (Open Cryptographic Framework) e punësuar në nivelin e bërthamës është hequr mbështetja për operacionet kriptografike asimetrike.
- Është shpallur e vjetëruar utilitari mergemaster, për të cilin duhet të përdoret etcupdate.
- Është hequr utilitari portsnap (për nxjerrjen e porteve duhet të përdoret «git clone https://git.FreeBSD.org/ports.git /usr/ports»).
- Është ndaluar krijimi i ndërtimeve për arkitekturën armv6.
- Është hequr mbështetja për arkitekturën MIPS.
Burimi: opennet.ru
