Udgivelse af FreeBSD 15.0

Efter to år siden offentliggørelsen af version 14.0 er frigivelsen af FreeBSD 15.0 blevet dannet. Installationspakker er blevet forberedt til arkitekturerne amd64, aarch64, armv7, powerpc64, powerpc64le og riscv64. Derudover leveres pakker til virtualiseringssystemer (QCOW2, VHD, VMDK, raw) og cloud-miljøer såsom Amazon EC2, Google Compute Engine og Vagrant.

Fra og med FreeBSD version 15 er supporttiden for betydelige versioner efter dannelsen af den første frigivelse (15.0) forkortet fra 5 til 4 år, og nye betydelige versioner vil blive dannet hvert andet år. Mellemliggende udgivelser (15.1, 15.2, 15.3) vil blive udviklet inden for en fast udviklingscyklus, der indebærer offentliggørelse af nye versioner i én version cirka hver 6. måned, i stedet for en gang om året som tidligere. I betragtning af den samtidige support af to forskellige betydelige versioner vil det nye mellemliggende udgivelse blive offentliggjort hver 3. måned (15.4, 16.1, 15.5, 16.2 osv.), undtagen ved forberedelse af de første frigivelser af nye betydelige versioner, hvor der vil være en 6-måneders pause i frigivelserne (for eksempel vil frigivelsen af 15.3 blive dannet i juni 2027, 16.0 i december 2027, 15.4 - i marts 2028, 16.1 - i juni 2028).

Vigtige ændringer i FreeBSD 15.0 (i den officielle frigivelsesnotat, foruden de specifikke ændringer for version 15.0, nævnes mange funktioner, der tidligere blev tilføjet i versioner 14.1, 14.2 og 14.3):

  • Der er givet mulighed for at bruge pakkehåndteringssystemet pkg til installation og opdatering af grundsystemkomponenter. Pakkerne pkgbase kan leveres på installationsmediet til offline-installation eller downloades fra repo.pkg.freebsd.org. I pkg-konfigurationen (\/etc\/pkg\/FreeBSD.conf) er repositoriet FreeBSD-base ikke inkluderet som standard. Bsdinstall-installeringsprogrammet tilbyder to installationsmuligheder: traditionel og ved hjælp af pakker (pkgbase). Støtten til den traditionelle metode, hvor grundsystemet betragtes som et monolitisk miljø, der opdateres ved hjælp af værktøjet freebsd-update, planlægges at blive fjernet i FreeBSD version 16. Den nye metode, der indebærer installation af grundsystemet som et sæt pakker fra FreeBSD-base-repositoriet, foreslås som standard i samlingerne til virtual machines og billeder til cloud-miljøer, men betragtes stadig som eksperimentel for almindelige systemer.
  • Tilføjet støtte til FreeBSD-samlinger i upriviligerede miljøer, der ikke kræver root-rettigheder. Uden root-rettigheder kan der også oprettes installations-ISO-filer og systembilleder til virtuelle maskiner. Under byggefasen var root-rettigheder nødvendige for at oprette enhedsfilene, angive adgangsrettigheder og montere yderligere filsystemer (for eksempel ved oprettelse af diskbilleder).
  • Implementeret støtte til reproducerbare byggesystemer, der gør det muligt at sikre, at de distribuerede binære filer er bygget fra den leverede kildekode og ikke indeholder skjulte ændringer. Reproducerbare byggesystemer sikrer identitet af binære filer, der genereres fra kildekoden i forskellige byggemiljøer.
  • Dannelsen af installationsbilleder og opbygning af binære pakker for 32-bit arkitekturer i386, armv6 og powerpc er blevet stoppet. Af 32-bit platforme er kun armv7 tilbage. Muligheden for at bygge 32-bit programmer og bruge COMPAT_FREEBSD32-tilstanden til at køre 32-bit eksekverbare filer i et miljø baseret på et 64-bit kerne, vil blive bevaret mindst indtil slutningen af livscyklussen for FreeBSD 16.
  • Systemopkald er blevet tilføjet med implementering af inotify-mekanismen for overvågning af ændringer i filsystemerne.
  • Tilføjet støtte til navngivne attributter af filer (udvidede attributter i Solaris-stil), som planlægges at blive understøttet som en alternativ mekanisme til håndtering af udvidede attributter, der er tilgængelige for ZFS og NFSv4. Forskellene fra de traditionelle metoder, der anvendes i FreeBSD og Linux til arbejdet med udvidede attributter, reduceres til præsentationen af attributter i en servicekatalog, der ikke er synlig i det primære namespaces i FS og er associeret med filen. Arbejdet med attributter udføres som med almindelige filer; for eksempel kan funktionen readdir() bruges til at bestemme listen over attributter.
  • Modulet mac_do er erklæret klar til brug, hvilket tillader politikker, der gør det muligt for upriviligerede brugere at ændre proces-id. For at køre kommandoer som en anden bruger er der udarbejdet et værktøj mdo, der ligner værktøjet su, men som ikke kræver suid root.
  • DRM-driverne i915 og amdgpu er synkroniseret med Linux-kernen 6.9. Trådløse enhedsdrivere rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) og iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) er synkroniseret med Linux-kernen 6.17.
  • Implementeringen af TLS-protokollen på kernel-siden (KTLS) er aktiveret som standard.
  • Sndctl værktøjet er tilføjet til styring af lydkortindstillinger.
  • Mididump-værktøjet er tilføjet til dumpning af MIDI 1.0-begivenheder i realtid.
  • Hypervisoren bhyve har fået en ny netværksbackend 'slirp', der bruger libslirp-biblioteket med netværksstak implementeret i brugerens rum. 'Slirp'-backenden muliggør netværksadgang fra gæstesystemet fra værtens miljø uden separat netværksopsætning på værtens side.
  • Kerberos-implementeringen i FreeBSD's hovedlinje er blevet erstattet fra Heimdal Kerberos til MIT Kerberos. For at geninstallere Heimdal Kerberos under opbygningen kan flaget WITHOUT_MITKRB5 anvendes. I FreeBSD 16 vil understøttelse af bygning af Heimdal Kerberos blive fjernet.
  • Adfærden af systemopkaldene setgroups, getgroups og initgroups i forbindelse med håndtering af brugergrupper er blevet tilpasset til andre platforme (forskellen i implementeringen i FreeBSD bestod i at gemme den effektive gruppe-id for processer i nul-elementet af gruppelisten).
  • I indstillingerne for pakkehåndteringssystemet pkg er det nye FreeBSD-kmods-repositorium som standard inkluderet, hvor pakker med kernelmoduler bygget til specifikke udgivelsesgrene 15.x-RELEASE er placeret, i stedet for den konstant opdaterede gren 15-STABLE. FreeBSD-kmods-repositoriet løser problemet med installering af drivere bundet til ustabile kernelgrænseflader (f.eks. grafiske drivere). De tidligere eksisterende repositorier 'FreeBSD' og 'FreeBSD-kmods' i /etc/pkg/FreeBSD.conf er blevet omdøbt til 'FreeBSD-ports' og 'FreeBSD-ports-kmods'.
  • NFS har fået support for operationen CLONE, som er defineret i NFSv4.2-specifikationen og muliggør hurtig filkopiering via blockkloning på serveren. Denne tilstand fungerer endnu kun ved eksport af NFS-partitioner på ZFS.
  • Der er tilføjet mulighed for at bruge mere end 4 TB RAM på amd64-systemer.
  • UfsHCI-driveren er tilføjet for at støtte lagersystemkontrollere med UFSHCI (Universal Flash Storage Host Controller Interface).
  • Sysctl net.link.bridge.member_ifaddrs er som standard sat til 0, hvilket betyder, at interfaces kan tilføjes til netværksbroer uden IP-adresser.
  • Driftsikkerheden for sektioner med UFS FS, der indeholder mere end 2.000.000.000 inode, er forbedret. Problemet med år 2038 er løst i implementeringen af UFS1 (datoer kan bruges op til 2106).
  • Muligheden for netværkssokler SO_SPLICE er tilføjet for at samle TCP-forbindelser (lignende en proxy, der fungerer uden at kopiere data til brugerrummet).
  • I grep-værktøjet er rekursiv søgning som standard deaktiveret for symboliske links.
  • Der er tilføjet en nvmfta kerne-modul for at understøtte NVMe over Fabric controllere og værktøjet nvmecontrol til forbindelse med en ekstern NVMe over Fabric controller.
  • Værktøjet date har fået tilføjet understøttelse til at udskrive tiden med nanosekunders præcision, for eksempel vil "date -Ins" udskrive "2024-04-22T12:20:28,763742224+02:00".
  • I jail er der tilføjet understøttelse af zfs.dataset-optionen til at inkludere et ZFS-partition, snapshot eller klon i et isoleret jail-miljø. Jail-kommandoen har fået tilføjet understøttelse af parametrene "meta" og "env", som tillader binding af metadata eller overførsel af miljøvariabler. Der er tilføjet mulighed for at adressere jail-miljøer via jail-deskriptorer, hvilket muliggør funktionerne jail_set og jail_get, samt systemopkaldene jail_attach_jd og jail_remove_jd. Der er tilføjet mulighed for at bruge kevent-filtre til at overvåge oprettelse, sletning, ændring og vedhæftning af Jail.
  • I newsyslog-værktøjet er der implementeret en parameter til at angive den standardkomprimeringsmetode, der bruges (bzip2, xz, zstd, gzip), hvilket fjerner behovet for at angive separate flag (J, X, Y, Z) i hver linje af newsyslog.conf.
  • I den standard C-bibliotek er der i mange funktioner til håndtering af strenge og hukommelse anvendt optimeringer baseret på SIMD-instruktioner.
  • I Gallant skrifttypen, der bruges i virtuelle terminaler, er der tilføjet mere end 4300 nye glyffer, inklusive glyffer med kyrilliske tegn og matematiske symboler.
  • I tty er flaget IUTF8 som standard aktiveret, hvilket gør det muligt at slette UTF-8-tegn korrekt ved at trykke på Backspace.
  • Dialog-værktøjet, der anvendes i konfigurationsprogrammet bsdconfig og installationsprogrammet bsdinstall, er blevet erstattet med bsddialog.
  • I værktøjet adduser, der anvendes i bsdinstall, er der mulighed for at oprette et separat ZFS dataset (partition, snapshot eller klon) til brugerens hjemmemappe, hvis ZFS dataset allerede anvendes til forældremappen. Der er også tilføjet muligheden for at bruge kryptering af hjemmemapper ved hjælp af ZFS. For at styre aktiveringen af disse funktioner er parametrene «Zcreate» og «Zencrypt» tilføjet i adduser.conf.
  • Der er sikret dannelse af OCI-kompatible containerbilleder og systembilleder til Oracle Cloud.
  • En ny type billeder «small» til cloud-miljøer, der er kompatible med AWS EC2, er blevet tilføjet. I modsætning til basisbillederne er debug-data, tests, 32-bit biblioteker, debuggeren LLDB, Amazon SSM Agent og AWS CLI udeladt. Indlæsningen af «base» billeder til EC2 er blevet 76% hurtigere.
  • Som standard er indstillingen net.inet.tcp.nolocaltimewait deaktivert og er blevet erklæret forældet, dvs. standardoprettelse af TIME_WAIT-poster for TCP-forbindelser, der afsluttes på den lokale systemside, er blevet genoprettet. For at konfigurere varigheden af forbindelsen i TIME_WAIT-tilstand er der tilføjet en ny sysctl net.inet.tcp.msl_local.
  • Som standard er understøttelse af oprettelse af netværksforbindelser til localhost med INADDR_ANY deaktiveret. For at genoprette denne understøttelse kan sysctl net.inet.ip.connect_inaddr_wild sysctl sættes til 1.
  • Gvinum-logisk volumes manager, der blev brugt til software RAID, er blevet fjernet. Udviklingen af Gvinum stoppede for omkring 15 år siden, samtidig med at der i koden er en række kendte problemer, som ingen har taget sig af at løse. I stedet for gvinum anbefales det at bruge gconcat, gmirror, gstripe, graid eller zfs.
  • AGP-driveren (Accelerated Graphics Port), der er nødvendig for mange drivere til ældre grafikkort, er planlagt til fjernelse i FreeBSD 16. Der er også erklæret forældet og planlagt til fjernelse: drivere: fdc (IBM PC Floppy Disk Controller), firewire (IEEE1394 Serial Bus), le (AMD Am7900 LANCE og Am79C9xx Ethernet) og upgt (USB 802.11g).
  • Funktionen readdir_r er erklæret forældet.
  • I SNMP-serveren bsnmpd er understøttelsen af UDP transporten ophørt.
  • Genereringen af host-nøgler RSA til SSH og EC2 AMI er stoppet. Understøttelsen af DSA er fjernet fra OpenSSH. Databasen publickey, der var bundet til DES-algoritmen, er blevet fjernet.
  • ftpd og shar er fjernet fra det grundlæggende system, og i stedet bør portene ftp/freebsd-ftpd og sysutils/freebsd-shar anvendes.
  • Værktøjet fdisk er erklæret forældet, og i stedet bør gpart anvendes.
  • Driveren syscons er blevet flyttet til kategorien for forældede drivere, som ikke er kompatibel med UEFI, ikke understøtter UTF-8 og er afhængig af global låsning.
  • Opdaterede versioner: 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 understøttelse af 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.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster