Efter tvÄ och ett halvt Är sedan publiceringen av gren 13.0 har releasen FreeBSD 14.0 skapats. Installationsbilder har förberetts för arkitekturerna amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 och riscv64. Dessutom har byggnationer för virtualiseringssystem (QCOW2, VHD, VMDK, raw) och molnmiljöer som Amazon EC2, Google Compute Engine och Vagrant förberetts. Grenen FreeBSD 14 blir den sista med stöd för 32-bitars plattformar. I FreeBSD 15 kommer endast stöd för 64-bitars system att finnas, men det kommer fortfarande att vara möjligt att bygga 32-bitars program och anvÀnda COMPAT_FREEBSD32-lÀget för att köra 32-bitars körbara filer i en 64-bitarsmiljö.
Huvudsakliga förÀndringar:
- Som standard Àr den kommandotolk som anvÀnds för anvÀndaren root instÀlld pÄ /bin/sh.
- För NVME-enheter anvÀnds som standard drivrutinen nda pÄ alla plattformar. För att ÄtergÄ till den gamla drivrutinen nvd kan instÀllningen "hw.nvme.use_nvd=1" lÀggas till i loader.conf.
- Den nya verktygen "fwget" har lagts till, som identifierar hÄrdvara som behöver firmware och installerar motsvarande firmwarepaket. För nÀrvarande stöds endast PCI-enheter och firmware för Intel- och AMD-GPU:er.
- Ett nytt verktyg, base64, har lagts till för att koda och avkoda data i base64-format.
- Ett verktyg, tcpsso, har lagts till, vilket gör det möjligt att stÀlla in socketalternativ för befintliga TCP-anslutningar (till exempel kan man byta kontrollmodul för överbelastning eller TCP-stacken).
- Som standard Àr dma (DragonFly Mail Agent) instÀlld som leveransagent för e-post istÀllet för sendmail. Sendmail har behÄllits i standardinstallationen och uppdaterats till version 8.17.1.
- I KTLS, implementeringen av TLS-protokollet som fungerar pÄ kÀrnnivÄ i FreeBSD, har stöd för hÄrdvaruacceleration av TLS 1.3 pÄ mottagarsidan lagts till. Acceleration möjliggörs genom att flytta vissa operationer relaterade till behandlingen av krypterade paket till nÀtverkskortet.
- Direktivet ".include" har lagts till i konfigurationsfilen jail.conf, vilket gör det möjligt att inkludera ytterligare filer vid lastning av konfigurationen, dÀr maskning kan anvÀndas i sökvÀgarna. Sysctl-parametern security.bsd.see_jail_proc har utvidgats, vilket nu kan förhindra obehöriga anvÀndare frÄn att tvinga avslut, Àndra prioritet och debugga processer i en separat jail-miljö.
- Programmen pw och bsdinstall skapar nu som standard anvÀndare i katalogen «/home» istÀllet för i «/usr/home». Symboliska lÀnkar för «/home» som pekar pÄ «/usr/home» skapas inte lÀngre.
- Byggkonfigurationen PROFILE Ă€r nu inaktiverad som standard â profilerade versioner av systembiblioteken tillhandahĂ„lls inte lĂ€ngre, istĂ€llet bör hĂ„rdvaruprofileringsverktyg (hwpmc) anvĂ€ndas.
- Byggandet av körbara filer för 64-bitarsarkitekturer i PIE-lÀge (Position Independent Executable) har aktiverats.
- Hypervisor Bhyve har fÄtt stöd för att vidarebefordra Ätkomst till TPM (Trusted Platform Module) och GPU (i virtuella miljöer för AMD- och Intel-chips).
- ZFS-filsystemets implementation har uppdaterats till OpenZFS 2.2. Verktyget makefs har fÄtt stöd för ZFS-filsystemet. Det har blivit möjligt att skapa en ZFS-pool kopplad till en enda virtuell disk vdev.
- Antalet stödda CPU-kÀrnor (parametern MAXCPU) har ökats frÄn 256 till 1024 i system baserade pÄ amd64- och arm64-arkitekturer.
- I UFS, för konfigurationer dÀr journalföring (soft updates) Àr aktiverad, tillÄts bakgrundskontroll av filsystemet med hjÀlp av UFS-snapshots. Ytterligare hash-kontroller har lagts till superblock, cylindergruppkartor och inode för att upptÀcka skador.
- Filsystemet tarfs har lagts till, vilket kan anvÀndas med tar-arkiv komprimerade med zstd.
- Verktyget boottrace har lagts till för att spÄra hÀndelser som intrÀffat under systemets uppstart och avstÀngning.
- Kernelkonfigurationen FIRECRACKER har lagts till för att möjliggöra körning av FreeBSD i Firecracker-virtualiseringssystemet, avsett för att driva virtuella maskiner med minimala overheadkostnader. Tiden för att starta FreeBSD 14 under Firecracker har reducerats till 25 millisekunder, vilket möjliggör att starta miljöer med FreeBSD vid behov för att implementera serverlös infrastruktur.
- I bootloadern, skriven i Lua, har stöd för att köra lua-filer placerade i katalogen loader_conf_files implementerats i en speciell sandbox-miljö.
- Stödet för NFS har utökats. En ny monteringsparameter «syskrb5» har lagts till för att stödja Kerberos i NFSv 4.1/4.2, och stödet för ExchangeID-operationen har implementerats. Det har blivit möjligt att köra nfsd, nfsuserd, mountd, gssd och rpc.tlsservd i en isolerad nÀtverksmiljö vnet.
- I skriptet growfs har möjligheten att placera en vÀxlingspartition i slutet av det utbyggbara omrÄdet pÄ disken implementerats.
- En ny DTrace-leverantör kinst (dtrace_kinst) har lagts till, vilket möjliggör spÄrning av kÀrnstrukturer.
- Stöd för krypteringsalgoritmen XChaCha20-Poly1035 AEAD har lagts till i kÀrnans kryptosystem, och ett API för att anvÀnda elliptisk kurva curve25519 (för WireGuard) har ocksÄ lagts till.
- Nedladdningstiden har kortats. En sysctl-parameter kern.reboot_wait_time har lagts till, genom vilken man kan Àndra fördröjningen innan den faktiska omstarten efter att alla diagnostiska meddelanden har skrivits ut i konsolen. Som standard har fördröjningen tagits bort.
- En timerfd-subsystem har lagts till i kÀrnan som förenklar portering av program frÄn Linux.
- En sysctl machdep.mitigations.zenbleed.enable har lagts till för att blockera sÄrbarheten Zenbleed i AMD Zen2-processorer.
- Stöd för Wi-Fi 6 har lagts till i wpa_supplicant och hostapd. I drivrutinen iwlwifi har stöd för Intel-chips som stöder Wi-Fi 6E AX411/AX211/AX210 sÀkerstÀllts.
- För kÀrnan i amd64-system har stöd för verktygen AddressSanitizer och MemorySanitizer frÄn LLVM-projektet sÀkerstÀllts.
- AnvÀndningen av metoden status Àr nu tillÄten i rc.d-skript, Àven om programnamnet (procname) och PID-filen inte har definierats i skriptet.
- Ăverföringshastigheten över den seriella porten i kĂ€rnan, bootloaders och anvĂ€ndarrummet har som standard ökat frĂ„n 9600 till 115200 bps. Standardfrekvensen för signalen har satts till 800Hz. Integration med devd för att ge signal genom ljudkortet har sĂ€kerstĂ€llts. För konsolen vt Ă€r signalen som standard avstĂ€ngd (för att aktivera den mĂ„ste kommandona âsysctl kern.vt.enable_bell=1â och âkbdcontrol -b normalâ utföras).
- Stödet för NXP DPAA2 (Data Path Acceleration Architecture Gen2) hÄrdvaruaccelerering av nÀtverksoperationer har förbÀttrats.
- En igc-drivrutin för Intel I225 Ethernet-kontroller har lagts till som stödjer hastigheten 2.5 Gbps.
- StandardinstÀllningen net.inet.tcp.nolocaltimewait har aktiverats, vilket inaktiverar skapandet av timewait-poster för TCP-anslutningar som knutits pÄ den lokala systemet.
- Stödet för Netlink kommunikationsprotokoll (RFC 3549), som anvÀnds i Linux för att organisera interaktionen mellan kÀrnan och processer i anvÀndarrummet, har utökats och Àr nu aktiverad som standard. Vissa nÀtverksverktyg har översatts för att anvÀnda Netlink.
- I paketfilteret pf finns stöd för syntax och beteende av paketnormaliseringsoperationer (scrubbing) version pf frÄn OpenBSD. I pfsync implementerades möjligheten att anvÀnda transport IPv6. Paketformatet för pfsync har utökats för att stödja köer, paketnormalisering och route-to-regler.
- Det har lagts till i nÀtverksgrÀnssnittet if_stf (IPv6 över IPv4) stöd för IPv6 Rapid Deployment (RFC 5969). Som standard Àr lÀget IPv6 nodeinfo (RFC 4620) avstÀngt.
- Sysctl-parametern net.inet.tcp.nolocaltimewait Àr aktiverad som standard, vilket hindrar skapandet av poster med tillstÄndet timewait för lokalt avbrutna TCP-anslutningar.
- I standardlÀget för TCP anvÀnds mekanismen för nÀtverksöverbelastningshantering CUBIC istÀllet för NewReno, vilket har möjliggjort en förbÀttrad anvÀndning av tillgÀnglig bandbredd.
- I IPv4 har sĂ€ndning av multicastpaket till nolladress i nĂ€tverksomrĂ„det avaktiverats om denna adress inte uttryckligen har deklarerats som multicast. Ăndringen möjliggör för vĂ€rdar att anvĂ€nda adresser som slutar med '.0'.
- InstÀllningarna för OpenSSH har Àndrats: i scp anvÀnds som standard protokollet SFTP istÀllet för scp/rcp, stöd för RSA/SHA-1 signaturer har avaktiverats, parametrarna VerifyHostKeyDNS och X11Forwarding har satts till 'nej', direktivet VersionAddendum har tagits bort, och stöd för HPN-instÀllningar har tagits bort.
- I verktyget date har alternativet '-z' lagts till för att konvertera tidszoner.
- I verktyget diff har alternativet '--color' lagts till för att möjliggöra visuell visualisering av förÀndringar med fÀrg.
- I verktyget sleep har stöd lagts till för enheter som skiljer sig frÄn sekunder (till exempel kan 'sleep 1h 30m' anges).
- I verktygen head och tail har stöd lagts till för alternativen '-q' och '-h', och det har Àven implementerats möjlighet att ange storlekar med suffix i det internationella mÄttsystemet SI. I head har begrÀnsningarna pÄ maximalt antal rader 2^31 tagits bort.
- I verktyget systat har kommandot 'iolat' lagts till för att visa information om in- och utmatningsfördröjningar som berÀknas av CAM-schemalÀggaren.
- Biblioteket libncursesw har delats upp i tvÄ bibliotek, libtinfow och libncursesw. Stöd för att anvÀnda terminfo-basen i ncurses har lagts till, inte bara termcap.
- För arkitekturen aarch64 (arm64) har byggalternativet COMPAT_LIB32 implementerats och aktiverats som standard, vilket möjliggör byggandet av 32-bitars bibliotek för ARM64-system som tillÄter körning av körbara filer som har byggts för plattformen armv7.
- FörbÀttrat stöd för molnsystem. Experimentsamlingar med rotfilsystemet ZFS och cloud-init har lagts till för AWS EC2. För Azure erbjuds bilder för arkitekturerna arm64 och amd64, med val mellan UFS eller ZFS. En drivrutin för den virtuella nÀtverkskortet gve (Google Virtual NIC) har lagts till.
- Stödet för vÀrdegrÀnsen _CR3 har lagts till i ACPI-systemet, vilket gör det möjligt att stÀlla in temperaturen vid vilken systemet kommer att gÄ in i vilolÀge (S3).
- Versioner av tredjepartsapplikationer och bibliotek som ingÄr i basystemet har uppdaterats: OpenSSH 9.5p1, OpenSSL 3.0.12 (tidigare anvÀndes version 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. Implementeringen av verktyget objdump har bytts ut mot llvm-objdump. Kompilatorn Clang har uppdaterats till version 16.
- Rensning av förÄldrade system utförd:
- Stödet för engÄngslösenord OPIE har tagits bort frÄn basystemet (för att ÄterfÄ anvÀndning kan porten security/opie installeras).
- Drivrutiner för ljudkort med ISA-grÀnssnitt har tagits bort.
- Verktygen fmtree och minigzip har tagits bort.
- ATM-komponenter i netgraph (NgATM) har tagits bort.
- Bakgrundsprocessen telnetd har tagits bort (porten net/freebsd-telnetd kan anvÀndas).
- VINUM-klassen i geom har tagits bort.
- FörÄldrade drivrutiner som amr, iscsi_initiator, iir, mn, mly, nlmrsa och twa har tagits bort.
- Parametern VESA har tagits bort frÄn kÀrnorna GENERIC och MINIMAL.
- Stödet för asymmetrisk kryptografisk behandling har tagits bort frÄn den kÀrnnivÄ-kryptografiska ramen OCF (Open Cryptographic Framework).
- Verktyget mergemaster har förklarats som förÄldrat, och istÀllet bör etcupdate anvÀndas.
- Verktyget portsnap har tagits bort (för att extrahera portar bör "git clone https://git.FreeBSD.org/ports.git /usr/ports" anvÀndas).
- Byggandet för armv6-arkitekturen har upphört.
- Stödet för MIPS-arkitekturen har tagits bort.
KĂ€lla: opennet.ru
