Kaks ja pool aastat pärast 13.0 haru avaldamist on välja antud FreeBSD 14.0. Paigalduskujutised on ette valmistatud arhitektuuridele amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 ja riscv64. Täiendavalt on ette valmistatud kogumikud virtualiseerimissüsteemide (QCOW2, VHD, VMDK, raw) ja pilvekeskkondade Amazon EC2, Google Compute Engine ja Vagrant jaoks. FreeBSD 14 haru on viimane, mis toetab 32-bitiseid platvorme. FreeBSD 15 versioonis jääb alles ainult 64-bitiste süsteemide tugi, kuid 32-bitiste programmide koostamine ja COMPAT_FREEBSD32 režiimi kasutamine 32-bitiste täidesaatvate failide käivitamiseks 64-bitises keskkonnas jäävad endiselt võimalikuks.
Peamised muudatused:
- Käskude tõlgendajana on vaikimisi määratud kasutaja root jaoks /bin/sh.
- NVME-seadmete jaoks on vaikimisi kõigil platvormidel kasutusel draiver nda. Vanade nvd draiverite tagasipööramiseks on loader.conf-ile määratud seadistus «hw.nvme.use_nvd=1».
- Uus utiliit «fwget» võimaldab määrata riistvara, mis vajab püsivara, ja installida vastavad püsivara paketid. Praegu toetatakse ainult PCI-seadmeid ning GPU-d Intel ja AMD.
- Uus utiliit base64 on lisatud andmete kodeerimiseks ja dekodeerimiseks base64 formaadis.
- Lisatud utiliit tcpsso, mis võimaldab seada sokli valikuid olemasolevate TCP-ühenduste jaoks (nt saab vahetada koormuse kontrolli moodulit või TCP-steki).
- Vaikimisi on postituste edastamise agendiks dma (DragonFly Mail Agent) sendmail asemel. Sendmail on säilinud põhipaketis ja uuendatud versioonini 8.17.1.
- KTLS-i, TLS-protokolli teostus, mis töötab FreeBSD tuumatasemel, on lisanud tuge TLS 1.3 riistvarakihil võtja poolel. Kiirendust pakuvad mõned šifreeritud pakettide töötlemise toimingud, mis on viidud võrgu kaardi külge.
- Konfiguratsioonifaili jail.conf on lisandunud direktiiv «.include», mis võimaldab laadimise ajal lisada täiendavaid faile, kus teede määramisel on lubatud mustrivalik. Sysctl-parameetrit security.bsd.see_jail_proc on laiendatud, et autoriseerimata kasutajatele eraldi jail-keskkonnas saaks nüüd keelata protsesside sundlõpetamise, prioriteedi muutmise ja silumise.
- Programmid pw ja bsdinstall loovad nüüd vaikimisi kasutajaid kaustas „/home”, mitte kaustas „/usr/home”. Sümboolset linki „/home”, mis viitab „/usr/home”, ei kohaldata enam.
- Vaikimisi on keelatudPROFILE kokkupaneku seadistus - süsteemi teekide profiilitud versioone ei pakuta enam, selle asemel tuleb kasutada riistvara profiliseerimist (hwpmc).
- 64-bitiste arhitektuuride jaoks on lubatud käivitatavate failide koostamine PIE (Position Independent Executable) režiimis.
- Hypervisor Bhyve on lisatud tugi TPM (Trusted Platform Module) ja GPU edastamiseks (virtuaalsetesse keskkondadesse AMD ja Intel kiipide jaoks).
- ZFS failisüsteemi teostus on ajakohastatud OpenZFS 2.2 väljaandeni. Utiliiti makefs on lisatud tugi ZFS failisüsteemile. On loodud võimalus luua ZFS bassein, mis on seotud ühe virtuaalse ketas vdev-iga.
- CPU (MAXCPU parameetrit) toetavate tuumade arv on suurendatud 256-lt 1024-le amd64 ja arm64 arhitektuuridel.
- UFS-is, kus on lubatud päevik (soft updates), on lubatud failisüsteemi taustkontrolli teostamine UFS-i snapshotide kasutamisega. Superblokkidesse, silindrigrupi kaartidesse ja inode-idesse on lisatud täiendavad hash-kontrollid kahjustuste tuvastamiseks.
- Lisatud on failisüsteem tarfs, mida saab kasutada zstd abil kokku pakitud tar-arhiivide jaoks.
- Lisatud on tööriist boottrace, et jälgida juhtumeid, mis toimuvad süsteemi käivitamise ja lõpetamise etappidel.
- Kernel’i seadistus FIRECRACKER on lisatud, et võimaldada FreeBSD käivitamist Firecracker virtualiseerimissüsteemis, mis on mõeldud virtuaalmasinate käitamiseks minimaalsete kuludega. FreeBSD 14 kernel’i käivitusaeg Firecracker’i all on viidud 25 millisekundini, mis võimaldab käivitada FreeBSD keskkondi vajaduse korral serverivabade arvutuste infrastruktuuri realiseerimiseks.
- Loader, mis on kirjutatud Lua keeles, toetab lua-failide täitmist erilise sandboxes keskkonnas, mis asub kaustas loader_conf_files.
- NFS-i toe laiendamine. Lisatud uus „syskrb5” mountimise valik Kerberose toeks NFSv 4.1/4.2, samuti on rakendatud ExchangeID toiming. Rakendatud on võimalik käivitada nfsd, nfsuserd, mountd, gssd ja rpc.tlsservd isoleeritud võrgukeskkonnas vnet.
- Skripti growfs võimaldab luua vahetusfaili sektsiooni, mis asub laieneva ala lõpus kettal.
- Lisatud uus DTrace-teenusepakkuja kinst (dtrace_kinst), mis võimaldab jälgida tuuma struktuure.
- Tuuma krüptosüsteemi on lisatud XChaCha20-Poly1035 AEAD krüpteerimisalgoritmi tugi ning lisatud API elliptilise kõveraga curve25519 (WireGuardi jaoks) töötamiseks.
- Taaskäivitusaega on lühendatud. Lisatud sysctl-parameeter kern.reboot_wait_time, mille kaudu saab muuta viivitust enne tegelikku taaskäivitamist pärast kõigi diagnostiliste teadete väljastamist konsoolile. Vaikimisi viivitus on kõrvaldatud.
- Tuuma on lisatud timerfd alamü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 toetab Intel'i kiipe, mis toetavad Wi-Fi 6E AX411/AX211/AX210.
- amd64 süsteemidel toetab tuum LLVM projekti tööriistu AddressSanitizer ja MemorySanitizer.
- rc.d skripti osas on lubatud status meetodi kasutamine, isegi kui skripti ei ole määratud programmi (procname) ja PID-faili nime.
- Andmete edastuskiirus järguporti kaudu tuumas, laadimisseadmetes ja kasutajaruumi on vaikimisi suurendatud 9600 bps-lt 115200 bps-ni. Helisignali sagedus on vaikimisi seadistatud 800 Hz. On tagatud integreerimine devd-ga helisignali väljastamiseks helikaardi kaudu. vt konsooli jaoks on helisignaal vaikimisi keelatud ( selle lubamiseks tuleb käivitada käsud „sysctl kern.vt.enable_bell=1“ ja „kbdcontrol -b normal“).
- Parandatud NXP DPAA2 (Data Path Acceleration Architecture Gen2) riistvara kiirenduse arhitektuuri tuge.
- Lisatud igc draiver Intel I225 Ethernet-kontrolleritele, mis toetab 2,5 Gbps kiirus.
- Vaikimisi on aktiveeritud seade net.inet.tcp.nolocaltimewait, mis keelab timewait-kirjete loomise TCP-ühenduste jaoks, mis on katkenud kohaliku süsteemi poolt.
- Laienenud ja vaikimisi lubatud Netlink suhtlusprotokolli tugi (RFC 3549), mida kasutatakse Linuxis tuuma ja kasutajaruumi protsesside vahelise suhtluse korraldamiseks. Mõned võrguutiliidid on ümber lülitatud Netlinki kasutamisele.
- Pakettifiltri pf tagab ühilduvust OpenBSD pf-i pakettide normaliseerimise (scrubbing) operatsioonide süntaksiga ja käitumisega. pfsync-is on rakendatud IPv6 transporti kasutamise võimalus. pfsync-i pakettide formaat on laiendatud järjekordade, pakettide normaliseerimise ja route-to reeglite toetamiseks.
- Võrgu liidesesse if_stf (IPv6 IPv4 üle) on lisatud IPv6 toetus Kiire juurutamine (RFC 5969). IPv6 nodeinfo režiim (RFC 4620) on vaikimisi keelatud.
- Vaikimisi on sisse lülitatud sysctl parameeter net.inet.tcp.nolocaltimewait, mis keelab records timewait loomise lokaalsetest TCP-ühendustest katkestatud seansside jaoks.
- Vaikimisi on TCP-s kasutusele võetud CUBIC võrgukoormuse juhtimise mehhanism NewReno asemel, mis on võimaldanud laiendada kergesti kätetuks saadaval olevat ribalaiust.
- IPv4-s on keelatud häälestada laiaulatuslikke pakette nulliga alamvõrku, kui seda aadressi ei ole selgesõnaliselt laiaulatuslikuks deklareeritud. See muudatus võimaldab hostidel kasutada aadresse, mis lõppevad " .0".
- OpenSSH seadeid on muudetud: scp-s on vaikimisi sisse lülitatud SFTP protokoll scp/rcp asemel, RSA/SHA-1 allkirjade tugi on välja lülitatud, VerifyHostKeyDNS ja X11Forwarding parameetrite väärtused on seatud "ei", VersionAddendum direktiiv on eemaldatud, HPN seadete tugi on eemaldatud.
- date utiliiti on lisatud -z valik ajavööndite konverteerimiseks.
- diff utiliiti on lisatud —color valik muudatuste visuaalseks esitamiseks värviga.
- sleep utiliiti on lisatud toimetamise toetuseks teistsuguseid ajaväärtusi kui sekundid (näiteks võimalik sisestada "sleep 1h 30m").
- head ja tail utiliitides on lisatud -q ja -h valikute tugi ning võimalus määrata suurusi SI rahvusvahelise mõõtesüsteemi prefiksitega. head utiliidis on eemaldatud piirang maksimaalsele reale 2^31.
- systat utiliiti on lisatud käsk iolat, et kuvada teavet sisendi/väljundi viivituste kohta, mille on arvutanud CAM ajakava.
- Raamatukogu libncursesw on jagatud kaheks raamatukoguks libtinfow ja libncursesw. ncurses toetab terminfo baasi kasutamist, mitte ainult termcap-i.
- Aarch64 (arm64) arhitektuurile on rakendatud ja vaikimisi sisse lülitatud koostamisvalik COMPAT_LIB32, mis toetab 32-bitiste raamatukogude koostamist ARM64 süsteemidele, võimaldades käitada täideviimisfaile, mis on loodud armv7 platvormile.
- Parandatud pilvesüsteemide tugi. AWS EC2 jaoks on lisatud eksperimenteerimise tasandil ZFS ja cloud-init koos juurkataloogiga. Azure jaoks on saadaval pildid arm64 ja amd64 arhitektuuridele, valides UFS või ZFS vahel. Lisatud on gve (Google Virtual NIC) virtuaalse võrguadapteri draiver.
- ACPI süsteemi on lisatud tugifunktsioon _CR3, mis võimaldab seadistada temperatuuri, mille saavutamisel lülitub süsteem unerežiimi (S3).
- Uuendatud kolmandate osapoolte rakenduste ja raamatukogude versioone, mis kuuluvad põhissüsteemi: OpenSSH 9.5p1, OpenSSL 3.0.12 (varem 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. Utiliidi objdump rakendamine on asendatud llvm-objumpiga. Clangi kompilaator on uuendatud haru 16-ni.
- Vananaiste süsteemide puhastamine:
- Põhissüsteemist on eemaldatud OPIE ühekordsete paroolide tugi (kui soovite uuesti kasutada, saate installida pordi security/opie).
- Eemaldatud on ISA liidese heliadapterite draiverid.
- Eemaldatud on utiliidid fmtree ja minigzip.
- Eemaldatud on ATM komponendid netgraphis (NgATM).
- Eemaldatud on taustaprotsess telnetd (saate kasutada porti net/freebsd-telnetd).
- Eemaldatud on VINUM klass geomis.
- Eemaldatud on vananenud draiverid amr, iscsi_initiator, iir, mn, mly, nlmrsa ja twa.
- GENERIC ja MINIMAL tuumadest on eemaldatud VESA parameeter.
- Kernitustaseme krüptograafilisest raamist OCF (Open Cryptographic Framework) on eemaldatud asümmeetriliste krüptograafiliste operatsioonide tugi.
- Vana utiliit mergemaster on kuulutatud aegunuks, selle asemel tuleks kasutada etcupdate.
- Eemaldatud on utiliit portsnap (portide väljavõtmiseks tuleks kasutada "git clone https://git.FreeBSD.org/ports.git /usr/ports").
- Arhitektuuri armv6 jaoks ehituste loomine on lõpetatud.
- MIPS arhitektuuri tugi on eemaldatud.
Allikas: opennet.ru
