Na zes maanden ontwikkeling is de release van FreeBSD 14.1 afgerond. Installatie- afbeeldingen zijn voorbereid voor de architecturen amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv7, aarch64 en riscv64. Daarnaast zijn er versies bereid voor virtualisatiesystemen (QCOW2, VHD, VMDK, raw) en cloudomgevingen zoals Amazon EC2, Google Compute Engine en Vagrant.
Belangrijkste wijzigingen:
- Er is gewerkt aan de verbetering van de audiostack. De mogelijkheid om geluidsapparaten in asynchrone modus te ontkoppelen is geïmplementeerd, wat bijvoorbeeld nodig is voor het hot-swappen van USB-geluidskaarten. Het snd_clone-framework en de bijbehorende sysctl-instellingen zijn verwijderd, wat heeft geleid tot een vereenvoudigde audiokern. In plaats van aparte apparaatsbestanden voor elk geluidskanaal (/dev/dspX.Y) wordt nu alleen nog het hoofdapparaatsbestand (/dev/dspX) aangemaakt.
- De functie voor werken met strings en geheugen in libc is geoptimaliseerd met behulp van SIMD-instructies op systemen met AMD64-architectuur. Er zijn 17 functies voorgesteld die door middel van SIMD zijn geoptimaliseerd, evenals 9 functies die zijn omgezet naar functies die via SIMD zijn geoptimaliseerd. Tijdens tests is de prestatie van de nieuwe functies bij de verwerking van strings van 64 tekens met 5,54 keer toegenomen.
- Ingebouwde ondersteuning voor configuratie met cloud-init, een toolkit voor systeemconfiguratie tijdens het opstarten, is toegevoegd. Onder meer wordt het aanmaken van gebruikers/groepen, het toevoegen van ssh-sleutels, het configureren van netwerkverbindingen, het definiëren van het startscript nuageinit en het instellen van schijfpartities (config-drive) ondersteund. De implementatie is compatibel met OpenStack en vele hosting-providers.
- Voor nieuwe UFS2-bestandssystemen, gemaakt met de tool newfs, is journaling (soft updates) standaard ingeschakeld.
- De mogelijkheid is geboden om de kernel alleen te bouwen met ondersteuning voor IPv6 (INET6), zonder IPv4 (INET).
- In de adduser-tool, gebruikt in bsdinstall, is het mogelijk gemaakt om een aparte ZFS-dataset (gedeelte, snapshot of kloon) voor de thuisdirectory van de gebruiker te creëren, als er al een ZFS-dataset voor de bovenliggende directory wordt gebruikt. Daarnaast is het mogelijk gemaakt om versleuteling van thuisdirectories te gebruiken met ZFS. Voor het beheer van het activeren van deze mogelijkheden zijn de parameters "Zcreate" en "Zencrypt" toegevoegd in adduser.conf.
- In «libutil» is ondersteuning toegevoegd voor het instellen van prioriteit voor processen op basis van instellingen uit het bestand «.login.conf», geplaatst in de thuismap. Bij het instellen van prioriteit of umask is ondersteuning toegevoegd voor de waarde «inherit», waarbij prioriteit en umask hetzelfde zijn als die van het bovenliggende proces.
- In het hulpprogramma «date» is ondersteuning toegevoegd voor nanoseconde-precisie, bijvoorbeeld, «date -Ins» geeft «2024-06-04T10:20:28,763742224+05:00» weer, en «date +%N» — «415050400».
- In het hulpprogramma «dtrace» is de mogelijkheid geïmplementeerd om uitvoer te genereren in formaten die handig zijn voor automatische parsing en weergave, zoals JSON, XML en HTML.
- In het hulpprogramma «usbconfig» is de mogelijkheid ingebouwd om extra informatie over USB-apparaten en fabrikanten weer te geven, die overeenkomt met de beschrijvingen in het bestand /usr/share/misc/usb_vendors.
- In de driver «ice» is ondersteuning toegevoegd voor Ethernet-controllers van Intel E800 met een doorvoersnelheid van 100 Gb/s.
- In de Ethernet-driver «msc» is ondersteuning toegevoegd voor het instellen van het MAC-adres op basis van de parameter «smsc95xx.macaddr», die door sommige modellen van Raspberry Pi-borden wordt doorgegeven.
- Er is gewerkt aan het verbeteren van de stabiliteit van de driver «iwlwifi» voor draadloze chips van Intel.
- De mogelijkheid om meerdere PCI MCFG-gebieden te gebruiken op amd64- en i386-systemen voor segmentering van het adresruimtes van PCI-apparaten is toegevoegd.
- De ondersteuning voor hardware is uitgebreid.
- In de NFS-handler «mountd» is de bibliotheek «strunvis» ingezet om bestandsnamen in het «exports»-bestand te decoderen, waardoor speciale tekens zoals spaties in bestandsnamen kunnen worden gebruikt. Nieuwe sysctl-variabelen kern.rpc.unenc en kern.rpc.tls zijn toegevoegd voor de configuratie van NFS-over-TLS.
- In de bootloader is het lezen van configuratiebestanden, genoemd in de variabele local_loader_conf_files, na de configuratiebestanden die zijn gedefinieerd in het bestand /boot/loader.conf.local, verbeterd. Er is ook de mogelijkheid toegevoegd om instellingen uit SMBIOS te extraheren in relatie tot fabricage- en productidentificatie. De detectie van de console is verbeterd op systemen met EFI. De framebuffer-implementatie in de bootloader kan nu consolevideostuurprogramma's gebruiken.
- De mogelijkheid om de LinuxBoot-bootloader (loader.kboot) te gebruiken voor het opstarten van FreeBSD vanuit Linux-gebaseerde omgevingen op aarch64- en amd64-systemen is geïmplementeerd.
- In rc.conf is ondersteuning voor de parameter kdc_restart toegevoegd, die automatische herstart van de kdc (Kerberos 5-server) inschakelt in geval van een onverwachte beëindiging. Daarnaast is de parameter kdc_restart_delay beschikbaar, waarmee een vertraging voor de herstart kan worden ingesteld.
- Standaard zijn om de grootte van rapporten die naar e-mail worden verzonden te verkleinen, de gegevens over wijzigingen bij het uitvoeren van periodiek geplande taken en scripts die de beveiliging controleren verkort. Voor het instellen van het niveau van de uitvoer kunnen de parameters daily_diff_flags en security_status_diff_flags in periodic.conf worden gebruikt.
- De versies van externe componenten zijn bijgewerkt: Clang/LLVM 18.1.5, OpenZFS 2.2.4, OpenSSH 9.7p1, awk 2024-01-22 (met ondersteuning voor UTF-8 en de modus "-csv"), libarchive 3.7.4, sendmail 8.18.1, unbound 1.20.0.
Bron: opennet.ru
