Pēc diviem gadiem kopš 14.0 versijas publicēšanas ir izlaista FreeBSD 15.0 versija. Instalēšanas komplekti ir sagatavoti arhitektūrām amd64, aarch64, armv7, powerpc64, powerpc64le un riscv64. Papildus tiek piedāvāti komplekti virtualizācijas sistēmām (QCOW2, VHD, VMDK, raw) un mākoņvidēm, piemēram, Amazon EC2, Google Compute Engine un Vagrant.
Sākot ar FreeBSD 15 versiju, nozīmīgu versiju uzturēšanas laiks pēc pirmā izlaides (15.0) izveidošanas ir samazināts no 5 uz 4 gadiem, un jaunas nozīmīgas versijas tiks izveidotas reizi divos gados. Starpversijas (15.1, 15.2, 15.3) tiks izstrādātas noteiktā izstrādes ciklā, kas paredz jaunu versiju publicēšanu vienā versijā apmēram ik pēc 6 mēnešiem, nevis reizi gadā, kā tas bija līdz šim. Ņemot vērā divu dažādu nozīmīgu versiju vienlaicīgu uzturēšanu, jauna starpversija tiks publicēta reizi 3 mēnešos (15.4, 16.1, 15.5, 16.2 utt.), izņemot pirmo jaunās nozīmīgās versijas izlaidumu sagatavošanu, pirms kurām būs 6 mēnešu pārtraukums izlaidumos (piemēram, 15.3 izlaidums tiks izveidots 2027. gada jūnijā, 16.0 - 2027. gada decembrī, 15.4 - 2028. gada martā, 16.1 - 2028. gada jūnijā).
Galvenās izmaiņas FreeBSD 15.0 (oficiālajā izlaiduma piezīmē, papildus izlaiduma 15.0 specifiskajām izmaiņām, ir pieminētas daudz iespēju, kas iepriekš pievienotas 14.1, 14.2 un 14.3 versijām):
- Tika nodrošināta iespēja izmantot pakotņu pārvaldnieku pkg, lai instalētu un atjauninātu pamatsistēmas komponentus. Paketes pkgbase var tikt iekļautas instalācijas nesējā, lai veiktu offline instalāciju, vai lejupielādētas no pkg.freebsd.org repozitorija. Pkg konfigurācijā (/etc/pkg/FreeBSD.conf) FreeBSD-base repozitorijs pēc noklusējuma nav iekļauts. Instalētājs bsdinstall piedāvā divas instalācijas iespējas: tradicionālo un izmantojot paketes (pkgbase). Plānots izņemt tradicionālā veida atbalstu, kur pamatsistēma tiek uzskatīta par monolītu vidi, kuru atjaunina, izmantojot utilītu freebsd-update, FreeBSD 16 versijā. Jaunā metode, kas paredz pamatsistēmas instalāciju kā pakotņu komplektu no FreeBSD-base repozitorija, piedāvāta pēc noklusējuma komplektos virtuālo mašīnu un attēlos mākoņvidēm, taču pagaidām tiek uzskatīta par eksperimentālu parastajām sistēmām.
- Pievienota FreeBSD būvēšanas atbalsts neprivileģētās vidēs, kurām nav nepieciešamas root tiesības. Bez root tiesībām var izveidot arī instalācijas iso attēlus un sistēmas attēlus virtuālajām mašīnām. Būvēšanas posmā bija nepieciešamas root tiesības, lai izveidotu ierīču failus, noteiktu piekļuves tiesības un montētu papildu failu sistēmas (piemēram, diskattēlu izveidē).
- Ieviests reproducējamu būvēšanu atbalsts, kas ļauj pārliecināties, ka izplatītie binārie faili ir sastādīti no nodotā avota koda un nesatur slēptas izmaiņas. Reproducējamas būvēšanas nodrošina bināro failu identiskumu, kas izveidoti no avota koda dažādās būvēšanas vidēs.
- Pārtraukta instalācijas attēlu un bināro pakotņu būvēšana 32 bitu arhitektūrām i386, armv6 un powerpc. No 32 bitu platformām palikusi tikai armv7. Iespēja būvēt 32 bitu programmas un izmantot COMPAT_FREEBSD32 režīmu, lai palaistu 32 bitu izpildāmos failus 64 bitu kodolā, saglabāsies vismaz līdz FreeBSD 16 versijas dzīves cikla beigām.
- Tika pievienoti sistēmas izsaukumi ar inotify mehānisma realizāciju failu sistēmu izmaiņu izsekošanai.
- Pievienots atbalsts nosauktajiem failu atribūtiem (paplašinātajiem atribūtiem Solaris stilā), kurus plānots atbalstīt kā alternatīvu paplašināto atribūtu pārvaldības mehānismu, kas pieejams ZFS un NFSv4. Atšķirības no tradicionālajām FreeBSD un Linux metodēm, strādājot ar paplašinātajiem atribūtiem, ir saistītas ar atribūtu attēlošanu speciālā direktorijā, kas nav redzama galvenajā failu sistēmas nosaukumu telpā un ir saistīta ar failu. Darbs ar atribūtiem tiek veikts kā ar parastiem failiem, piemēram, atribūtu saraksta noteikšanai var izsaukt funkciju readdir().
- Paziņots par lietošanai gatavu moduli mac_do, kas ļauj noteikt politiku, kas atļauj neprivileģētiem lietotājiem mainīt procesu akreditācijas datus. Lai palaistu komandas kā citam lietotājam, sagatavota utilīta mdo, kas ir līdzīga utilītai su, bet neprasa suid root.
- DRM draiveru i915 un amdgpu stāvoklis ir sinhronizēts ar Linux kodolu 6.9. Bezvadu ierīču draiveri rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) un iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) ir sinhronizēti ar Linux kodolu 6.17.
- Pēc noklusējuma ir ieslēgta TLS protokola īstenošana kodola pusē (KTLS).
- Tika pievienota utilīta sndctl skaņas kartes iestatījumu pārvaldībai.
- Tika pievienota utilīta mididump MIDI 1.0 notikumu dumpingam reālajā laikā.
- Hipervizoram bhyve tika pievienots jauns tīkla backend 'slirp', kas izmanto bibliotēku libslirp ar tīklošanas steku lietotāja telpā. Backend 'slirp' ļauj nodrošināt viesdatora tīkla piekļuvi no viesdatora vides bez atsevišķas tīkla konfigurācijas uz viesdatora.
- Kerberos īstenojums FreeBSD galvenajā sastāvā tika aizstāts no Heimdal Kerberos uz MIT Kerberos. Lai atgrieztu Heimdal Kerberos, veicot kompilāciju, var izmantot karogu WITHOUT_MITKRB5. FreeBSD 16 versijā atbalsts Heimdal Kerberos kompilācijai tiks noņemts.
- Sistēmas izsaukumu setgroups, getgroups un initgroups uzvedība, apstrādājot lietotāju grupas, ir pietuvināta citām platformām (atšķirība īstenošanā FreeBSD bija efektīvā grupas ID glabāšanā grupu saraksta nulles elementā).
- Paketēšanas pārvaldnieka pkg iestatījumos pēc noklusējuma ir iekļauts jauns FreeBSD-kmods repozitorijs, kurā ir pakotnes ar kodolu moduļiem, kas sastādīti konkrētām 15.x-RELEASE versiju atzarojumiem, nevis pastāvīgi atjaunināmajam 15-STABLE atzarojumam. FreeBSD-kmods repozitorijs risina problēmu ar draiveru instalēšanu, kas ir saistīta ar nestabilām kodola saskarnēm (piemēram, grafiskie draiveri). Agrākie repozitoriji '/etc/pkg/FreeBSD.conf' 'FreeBSD' un 'FreeBSD-kmods' tika pārdēvēti par 'FreeBSD-ports' un 'FreeBSD-ports-kmods'.
- NFS tika pievienota atbalsts operācijai CLONE, kas definēta NFSv4.2 specifikācijā un ļauj ātri kopēt failus, izmantojot bloku klonēšanu serverī. Šis režīms pagaidām darbojas tikai, eksportējot NFS ZFS daļas.
- amd64 sistēmās ir pievienota iespēja izmantot vairāk nekā 4TB RAM.
- Tika pievienots ufshci draiveris, lai atbalstītu uzglabāšanas sistēmu kontrolierus ar UFSHCI (Universal Flash Storage Host Controller Interface) saskarni.
- Sysctl net.link.bridge.member_ifaddrs pēc noklusējuma ir iestatīts uz 0, t.i., tīkla tiltiem var pievienot saskarnes bez. IP adreses.
- Uzlabota UFS failu sistēmas uzticamība sadaļām ar vairāk nekā 2,000,000,000 inode. UFS1 failu sistēmas realizācijā atrisināta 2038. gada problēma (datumus var izmantot līdz 2106. gadam).
- Pievienota SO_SPLICE tīkla soketu opcija, lai apvienotu TCP savienojumus (līdzīgi proxy, kas darbojas bez datu kopēšanas lietotāja telpā).
- Grep utilītē pēc noklusējuma izslēgts simbolisko saišu apmeklējums rekursīvajā meklēšanā.
- Pievienots nvmf kodola modulis NVMe over Fabric kontrolieru atbalstam un nvmecontrol utilīte, lai pieslēgtos ārējam NVMe over Fabric kontrolierim.
- Date utilītē pievienots atbalsts laika izvadījumam ar nanosekundes precizitāti, piemēram, „date -Ins” izvadīs „2024-04-22T12:20:28,763742224+02:00”.
- Jail vidē pievienota zfs.dataset opcijas atbalsts, lai pievienotu ZFS nodalījumu, snapshotu vai klonu izolētajā jail vidē. Jail komandā pievienots „meta” un „env” parametru atbalsts, lai saistītu metadatus vai nodotu vides mainīgos. Iespējama jail vidu adresēšana, izmantojot jail-deskriptorius, ar kuriem strādā funkcijas jail_set un jail_get, kā arī sistēmas izsaukumi jail_attach_jd un jail_remove_jd. Iespējamas kevent filtrus izmantošana, lai izsekotu izveides, dzēšanas, izmaiņu un Jail pievienošanas operācijas.
- Newsyslog utilītē realizēta opcija, lai noteiktu noklusējuma saspiešanas metodi (bzip2, xz, zstd, gzip), izslēdzot nepieciešamību katrā newsyslog.conf rindā norādīt atsevišķus flagus (J, X, Y, Z).
- Standartajā C bibliotēkā daudzas funkcijas, kas strādā ar virkņu un atmiņas apstrādi, izmanto optimizācijas, kas balstītas uz SIMD instrukcijām.
- Gallant fontā, kas tiek izmantots virtuālajos terminālos, pievienoti vairāk nekā 4300 jauni glifi, tostarp glifi ar kirilicas simboliem un matemātiskiem zīmēm.
- Tty noklusējuma iestatīts IUTF8 karogs, pie kura pareizi darbojas UTF-8 simbolu dzēšana, nospiežot Atpakaļskaitīšanu.
- Dialog utilīte, ko izmanto bsdconfig konfiguratorā un bsdinstall instalētājā, aizvietota ar bsddialog.
- Uzlīcē adduser rīkā, ko izmanto bsdinstall, izveidot atsevišķu ZFS datu kopu (partīciju, snapshots vai klonu) lietotāja mājas katalogam, ja ZFS datu kopa jau tiek izmantota vecāku katalogam. Tāpat pievienota iespēja šifrēt mājas katalogus ar ZFS līdzekļiem. Lai pārvaldītu šo funkciju aktivizāciju, adduser.conf ir pievienoti parametri "Zcreate" un "Zencrypt".
- Tiek nodrošināta OCI saderīgu konteineru attēlu un sistēmas attēlu veidošana Oracle Cloud.
- Pievienots jauns attēlu veids "small" mākoņu vidēm, saderīgām ar AWS EC2. Atšķirībā no pamatattēliem, tie izslēdz atkļūdošanas datus, testus, 32-bit bibliotēkas, atkļūdošanas rīku LLDB, Amazon SSM Agent un AWS CLI. Bāzes attēlu ielāde EC2 ir paātrināta par 76%.
- Noklusējumā ir atspējota un pasludināta par novecojušu net.inet.tcp.nolocaltimewait konfigurācija, t.i., atgriezta noklusējuma TIME_WAIT ierakstu izveide TCP savienojumiem, kas tiek pārtraukta vietējās sistēmas pusē. Jaunais sysctl net.inet.tcp.msl_local ir pievienots laika iestatīšanai savienojuma TIME_WAIT stāvoklī.
- Noklusējumā ir atspējota atbalsta nodrošināšana tīkla savienojumiem uz localhost ar INADDR_ANY. Lai atgrieztu atbalstu, varat iestatīt sysctl net.inet.ip.connect_inaddr_wild uz 1.
- Ir noņemts loģisko apjomu pārvaldnieks gvinum, kas tika izmantots programmatiskajai RAID. Gvinum izstrāde apstājās pirms aptuveni 15 gadiem, un tai kodā ir vairākas zināmas problēmas, kas netika risinātas. Ieteicams izmantot gconcat, gmirror, gstripe, graid vai zfs.
- FreeBSD 16 plānots noņemt agp (Accelerated Graphics Port) draiveri, kas ir nepieciešams daudzu veco grafikas karšu draiveru darbībai. Tāpat pasludināti par novecojušiem un plānots noņemt draiverus: fdc (IBM PC Floppy Disk Controller), firewire (IEEE1394 Serial Bus), le (AMD Am7900 LANCE un Am79C9xx Ethernet) un upgt (USB 802.11g).
- Pasludināta par novecojušu funkcija readdir_r.
- SNMP serverī bsnmpd ir pārtraukta UDP transporta atbalsts.
- Ir pārtraukta RSA hosta atslēgu ģenerēšana SSH un EC2 AMI. OpenSSH ir noņemts DSA atbalsts. Ir izdzēsta publiskā atslēgu datu bāze, kas saistīta ar DES algoritmu.
- No pamatsistēmas ir izņemti ftpd un shar, kuru vietā jāizmanto ftp/freebsd-ftpd un sysutils/freebsd-shar porti.
- Pasludināta par novecojušu utilītu fdisk, kuru vietā jāizmanto gpart.
- Kategorijā ir iekļauts novecojis syscons draiveris, kas nav savietojams ar UEFI, neatbalsta UTF-8 un ir piesaistīts globālajai bloķēšanai.
- Atjaunināti 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 (ar UTF-8 atbalstu), 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.
Avots: opennet.lv
