Kaks ja pool aastat pärast versiooni 13.0 väljaandmist on koostatud FreeBSD 14.0 versioon. Installipildid on ette valmistatud arhitektuuridele amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 ja riscv64. Täiendavalt on loodud versioonid virtualiseerimissüsteemidele (QCOW2, VHD, VMDK, raw) ja pilvekeskkondadele Amazon EC2, Google Compute Engine ja Vagrant. FreeBSD 14 haru saab olema viimane, mis toetab 32-bitiseid platvorme. FreeBSD 15-s jääb alles vaid 64-bitiste süsteemide tugi, kuid 32-bitiste programmide koostamine ja COMPAT_FREEBSD32 režiimi kasutamine 32-bitiste täitmisfailide käivitamiseks 64-bitises keskkonnas jääb võimaluseks.
Peamised muudatused:
- Käskude tõlgendajana on kasutaja root jaoks vaikimisi seadistatud /bin/sh.
- NVME-seadmete jaoks on kõikidel platvormidel vaikimisi kasutusel draiver nda. Vanema draiveri nvd taastamiseks on loader.conf-is ette nähtud seadistus „hw.nvme.use_nvd=1”.
- Lisatud on uus utiliit „fwget”, mis määrab varustuse, mis vajab püsivara, ja installib vastavad püsivara paketid. Praegu toetatakse ainult PCI-seadmeid ning GPU-de püsivara Intel ja AMD.
- Lisatud on uus base64 utiliit, mis võimaldab andmete kodeerimist ja dekodeerimist base64 formaadis.
- Lisatud on tcpsso utiliit, mis võimaldab seadistada soketi valikuid juba olemasolevates TCP-ühendustes (nt on võimalik vahetada koormuse kontrolli moodulit või TCP-riistvara).
- Dma (DragonFly Mail Agent) on määratud vaikimisi postisaatmisagentiks, asendades sendmaili. Sendmail on säilitatud põhivarustusena ja uuendatud versioonini 8.17.1.
- KTLS-i, TLS protokolli rakenduse, mis töötab FreeBSD tuumatasemel, on lisatud TLS 1.3 riistvaralist kiirendust vastuvõtupooles. Kiirendus on saavutatud, viies mõned šifreeritud pakettide töötlemise seotud toimingud võrgu kaardile.
- Faili konfigureerimiseks jail.conf on lisatud direktiiv «.include», mis võimaldab konfigureerimisfailide laadimist koos kasutatavate teepäringute mustritega. Laiendatud on sysctl parameetrit security.bsd.see_jail_proc, mis võimaldab sulgeda mitteautorisatsiooniga kasutajate sundlõpetamise, prioriteedi muutmise ja protsesside tõrketeate konfigureerimist eraldi jail-keskkonnas.
- Pw ja bsdinstall programmid loovad nüüd vaikimisi kasutajaid kataloogis „/home”, mitte „/usr/home”. Sümboolne link „/home”, mis osutab „/usr/home” ei luuakse enam.
- PROFILI kompileerimisseade on vaikimisi keelatud — süsteemi raamatukogude profileeritud versioone ei pakuta enam, selle asemel tuleks kasutada riistvara profilmist (hwpmc).
- 64-bitiste arhitektuuride täitmisefailide koostamine on aktiveeritud PIE (Position Independent Executable) režiimis.
- Hüpervisiitor Bhyve on lisatud tugi TPM (Trusted Platform Module) ja GPU (AMD ja Intel kiipide virtuaalsete keskkondade jaoks) edastamiseks.
- ZFS failisüsteemi rakendus on uuendatud OpenZFS 2.2 väljaandele. Utility makefs on saanud toetuse ZFS failisüsteemile. On antud võimalus luua ZFS pesa, mis on seotud ühe virtuaalse vdev-kettaga.
- Toetatud CPU tuumade arv (parameter MAXCPU) on suurendatud 256-lt 1024-le amd64 ja arm64 arhitektuuriga süsteemides.
- UFS-is on konfiguratsioonidel, kus žurnaalimine (pehmed värskendused) on lubatud, on võimalik teha failisüsteemi taustakontrolle, kasutades UFS-i snapshots. Superblokkidesse, silindrite grupikaartidesse ja inode'idesse on lisatud täiendavad rikka kontrollid kahjustuste tuvastamiseks.
- Lisaefailisüsteem tarfs, mida saab kasutada tar-arhiividega, mis on kokku pakitud zstd-iga.
- Lisatud tööriist boottrace, et jälgida sündmusi, mis juhtusid süsteemi käivitamise ja sulgemise ajal.
- Lisatud tuuma konfiguratsioon Parameeter FIRECRACKER, et käivitada FreeBSD Firecracker virtuaalmasinates, millel on minimaalne koormus. FreeBSD 14 tuuma käivitamise aeg Firecracker'is on vähenenud 25 millisekundini, mis võimaldab käivitada FreeBSD keskkondi vastavalt vajadusele serveriteta arvutuste infrastruktuuri rakendamiseks.
- Lua programmi kirjutatud laadijast on spetsiaalses sandbox-keskkonnas rakendatud lua-failide täitmise tugi, mis asuvad kaustas loader_conf_files.
- NFS-i tugi on laiendatud. Lisatud uus mountimisvalik „syskrb5“ Kerberose toe jaoks NFSv 4.1/4.2, samuti on rakendatud ExchangeID operatsioonide tugi. Nüüd on võimalik käivitada nfsd, nfsuserd, mountd, gssd ja rpc.tlsservd isoleeritud võrgu keskkonnas vnet.
- Growfs skripti on lisatud võimalus paigutada swap-partitsioon laiendatava ala lõppu diskil.
- Lisatud uus DTrace pakkuja kinst (dtrace_kinst), mis võimaldab jälgida tuuma struktuure.
- Tuumasüsteemi krüptopaki on lisatud XChaCha20-Poly1035 AEAD krüpteerimisalgoritmi tugi ja API curve25519 (WireGuard'i jaoks) kasutamiseks.
- Taaskäivitamise aega on lühendatud. Lisatud sysctl parameeter kern.reboot_wait_time, mille kaudu saab muuta viivitust enne tegelikku taaskäivitamist pärast kõigi diagnostiliste sõnumite kuvamist konsoolis. Vaikimisi on viivitus eemaldatud.
- Tuuma on lisatud timerfd alamsüsteem, mis lihtsustab programmide portimist Linuxist.
- Lisatud sysctl machdep.mitigations.zenbleed.enable, et blokeerida Zenbleed haavatavus AMD Zen2 protsessorites.
- WPA_Supplicant ja Hostapd toetavad nüüd Wi-Fi 6. Iwlwifi draiver tagab Intel'i Wi-Fi 6E AX411/AX211/AX210 kiipide toe.
- AMD64 süsteemides on kärgise jaoks toetatud LLVM projekti AddressSanitizer ja MemorySanitizer tööriistad.
- Rc.d skriptides on lubatud kasutada status meetodit, isegi kui skriptis ei ole määratud programmi nime (procname) ja PID-faili.
- Andmeedastuskiirus tõsteti vaikimisi 9600 bps-lt 115200 bps-le. Vaikimisi on helisignaal 800 Hz. Tagatud on integreerimine devd-iga, et edastada helisignaal läbi helikaardi. Konsooli vt helisignaal on vaikimisi keelatud (selle lubamiseks tuleb käivitada käsud „sysctl kern.vt.enable_bell=1” ja „kbdcontrol -b normal”).
- Parandatud on riistvara kiirenduse NXP DPAA2 (Data Path Acceleration Architecture Gen2) arhitektuuri tuge.
- Lisatud on Intel I225 Ethernet-kontrollerite jaoks igc draiver, mis toetab 2,5 Gbps kiirus.
- Vaikimisi on aktiveeritud net.inet.tcp.nolocaltimewait seadistus, mis keelab timewait-kirjete loomise TCP-ühenduste jaoks, mis katkestatakse kohalikus süsteemis.
- Kommunikatsiooniprotokolli Netlink (RFC 3549) tugi on laiendatud ja vaikimisi sisse lülitatud, mida kasutatakse Linuxis tuuma ja kasutajaruumis olevate protsesside vahelise suhtluse korraldamiseks. Mõned võrguutiliidid on tõlgitud Netlinki kasutusele.
- Pakettfiltris pf on tagatud ühilduvus OpenBSD versiooni pf paketite normaliseerimise (scrubbing) süntaksi ja käitumisega. Pfsync'is on rakendatud IPv6 transpordi kasutamise võimalus. Pfsync pakettide formaat on laiendatud järjekordade, paketide normaliseerimise ja route-to reeglite toetamiseks.
- Võrguliidesesse if_stf (IPv6 üle IPv4) on lisatud IPv6 tugi Rapid Deployment (RFC 5969). Vaikimisi on IPv6 nodeinfo (RFC 4620) režiim keelatud.
- Vaikimisi on sisse lülitatud sysctl-parameeter net.inet.tcp.nolocaltimewait, mis keelab timewait olekuga kirje loomise lokaliselt katkestatud TCP-ühenduste jaoks.
- TCP jaoks on vaikimisi aktiveeritud võrgu ülekoormuse juhtimise mehhanism CUBIC, mitte NewReno, mis on võimaldanud laiendada kasutatava ribalaiuse kasutamist.
- IPv4-s on keelatud suunata levitamise pakette vahemiku nullaadressile, kui seda aadressi ei ole selgelt deklareeritud kui levitamist. Muudatus võimaldab kasutada hostidele aadresse, mis lõppevad " .0".
- OpenSSH seaded on muudetud: scp-is kasutatakse vaikimisi SFTP protokolli scp/rcp asemel, on välja lülitatud RSA/SHA-1 allkirjade tugi, parameetrid VerifyHostKeyDNS ja X11Forwarding on seatud väärtusele "no", eemaldatud on direktiiv VersionAddendum ja HPN seadete tugi.
- Käsku date on lisatud võimalus "-z" ajavööndite teisendamiseks.
- Käsku diff on lisatud võimalus "—color" muutuste visuaalseks näitamiseks värviga.
- Käsku sleep on lisatud tugi mõõtühikutele, mis ei ole sekundid (näiteks saab määrata "sleep 1h 30m").
- Käsku head ja tail on lisatud tugi valikutele "-q" ja "-h", samuti on rakendatud võimalik suuruste määramine SI mõõtühikutega. Käsk head on eemaldatud maksimaalse 2^31 rea piirang.
- Käsku systat on lisatud käsk "iolat", et kuvada muudatused sisendi/väljundi viivituste kohta, mis on arvutatud CAM planeerija poolt.
- libncursesw raamatukogu on jagatud kaheks raamatukoguks: libtinfow ja libncursesw. Lisatud on tugi ncurses'i terminfo baasi kasutamiseks, mitte ainult termcap'i jaoks.
- Aarch64 (arm64) arhitektuuri jaoks on rakendatud ja vaikimisi lubatud kompileerimisvalik COMPAT_LIB32, mis võimaldab 32-bitiste raamatukogude kompileerimist ARM64 süsteemidele, võimaldades käivitada executables, mis on kompileeritud armv7 platvormile.
- Parandatud on tugiteenuse toimetamisvõimet pilvesüsteemidele. AWS EC2 jaoks on lisatud eksperimentaalsed kogumid, mille juurdediskiks on ZFS ja cloud-init. Azure jaoks on esitatud pildid arhitektuuridele arm64 ja amd64, valikutega UFS või ZFS. Lisatud on gve (Google Virtual NIC) virtuaalse võrkaardi draiver.
- ACPI süsteemi on lisatud alusväärtuse _CR3 tugi, mis võimaldab seadistada temperatuuri, mille saavutamisel lülitatakse süsteem unerežiimi (S3).
- Uuendatud on põhissüsteemi sisenevate kolmandate osapoolte rakenduste ja raamatukogude versioonid: OpenSSH 9.5p1, OpenSSL 3.0.12 (varasemalt kasutatud haru 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'i teenuse rakendamine on asendatud llvm-objump'iga. Clang kompilator on uuendatud haru 16-ni.
- Vanade süsteemide puhastamine on teostatud:
- Üksikute OPIE paroolide tugi on baas süsteemist eemaldatud (uuesti kasutamiseks saab installida portaali security/opie).
- ISA liidese helikaartide draiverid on eemaldatud.
- Utility'd fmtree ja minigzip on eemaldatud.
- ATM komponendid netgraph'is (NgATM) on eemaldatud.
- Taustprotsess telnetd on eemaldatud (võib kasutada portaali net/freebsd-telnetd).
- Klass VINUM geom'is on eemaldatud.
- Aegunud draiverid amr, iscsi_initiator, iir, mn, mly, nlmrsa ja twa on eemaldatud.
- Jätkuvate GENERIC ja MINIMAL kernelite seast on eemaldatud VESA parameeter.
- Olevikukihil töötav krüptograafia raamistik OCF (Open Cryptographic Framework) on eemaldanud sarnased krüptograafia tehingud.
- Utility mergemaster on märkustatud vananenuks, selle asemel tuleks kasutada etcupdate'i.
- Utility portsnap on eemaldatud (portside tõmbamiseks tuleks kasutada 'git clone https://git.FreeBSD.org/ports.git /usr/ports').
- Kogude genereerimine armv6 arhitektuurile on lõpetatud.
- MIPS arhitektuuri tugi on eemaldatud.
Allikas: opennet.ru
