Efter 11 mÄnaders utveckling har version 13.2 av FreeBSD slÀppts. Installationsbilder har skapats för arkitekturerna amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 och riscv64. Dessutom har versioner för virtualiseringssystem (QCOW2, VHD, VMDK, raw) och molnmiljöer som Amazon EC2, Google Compute Engine och Vagrant tagits fram.
NyckelÀndringar:
- Möjligheten att skapa snapshots av filsystemen UFS och FFS, som har journalföring (soft updates) aktiverad, har implementerats. Stöd för bakgrundssparande av dumps (kör dump med flaggan "-L") med innehÄllet av monterade UFS-filsystem vid aktiverad journalföring har ocksÄ lagts till. FrÄn de funktioner som inte Àr tillgÀngliga vid anvÀndning av journalföring kvarstÄr bakgrundskontrollen av integriteten genom verktyget fsck.
- En kÀrndriver för wg med implementering av ett nÀtverksgrÀnssnitt för VPN WireGuard har godkÀnts i huvuduppsÀttningen. För att anvÀnda de kryptografiska algoritmer som behövs av drivrutinen har API:et för kÀrnans kryptosystem utvidgats, vilket har möjliggjort anvÀndning av algoritmer frÄn biblioteket libsodium, som inte stöds av FreeBSD, via det standardiserade kryptografi-API:et. Under utvecklingen har det ocksÄ genomförts optimeringar för en jÀmn belastningsbalansering av uppdrag för kryptering och dekryptering av paket till CPU-kÀrnor, vilket har minskat overheaden vid bearbetning av WireGuard-paket.
Det tidigare försöket att inkludera WireGuard i FreeBSD gjordes 2020 men slutade i en skandal, vilket ledde till att redan tillagd kod togs bort pÄ grund av lÄg kvalitet, slarvig hantering av buffertar, anvÀndning av platshÄllare istÀllet för kontroller, ofullstÀndig protokollimplementering och brott mot GPL-licensen. Den nya implementeringen har gemensamt förberetts av de frÀmsta utvecklarteamet för FreeBSD och WireGuard, med deltagande av Jason Donenfeld, skaparen av VPN WireGuard, och John Baldwin, en kÀnd FreeBSD-utvecklare. Innan den nya koden godkÀndes genomfördes en fullstÀndig granskning av Àndringarna med stöd av FreeBSD Foundation.
- Stödet för kommunikationsprotokollet Netlink (RFC 3549) har implementerats, vilket anvÀnds i Linux för att organisera interaktionen mellan kÀrnan och processer i anvÀndarrummet. Projektet begrÀnsar sig till att stödja familjen av operationer NETLINK_ROUTE för att hantera tillstÄndet i det nÀtverksbaserade systemet i kÀrnan, vilket möjliggör anvÀndning av Linux-verktyget ip frÄn paketet iproute2 för att hantera nÀtverksgrÀnssnitt, konfigurera IP-adresser, stÀlla in routing och manipulera nexthop-objekt som lagrar uppgifter om tillstÄndet som anvÀnds för att överföra paketet till önskad destinationspunkt.
- För alla körbara filer i bas-systemet pÄ 64-bitars plattformar Àr randomisering av adressrymd (ASLR, Address Space Layout Randomization) som standard aktiverad. För valfri avstÀngning av ASLR kan kommandon "proccontrol -m aslr -s disable" eller "elfctl -e +noaslr" anvÀndas.
- I ipfw anvÀnds grundtabeller (Radix table) för att söka MAC-adresser, vilket möjliggör skapande av tabeller med MAC-adresser och deras anvÀndning för trafikfiltrering. Till exempel: ipfw table 1 create type mac ipfw table 1 add 11:22:33:44:55:66/48 ipfw add skipto tablearg src-mac 'table(1)' ipfw add deny src-mac 'table(1, 100)' ipfw add deny lookup dst-mac 1
- KÀrnmodulerna dpdk_lpm4 och dpdk_lpm6 har lagts till och görs tillgÀngliga för nedladdning via loader.conf, med implementeringen av DIR-24-8 rutningsalgoritmen för IPv4/IPv6, vilket optimerar routingfunktionerna för vÀrdar med mycket stora rutningstabeller (tester visar en hastighetsökning pÄ upp till 25%). För att konfigurera moduler kan standardverktyget route anvÀndas (en ny parameter FIB_ALGO har lagts till).
- Implementeringen av filsystemet ZFS har uppdaterats till version OpenZFS 2.1.9. I startskriften zfskeys sÀkerstÀlls automatisk laddning av nycklar som lagras i ZFS-filsystemet. En ny RC-script zpoolreguid har lagts till för att tilldela GUID identifierare till en eller flera zpool (t.ex. anvÀndbart för virtualiseringsmiljöer med delade data).
- I hypervisor Bhyve och modulen vmm har stöd för att koppla fler Àn 15 virtuella CPU:er till gÀstsystemet implementerats (justeras via sysctl hw.vmm.maxcpu). Verktyget bhyve har implementerat emulering av en virtio-input-enhet, vilket gör att inmatningsevent frÄn tangentbord och mus kan infogas i gÀstsystemet.
- I KTLS, implementation of the TLS protocol that operates at the FreeBSD kernel level, hardware acceleration for TLS 1.3 has been added by offloading certain operations related to processing encrypted incoming packets onto the network card. Previously, such capability was available for TLS 1.1 and TLS 1.2.
- I startskriften growfs har vi sÀkerstÀllt att en swap-partition lÀggs till vid utvidgning av root-filsystemet om en sÄdan partition ursprungligen saknades (t.ex. anvÀndbart vid installation pÄ SD-kort av en fÀrdig systemavbild). För att styra storleken pÄ swap-minnet har en ny parameter growfs_swap_size lagts till i rc.conf.
- I startskriften hostid har vi sÀkerstÀllt generering av ett slumpmÀssigt UUID om filen /etc/hostid saknas och det inte gÄr att hÀmta UUID frÄn hÄrdvaran. Dessutom har filen /etc/machine-id lagts till med en kompakt representation av vÀrdidentifieraren (utan bindestreck).
- I rc.conf har variablerna defaultrouter_fibN och ipv6_defaultrouter_fibN lagts till, genom vilka du kan lÀgga till standardrutter i FIB-tabeller som Àr olika frÄn den primÀra.
- I biblioteket libmd har stöd för SHA-512/224-hashar lagts till.
- I pthread-biblioteket har stöd för semantiken för funktioner som anvÀnds i Linux implementerats.
- I kdump har stöd för avkodning av systemanrop i Linux lagts till. Kdump och sysdecode har fÄtt stöd för spÄrning av systemanrop i Linux-stil.
- I verktyget killall har möjligheten att skicka signaler till processer knutna till en viss terminal lagts till (t.ex. âkillall -t pts/1â).
- En nyhet Àr verktyget nproc som visar antalet tillgÀngliga berÀkningsblock för den aktuella processen.
- I verktyget pciconf har stöd för avkodning av ACS-parametrar (Access Control Services) lagts till.
- I kÀrnan har konfigurationen SPLIT_KERNEL_DEBUG lagts till, vilket möjliggör lagring av debugginginformation för kÀrnan och kÀrnmoduler i separata filer.
- I ABI linux Àr implementeringen av vDSO (virtual dynamic shared objects) nÀstan klar, vilket tillhandahÄller en begrÀnsad uppsÀttning systemanrop som Àr tillgÀngliga i anvÀndarrummet utan att vÀxla kontext. ABI linux pÄ ARM64-system har nÄtt paritet med implementationen för AMD64-arkitekturen.
- FörbÀttrat stöd för hÄrdvara. Stöd för prestandaövervakning (hwpmc) för Intel Alder Lake CPU har lagts till. Drivrutinen iwlwifi för Intel trÄdlösa kort har uppdaterats för att stödja nya chip och standarden 802.11ac. Drivrutinen rtw88 för Realtek trÄdlösa kort med PCI-grÀnssnitt har lagts till. Möjligheterna för linuxkpi-lagret har utökats för anvÀndning av FreeBSD-drivrutiner för Linux.
- OpenSSL-biblioteket har uppdaterats till version 1.1.1t, LLVM/Clang till version 14.0.5, och SSH-servern samt klienten har uppdaterats till OpenSSH 9.2p1 (i föregĂ„ende version anvĂ€ndes OpenSSH 8.8p1). Ăven versionerna av bc 6.2.4, expat 2.5.0, file 5.43, less 608, libarchive 3.6.2, sendmail 8.17.1, sqlite 3.40.1, unbound 1.17.1, zlib 1.2.13 har uppdaterats.
Det har Àven meddelats om avveckling och borttagning av engÄngslösenord OPIE, drivrutinerna ce och cp, drivrutiner för kort med ISA-grÀnssnitt, verktygen mergemaster och minigzip, ATM-komponenter i netgraph (NgATM), bakgrundsprocessen telnetd och klassen VINUM i geom, som börjar frÄn FreeBSD 14.0.
KĂ€lla: opennet.ru
