Release van FreeBSD 13.0

Na tweeënhalf jaar na de vorming van de 12.x tak is de release van FreeBSD 13.0 gepresenteerd, die is voorbereid voor de architecturen amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 en riscv64. Daarnaast zijn er afbeeldingen gemaakt voor virtualisatiesystemen (QCOW2, VHD, VMDK, raw) en cloudomgevingen zoals Amazon EC2, Google Compute Engine en Vagrant.

Belangrijkste vernieuwingen:

  • De overstap naar de geharmoniseerde Linux-implementatie van het bestandssysteem ZFS van het OpenZFS-project is gerealiseerd. Onder de mogelijkheden die beschikbaar zijn geworden in FreeBSD na de overstap naar OpenZFS bevinden zich: een uitgebreid quota-systeem, gegevenssetversleuteling, gescheiden keuze voor toewijzingsklassen, gebruik van vector-instructies voor het versnellen van RAIDZ-implementaties en controlegetalberekeningen, ondersteuning voor het ZSTD-compressie-algoritme, multihost-modus (MMP, Multi Modifier Protection), verbeterde commandoregelhulpmiddelen en de oplossing van veel bugs met betrekking tot racecondities en vergrendelingen.
  • De poort voor de ARM64 (AArch64) architectuur is naar niveau 1 ondersteuning (Tier 1) overgezet, wat inhoudt dat deze onder toezicht valt van teams die verantwoordelijk zijn voor het verhelpen van kwetsbaarheden, het voorbereiden van releases en het onderhouden van poorten. Niveau 1 ondersteuning houdt in dat er installatieteerdingen, binaire updates en kant-en-klare pakketten worden gevormd en dat garanties worden geboden voor het oplossen van specifieke problemen en het behouden van ABI-compatibiliteit voor de gebruikersomgeving en de kernel (behalve voor sommige subsysteem).
  • De i386 architectuur is naar niveau 2 ondersteuning (Tier 2) overgezet, waarbij installatieteerdingen, binaire updates en kant-en-klare pakketten blijven worden gevormd, maar zonder garanties voor het oplossen van specifieke problemen. Het type CPU (CPUTYPE) voor de i386 architectuur is standaard gewijzigd van 486 naar 686 (op verzoek kunnen installaties voor i486 en i586 zelf worden gevormd).
  • De componenten clang, lld, lldb, compiler-rt, llvm, libunwind en libc++ zijn bijgewerkt naar versie 11.
  • De ontwikkeling is overgezet van het gecentraliseerde broncodebeheersysteem Subversion naar het gedecentraliseerde systeem Git.
  • De basis systeem is opgeschoond van applicaties die worden verspreid onder de GPL-licentie. Binutils 2.17 en gcc 4.2.1 zijn verwijderd uit de bronbestanden, en alle ondersteunde architecturen zijn overgezet op de LLVM/clang-toolchain. BSD-gelicentieerde versies van de grep- en dtc (Device Tree Compiler)-hulpmiddelen zijn toegevoegd ter vervanging van de GPL-versies. Het automatische mountproces van amd is verwijderd, met functionaliteit die nu wordt ondersteund door autofs. De ctm-hulpmiddel is verwijderd; het gebruik van de port misc/ctm wordt aanbevolen.
  • De routeringsstack is herschreven en ondersteunt nu nexthop-objecten die gegevens bevatten over de status die wordt gebruikt voor het verzenden van een pakket naar de gewenste bestemming. Er is de mogelijkheid toegevoegd om eigen routeringsalgoritmes aan te sluiten. Routeringsalgoritmes uit de DPDK (Data Plane Development Kit) librte zijn toegevoegd, waardoor het functioneren met zeer grote routeringstabellen kan worden geoptimaliseerd. Voor proxyarp-verzoeken wordt de fib-interface gebruikt. De mogelijkheid om het aantal fib's on-the-fly te wijzigen via sysctl net.fibs is toegevoegd. Ondersteuning voor tijdelijke routes voor IPv4 en IPv6 (met een levensduur) is geïmplementeerd.
  • De ondersteuning voor Multipath-routing is herschreven en schaalbaarder gemaakt, waarbij de zoektijd niet afhankelijk is van de grootte van de lijst (O(1)). De nieuwe Multipath-implementatie is nu gekoppeld aan de kernelparameter ROUTE_MPATH, die RADIX_MPATH heeft vervangen en standaard ingeschakeld is. Om Multipath te beheren is sysctl net.route.multipath voorgesteld.
  • Het cryptografische framework op kernniveau is herschreven en ondersteunt nu moderne cryptografische algoritmes, terwijl de interface voor het gebruik van encryptie in stuurprogramma's en andere kerncomponenten is vereenvoudigd. Verouderde algoritmes zoals ARC4, Blowfish, CAST128, DES, MD5-HMAC en Skipjack zijn verwijderd. Ondersteuning voor algoritmes die verouderd zijn verklaard in RFC 8221 en RFC 6649/8429, inclusief 3DES, is beëindigd in IPsec en Kerberos. Eerdere verouderde algoritmes in het schijfversleutelingssubsystem geli en cryptodev zijn verwijderd.
  • De GENERIC-kern heeft ondersteuning voor de aesni- en armv8crypto-stuurprogramma's toegevoegd voor het versnellen van schijfversleuteling op basis van geli met behulp van AES-NI-instructies voor amd64/i386 en AES-XTS voor ARM64.
  • De qat-driver voor Intel QuickAssist (QAT) crypto-accelerators is toegevoegd, evenals de ossl-driver met een implementatie van versnelde software-encryptieprocedures uit OpenSSL, geoptimaliseerd met behulp van assemblycode. In de armv8crypto-driver is ondersteuning voor AES-XTS en AES-GCM toegevoegd met gebruik van de bijbehorende instructies van ARMv8-processoren.
  • Een implementatie van TLS (kTLS) op kernniveau van FreeBSD is toegevoegd, wat een aanzienlijke prestatieverbetering van de encryptie voor TCP-sockets mogelijk maakt. TLS-versies van 1.0 tot 1.3 worden ondersteund. Voor encryptie worden kerncryptodrivers gebruikt die AES-CBC of AES-GCM ondersteunen. Voor gebruik van kTLS in de gebruikersruimte is het nodig om OpenSSL opnieuw te bouwen met de optie WITH_OPENSSL_KTLS.
  • Een nieuw type netwerkbuffers mbuf is toegevoegd, die in één buffer meerdere niet-geheugen pagina's kan vertegenwoordigen, waardoor de prestaties van de sendfile(2)-aanroep worden verbeterd door de grootte van mbuf-lijsten in socketbuffers te verkleinen.
  • In de TCP-stack is ondersteuning geïntegreerd voor het algoritme voor proportionele vermindering van het verzendintensiteit van pakketten (Proportional Rate Reduction, RFC 6937), waardoor het mogelijk wordt om sneller de optimale stroomparameters te herstellen na tijdelijke problemen met gegevensoverdracht. Om PRR uit te schakelen, is sysctl net.inet.tcp.do_prr beschikbaar.
  • De mogelijkheden van de hypervisor Bhyve zijn uitgebreid: ondersteuning voor gedeelde bestandstoegang via VirtIO-9p (VirtFS) is toegevoegd. Snapshot-functionaliteit is geïmplementeerd. virtuele machinesOndersteuning voor PCI HDAudio-apparaten en extra seriële poorten COM3 en COM4 is toegevoegd. Verouderde apparaatschema's bvmconsole en bvmdebug zijn verwijderd. De stabiliteit van de verbinding met VNC-clients is verhoogd, waaronder de macOS-applicatie 'Screen Sharing'.
  • De VirtIO-drivers zijn bijgewerkt met ondersteuning voor de VirtIO V1-specificatie, wat de compatibiliteit van gastsystemen met FreeBSD voor verschillende emulators en hypervisors heeft verbeterd.
  • Voor processen die aan jail-omgevingen zijn gekoppeld, is er een conversie van CPU-bindingen verzekerd (de aanvankelijk aan het proces toegewezen cpuset zal worden vervangen rekening houdend met de cpuset van de jail en ingestelde beperkingen).
  • Er is een mogelijkheid toegevoegd om de basisinstallatie van FreeBSD te bouwen in omgevingen gebaseerd op andere besturingssystemen. De noodzaak om te bouwen in andere besturingssystemen is voortgekomen uit de wens om testtools voor FreeBSD te gebruiken die zijn gekoppeld aan Linux of macOS.
  • Er is een nieuwe MMC/SD-stack voorgesteld, gebaseerd op het CAM-framework, dat de aansluiting van apparaten met de SDIO (Secure Digital I/O) interface mogelijk maakt. Bijvoorbeeld, SDIO wordt gebruikt in WiFi- en Bluetooth-modules voor veel boards, zoals de Raspberry Pi 3. De nieuwe stack maakt het ook mogelijk om de CAM-interface te gebruiken voor het verzenden van SD-commando's vanuit gebruikersapplicaties, wat de creatie van stuurprogramma's voor apparaten mogelijk maakt die op gebruikersniveau werken.
  • De werking van de compatibiliteitslaag met Linux is verbeterd. De DTS-bestanden (Device Tree Sources) zijn gesynchroniseerd met de Linux-kernel 5.8.
  • Ondersteuning voor NFSv4.2 (RFC-7862) is toegevoegd en de mogelijkheid om NFS boven een versleutelde verbinding op basis van TLS 1.3 te gebruiken is geïmplementeerd, in plaats van gebruik te maken van Kerberos (modus sec=krb5p), dat beperkt was tot alleen RPC-berichtenversleuteling en alleen softwarematig was geïmplementeerd.
  • De verouderde versie van de GDB-debugger is verwijderd, die eerder was geïnstalleerd in de map /usr/libexec en werd gebruikt in de crashinfo-tool. In plaats van de vooraf geïnstalleerde GDB wordt nu aangeraden om een recente versie van GDB uit de ports of packages te installeren voor gedetailleerde informatie over oorzaken van crashes. Ondersteuning voor het debuggen van processen via procfs is beëindigd. Een netgdb-stuurprogramma is toegevoegd, dat het mogelijk maakt om de kernel-debugger via het netwerk aan te roepen.
  • De onveilige functie gets is uit libc verwijderd (vanaf de C11-standaard is deze functie uitgesloten uit de specificatie) en er zijn correcties doorgevoerd in ports die deze functie nog gebruiken. De functies cap_random zijn verwijderd (gebruik getrandom).
  • Een nieuwe systeemaanroep copy_file_range is toegevoegd, die compatibel is met de implementatie uit de Linux-kernel en het kopiëren van gegevens van het ene bestand naar het andere versnelt, dankzij de uitvoering van de operatie alleen aan de kernzijde zonder eerst gegevens in het procesgeheugen te lezen. De systeemaanroep wordt ook gebruikt in de server NFSv4.2 voor lokaal uitgevoerde kopieeroperaties op de server (zonder verzending naar de cliënt).
  • In het POSIX AIO mechanisme voor asynchrone invoer/uitvoer is ondersteuning voor gevectoriseerde functies geïntroduceerd. In het bijzonder zijn de systeemaanroepen aio_writev en aio_readv toegevoegd, waarmee gevectoriseerde versies van de functies aio_read en aio_write kunnen worden geïmplementeerd.
  • Ondersteuning voor gebruikersruimtecomponenten voor het a.out uitvoerformat op systemen met de i386 architectuur is stopgezet. De elf2aout hulpprogramma is verwijderd.
  • De hulpprogramma's ping en ping6 zijn samengevoegd. In ping is de mogelijkheid toegevoegd om kwaliteitsdienstparameters (QoS) in te stellen via IP DSCP en Ethernet PCP.
  • In de hulpprogramma freebsd-update is het tonen van voortgang voor het downloaden van bestanden verbeterd en zijn de commando's updatesready en showconfig toegevoegd voor het controleren op updates en het tonen van configuratie.
  • Er is veel werk verzet om de ondersteuning voor NUMA (Non-Uniform Memory Access) systemen te verbeteren.
  • Grafische stuurprogramma's en componenten van de grafische stack zijn bijgewerkt. Problemen met omgevingen op basis van het Wayland-protocol zijn opgelost.
  • Een backlight-subsysteem is toegevoegd voor het maken van stuurprogramma's voor het bedienen van de achtergrondverlichting. Een pwm-backlight stuurprogramma is toegevoegd voor het bedienen van de verlichting van de Pinebook en Pinebook Pro.
  • De ondersteuning voor het SCTP-protocol is verplaatst naar een aparte module sctp.ko, die standaard is uitgeschakeld in de GENERIC-kernel.
  • Voor invoerapparaten is een nieuwe usbhid driver voorgesteld, die het hid-framework gebruikt voor het werken met USB HID-apparaten, in plaats van de ukbd, ums en uhid drivers.
  • In de cpufreq-driver is ondersteuning voor Intel Speed Shift-technologie geïmplementeerd.
  • Ondersteuning voor nieuwe borden gebaseerd op 64-bit ARMv8 CPU's is toegevoegd, inclusief SoC Broadcom BCM5871X en NXP LS1046A.
  • Voor de AMD64 architectuur is ondersteuning voor 57-bit virtuele adressen (LA57) geïmplementeerd. Ondersteuning voor Chinese x86 CPU Hygon Dhyana, gebaseerd op AMD-technologie, is toegevoegd.
  • De port voor de powerpc64 architectuur is overgezet naar het gebruik van LLVM en ABI ELFv2 (binaire bestanden uit eerdere versies van FreeBSD kunnen niet worden gebruikt in FreeBSD 13). Voor powerpc64 zijn de drivers virtio, ixl, mrsas, aacraid en cpld geport.
  • Drivers voor verouderde Ethernet-adapters zijn verwijderd:
    • bm(4) BMAC
    • cs(4) Crystal Semiconductor CS8900/CS8920
    • de(4) DEC DC21x4x
    • ed(4) NE-2000 en WD-80×3
    • ep(4) 3Com Etherlink III (3c5x9) ISA
    • ex(4) Intel EtherExpress Pro/10 en Pro/10+
    • fe(4) Fujitsu MB86960A/MB86965A
    • hme(4) Sun Microelectronics STP2002-STQ
    • pcn(4) AMD PCnet
    • sf(4) Starfire
    • sn(4) SMC 91Cxx
    • tl(4) Texas Instruments ThunderLAN
    • tx(4) SMC 83c17x
    • txp(4) 3Com 3XP Typhoon/Sidewinder (3CR990)
    • vx(4) 3Com EtherLink III / Fast EtherLink III (3c59x) PCI
    • wb(4) Winbond W89C840F
    • xe(4) Xircom PCMCIA
  • Drivers ubsec (crypto-accelerators Broadcom BCM58xx), ufm (FM-tuners met USB-interface), ctau (Cronix Tau), cx (Cronix Sigma) en vpo (parallel port SCSI) zijn verwijderd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster