Efter tvÄ Är sedan publiceringen av version 14.0 har utgÄvan av FreeBSD 15.0 formulerats. Installationspaketen har förberetts för arkitekturerna amd64, aarch64, armv7, powerpc64, powerpc64le och riscv64. Dessutom levereras paket för virtualiseringssystem (QCOW2, VHD, VMDK, raw) och molnmiljöer Amazon EC2, Google Compute Engine och Vagrant.
FrÄn och med version FreeBSD 15 har tiden för stöd av signifikanta versioner efter den första utgÄvan (15.0) minskat frÄn 5 till 4 Är, och nya signifikanta versioner kommer att skapas vartannat Är. IntermediÀra utgÄvor (15.1, 15.2, 15.3) kommer att utvecklas inom en fast utvecklingscykel, vilket innebÀr publicering av nya versioner inom en och samma version ungefÀr var sjÀtte mÄnad, istÀllet för en gÄng om Äret som tidigare. Med tanke pÄ samtidig support för tvÄ olika signifikanta versioner kommer den nya intermediÀra utgÄvan att publiceras var tredje mÄnad (15.4, 16.1, 15.5, 16.2 mm), med undantag för förberedelse av de första utgÄvorna av nya signifikanta versioner, före vilka det kommer att finnas ett 6-mÄnaders avbrott i utgÄvorna (till exempel kommer utgÄvan 15.3 att skapas i juni 2027, 16.0 i december 2027, 15.4 i mars 2028, 16.1 i juni 2028).
De huvudsakliga förÀndringarna i FreeBSD 15.0 (i den officiella releaseanmÀrkningen, förutom speciella förÀndringar för version 15.0, nÀmns mÄnga funktioner som tidigare lagts till i versionerna 14.1, 14.2 och 14.3):
- Möjligheten att anvÀnda paketförvaltaren pkg för installation och uppdatering av komponenterna i basystemet har tillhandahÄllits. Paket pkgbase kan levereras pÄ installationsmedia för offline-installation eller laddas ner frÄn lagret pkg.freebsd.org. I konfigurationen av pkg (/etc/pkg/FreeBSD.conf) Àr det inte standardmÀssigt inkluderat nÄgot repository för FreeBSD-base. Installatören bsdinstall erbjuder tvÄ alternativ för installation: traditionell och med paket (pkgbase). Stödet för det traditionella sÀttet, dÀr basystemet betraktas som en monolitisk miljö, uppdaterad med hjÀlp av verktyget freebsd-update, planeras att tas bort i version FreeBSD 16. Den nya metoden, som innebÀr att basystemet installeras som en uppsÀttning paket frÄn lagret FreeBSD-base, föreslÄs som standard i paketen för virtuella maskiner och bilder för molnmiljöer, men betraktas fortfarande som experimentell för vanliga system.
- Stöd för att bygga FreeBSD i icke-privilegierade miljöer dÀr root-rÀttigheter inte krÀvs har lagts till. Installations-ISO-filer och systembilder för virtuella maskiner kan ocksÄ skapas utan root-rÀttigheter. Vid byggprocessen krÀvdes root-rÀttigheter för att skapa enhetsfiler, stÀlla in Ätkomstbehörigheter och montera ytterligare filsystem (till exempel vid skapande av diskbilder).
- Stöd för reproducerbara byggen har implementerats, vilket sÀkerstÀller att de distribuerade binÀra filerna Àr byggda frÄn den tillhandahÄllna kÀllkoden och inte innehÄller dolda Àndringar. Reproducerbara byggen sÀkerstÀller identitet mellan binÀra filer som genereras frÄn kÀllkoden i olika byggmiljöer.
- Generering av installationsbilder och byggnader av binÀrpaket för 32-bitarsarkitekturer i386, armv6 och powerpc har upphört. Av 32-bitars plattformar har endast armv7 behÄllits. Möjligheten 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-bitars kÀrnmiljö kvarstÄr minst till slutet av livscykeln för FreeBSD 16-grenen.
- Systemanrop har lagts till med implementering av mekanismen inotify för att övervaka förÀndringar i filsystemen.
- Stöd för namngivna filattribut (utökade attribut i Solaris-stil) har lagts till, vilket planeras att stödjas som ett alternativt mekanism för hantering av utökade attribut, tillgÀngligt för ZFS och NFSv4. Skillnaderna frÄn de traditionella metoderna för FreeBSD och Linux nÀr det gÀller hantering av utökade attribut handlar om presentationen av attribut i en tjÀnstemapp som inte syns i det huvudsakliga filsystemets namnrymd och som Àr kopplad till filen. Arbetet med attribut utförs som med vanliga filer; till exempel kan funktionen readdir() anvÀndas för att bestÀmma listan över attribut.
- Modulen mac_do har deklarerats redo för anvÀndning, vilket möjliggör att policys kan anges som tillÄter icke-privilegierade anvÀndare att Àndra processers autentiseringsuppgifter. För att köra kommandon som en annan anvÀndare har ett verktyg liknande su, kallat mdo, förberetts, men krÀver inte suid root.
- TillstÄndet för DRM-drivrutinerna i915 och amdgpu har synkroniserats med kÀrnan Linux 6.9. Drivrutinerna för trÄdlösa enheter rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) och iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) har synkroniserats med kÀrnan Linux 6.17.
- StandardinstÀllningen för implementationen av protokollet TLS pÄ kÀrnans sida (KTLS) Àr aktiverad.
- Verktyget sndctl för att hantera instÀllningar för ljudkort har lagts till.
- Verktyget mididump för att dumpa MIDI 1.0-hÀndelser i realtid har lagts till.
- En ny nÀtverksbackend 'slirp' har lagts till i hypervisorn bhyve, som anvÀnder biblioteket libslirp med en implementering av nÀtverksstacken i anvÀndarutrymmet. Backend 'slirp' möjliggör nÀtverksÄtkomst för gÀstsystemet frÄn vÀrdmiljön utan sÀrskild nÀtverkskonfiguration pÄ vÀrdsidan.
- Implementeringen av Kerberos i den huvudsakliga distributionen av FreeBSD har ersatts frÄn Heimdal Kerberos till MIT Kerberos. För att ÄterfÄ Heimdal Kerberos vid byggnation kan flaggan WITHOUT_MITKRB5 anvÀndas. Stödet för att bygga Heimdal Kerberos kommer att tas bort i FreeBSD 16.
- Beteendet för systemanropen setgroups, getgroups och initgroups i hanteringen av anvÀndargrupper har nÀrmat sig andra plattformar (skillnaden i implementationen i FreeBSD var att hÄlla den effektiva identifieraren för gruppprocesserna i noll-elementet i arrayen med grupplistan).
- I instÀllningarna för paketförvaltarens pkg har det nya FreeBSD-kmods-repositoriet som standard aktiverats, dÀr paket med kÀrnmoduler, som Àr sammanstÀllda för specifika release-grenar 15.x-RELEASE, finns, och inte den stÀndigt uppdaterade grenen 15-STABLE. FreeBSD-kmods-repositoriet löser problemet med installationen av drivrutiner som Àr kopplade till instabila kÀrninterface (t.ex. grafiska drivrutiner). De tidigare repositorierna 'FreeBSD' och 'FreeBSD-kmods' i /etc/pkg/FreeBSD.conf har döpts om till 'FreeBSD-ports' och 'FreeBSD-ports-kmods'.
- I NFS har stöd för operationen CLONE, definierad i specifikationen NFSv4.2, lagts till och möjliggör snabb kopiering av filer genom blockkloning pÄ servern. LÀget fungerar för nÀrvarande endast vid export av ZFS-partitioner via NFS.
- PÄ amd64-system har möjligheten att anvÀnda mer Àn 4TB RAM lagts till.
- Drivrutinen ufshci för stöd av lagringskontroller med UFSHCI (Universal Flash Storage Host Controller Interface) har lagts till.
- Sysctl net.link.bridge.member_ifaddrs har som standard stÀllts in pÄ 0, vilket innebÀr att grÀnssnitt kan lÀggas till i nÀtverksbryggor utan IP-adresser.
- Tillförlitligheten för avsnitt med UFS-filsystem som innehÄller mer Àn 2 000 000 000 inode har ökat. Problemet med Är 2038 har ÄtgÀrdats i implementeringen av UFS1 (man kan anvÀnda datum fram till Är 2106).
- En option för nÀtverks-sockets, SO_SPLICE, har lagts till för att sammanfoga TCP-anslutningar (liknande en proxy som fungerar utan att kopiera data till anvÀndarutrymmet).
- I verktyget grep Àr hanteringen av symboliska lÀnkar som standard inaktiverad vid rekursiv sökning.
- En kÀrnmodul för nvmf har lagts till för att stödja NVMe over Fabric-kontroller och verktyget nvmecontrol för att ansluta till en extern NVMe over Fabric-kontroller.
- I verktyget date har stöd för att visa tid med nanosekunders precision lagts till, till exempel kommer "date -Ins" att ge "2024-04-22T12:20:28,763742224+02:00".
- I jail har stöd för alternativet zfs.dataset lagts till för att lÀgga till ett avsnitt, snapshot eller klon av ZFS i det isolerade jail-miljön. Kommando jail har fÄtt stöd för parametrarna "meta" och "env" som gör det möjligt att koppla metadata eller överföra miljövariabler. Möjligheten att adressera jail-miljöer via jail-deskriptorer har lagts till, med funktionerna jail_set och jail_get, samt systemanropen jail_attach_jd och jail_remove_jd. Det har Àven lagts till möjlighet att anvÀnda kevent-filter för att övervaka operationer som skapande, borttagning, Àndring och koppling av Jail.
- I verktyget newsyslog har en parameter implementerats för att ange den standardmetod för komprimering som anvÀnds (bzip2, xz, zstd, gzip), vilket eliminerar behovet av att ange separata flaggor (J, X, Y, Z) i varje rad i newsyslog.conf.
- I den standard c-biblioteket har mÄnga funktioner för strÀngar och minne optimerats med hjÀlp av SIMD-instruktioner.
- I typsnittet Gallant, som anvÀnds i virtuella terminaler, har över 4300 nya gliffr lagts till, inklusive gliffr med kyrilliska tecken och matematiska symboler.
- I tty har flaggan IUTF8 satts som standard, vilket korrekt hanterar borttagning av UTF-8-tecken vid tryckning av Backspace.
- Verktyget dialog, som anvÀnds i konfiguratorn bsdconfig och installationsprogrammet bsdinstall, har ersatts med bsddialog.
- I verktyget adduser, som anvÀnds i bsdinstall, skapas ett separat ZFS-dataset (partition, snapshot eller klon) för anvÀndarens hemkatalog, om ett ZFS-dataset redan anvÀnds för förÀldrakatalogen. Möjligheten att anvÀnda kryptering av hemkataloger med ZFS har ocksÄ lagts till. För att hantera aktiveringen av dessa funktioner har parametrarna "Zcreate" och "Zencrypt" lagts till i adduser.conf.
- Skapandet av OCI-kompatibla containerbilder och systembilder för Oracle Cloud har sÀkerstÀllts.
- En ny typ av bilder "small" har lagts till för molnmiljöer som Àr kompatibla med AWS EC2. Till skillnad frÄn basbilderna har felsökningsdata, tester, 32-bitarsbibliotek, debuggern LLDB, Amazon SSM Agent och AWS CLI exkluderats. Laddningstiden för "base"-bilder för EC2 har pÄskyndats med 76%.
- Som standard Àr instÀllningen net.inet.tcp.nolocaltimewait avstÀngd och förklarad som förÄldrad, det vill sÀga skapandet av TIME_WAIT-poster för TCP-anslutningar som stÀngs av den lokala systemen har ÄterstÀllts som standard. För att konfigurera tiden för att hÄlla en anslutning i TIME_WAIT-lÀge har en ny sysctl net.inet.tcp.msl_local lagts till.
- Som standard Àr stödet för skapande av nÀtverksanslutningar till localhost, dÀr INADDR_ANY anges, avstÀngt. För att Äteraktivera stödet kan sysctl net.inet.ip.connect_inaddr_wild sÀttas till vÀrdet 1.
- Logisk volymhanterare gvinum har tagits bort, som anvÀndes för programvaruraid. Utvecklingen av Gvinum har stannat av för ungefÀr 15 Är sedan, trots att koden har flera kÀnda problem som ingen har tagit pÄ sig att rÀtta till. IstÀllet för gvinum rekommenderas det att anvÀnda gconcat, gmirror, gstripe, graid eller zfs.
- AGP-drivrutinen (Accelerated Graphics Port), som Àr nödvÀndig för mÄnga drivrutiner för Àldre grafikkort, planeras att tas bort i FreeBSD 16. Drivrutinerna fdc (IBM PC Floppy Disk Controller), firewire (IEEE1394 Serial Bus), le (AMD Am7900 LANCE och Am79C9xx Ethernet) och upgt (USB 802.11g) har ocksÄ förklarats som förÄldrade och planeras för borttagning.
- Funktionen readdir_r har förklarats som förÄldrad.
- Stödet för UDP-transport i SNMP-servern bsnmpd har upphört.
- Genereringen av RSA-vÀrdnycklar för SSH och EC2 AMI har upphört. Stödet för DSA har tagits bort frÄn OpenSSH. Den publika nyckeldatabasen som var knuten till DES-algoritmen har tagits bort.
- Ftpd och shar har tagits bort frÄn basystemet; istÀllet bör man anvÀnda portarna ftp/freebsd-ftpd och sysutils/freebsd-shar.
- Verktyget fdisk har förklarats som förÄldrat, istÀllet bör gpart anvÀndas.
- I kategorin av förÄldrade har drivrutinen syscons översatts, som inte Àr kompatibel med UEFI, inte stöder UTF-8 och Àr knuten till global lÄsning.
- Versionerna LLVM 19.1.7, OpenSSH 10.0p2, OpenSSL 3.5.4, OpenZFS 2.4.0rc4, Lua 5.4.8, jemalloc 5.3.0, Awk 20250804 (med stöd för UTF-8), bc 7.1.0, unicode 16.0.0, ncurses 6.5, libarchive 3.8.2, tcpdump 4.99.5, unbound 1.24.1, less 679, file 5.46, GoogleTest 1.15.2 har uppdaterats.
KĂ€lla: opennet.ru
