FreeBSD 13.0 versioon

Kaks ja pool aastat pärast 12.x haru loomist on välja antud FreeBSD 13.0 versioon, mis on ette nähtud arhitektuuride amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 ja riscv64 jaoks. Lisaks on loodud pildid virtualiseerimissüsteemide (QCOW2, VHD, VMDK, raw) ja pilvekeskkondade Amazon EC2, Google Compute Engine ja Vagrant jaoks.

Põhilised uuendused:

  • Üleminek Linuxiga ühtsustatud ZFS failisüsteemi versioonile OpenZFS on teostatud. FreeBSD-sse on lisandunud pärast OpenZFS-ile üleminekut saadaval olevad võimalused: täiendav kvotade süsteem, andmekogude krüpteerimine, eraldi plokkide jaotamise klasside valik (allocation classes), vektorprotsessori käsutuste kasutamine RAIDZ rakendamise ja kontrollsummade arvutamise kiirendamiseks, ZSTD kompressioonialgoritmi tugi, multihost režiim (MMP, Multi Modifier Protection), paranenud käsurea tööriistad, paljude probleemide lahendamine, mis olid seotud hulkade seisundite ja lukustustega.
  • ARM64 (AArch64) arhitektuur on viidud esmaklassilise toe tasemele (Tier 1), mis kuulub hooldusmeeskondade käsutusse, kes tegelevad haavatavuste kõrvaldamise, väljaannetega ja portide hooldamisega. Esimese taseme tugi hõlmab installikogude, binaarvärskenduste ja valmispakettide koostamist ning tagab spetsiifiliste probleemide lahendamise ning ABI stabiilsuse kasutajakeskkonnas ja tuumas (välja arvatud mõned alamsüsteemid).
  • i386 arhitektuur on viidud teise taseme toe platvormidele (Tier 2), kus jätkub installikogude, binaarvärskenduste ja valmispakettide koostamine, kuid ei taga spetsiifiliste probleemide lahendamist. CPU tüüp (CPUTYPE) i386 arhitektuuril on vaikimisi muudetud 486-lt 686-le (soovi korral saab ise koostada i486 ja i586 versioonid).
  • Komponendid clang, lld, lldb, compiler-rt, llvm, libunwind ja libc++ on uuendatud versioonile 11.
  • Arendus on viidud kesksete allikakoodihalduse süsteemide Subversionilt hajusale Git süsteemile.
  • Põhisüsteemi on puhastatud GPL litsentsiga rakendustest. Allika puust on eemaldatud binutils 2.17 ja gcc 4.2.1, kõik toetatavad arhitektuurid on viidud LLVM/clang tööriistadele. Lisatud on BSD litsentsiga versioonid utiliitide grep ja dtc (Device Tree Compiler), mis asendavad GPL litsentsiga versioonid. Eemaldatud on automaatse montaaži protsess amd, mille funktsionaalsust rakendatakse nüüd autofs abil. Eemaldatud on utiliit ctm, mille asemel soovitatakse kasutada porti misc/ctm.
  • Marsruutimise kiht on ümber kirjutatud, et tuua sisse tugi nexthopi objektidele, mis salvestavad teavet, mis on vajalik paketi saatmiseks soovitud sihtkohta. Lisatud on võimalus ühendada oma marsruutide otsingu algoritmid. DPDK (Data Plane Development Kit) librte marsruutide otsingu algoritmid on lisatud, et optimeerida tööd väga suurte marsruuditabelitega. Proxyarp päringute jaoks on kaasatud fib liides. Lisatud on võimalus muuta fib arvu dünaamiliselt sysctl net.fibs kaudu. Ajutiste marsruutide tugi IPv4 ja IPv6 jaoks on rakendatud (edasi antud eluaegse väärtusega).
  • Multipath marsruutimise tugi on ümber kirjutatud ja muudetud skaleeritavamaks, kus otsingu aeg ei sõltu nimekirja suurusest (O(1)). Uus Multipathi rakendus on seotud kerneliparameetriga ROUTE_MPATH, mis asendas RADIX_MPATH ja on vaikimisi sisse lülitatud. Multipathi haldamiseks on ette soovitatud sysctl net.route.multipath.
  • Tuuma krüptograafiline raamistik on ümber kirjutatud ja selle tugi kaasaegsete krüptograafiliste algoritmide jaoks on paranenud, samuti on lihtsustatud liides krüpteerimise kasutamiseks draiverites ja muudes tuumakomponentides. Vanad algoritmid nagu ARC4, Blowfish, CAST128, DES, MD5-HMAC ja Skipjack on eemaldatud. IPsec ja Kerberos toetavad algoritmid, mis on tunnistatud vananenuks RFC 8221 ja RFC 6649/8429, sealhulgas 3DES, ei ole enam toetatud. Eemaldatud on varasemalt vananenuks kuulutatud algoritmid ketaskriptograafia alamsüsteemis geli ja cryptodev.
  • GENERIC tuuma on lisatud aesni ja armv8crypto draiverite tugi, et kiirendada geli põhjal diskikodeerimist AES-NI käskude abil amd64/i386 arhitektuuridele ja AES-XTS ARM64 jaoks.
  • Lisatud on qat draiver Intel QuickAssist (QAT) krüptoksekleratsioonidele ja ossl draiveri implementatsioon kiirendatud krüpteerimisprotseduuridest OpenSSL-ist, mis on optimeeritud assambleekoodiga. armv8crypto draiveris on lisatud AES-XTS ja AES-GCM tugi, kasutades ARMv8 protsessorite vastavaid käske.
  • Lisatud TLS (kTLS) teostus, mis töötab FreeBSD tuumatasemel ja võimaldab saavutada märkimisväärset jõudluse tõusu TCP-socket'ite krüpteerimisel. Toetatakse TLS versioone 1.0 kuni 1.3. Krüpteerimiseks kasutatakse tuumakriiptereid, mis toetavad AES-CBC või AES-GCM. KTLSi kasutamiseks kasutaja ruumis on vajalik OpenSSL'i uuesti ehitamine WITH_OPENSSL_KTLS valikuga.
  • Lisatud uus tüüpi võrgu puhversüsteem mbuf (network data buffer), mis suudab esindada ühes puhvris mitut peegeldamata füüsilist mälulehte, mis võimaldab suurendada sendfile(2) kutsete jõudlust, vähendades socket'i puhvrite mbuf nimekirjade suurust.
  • TCP-stäkki on integreeritud pakettide saatmise intensiivsuse proportsionaalse vähendamise (Proportional Rate Reduction, RFC 6937) algoritmi tugi, mis võimaldab kiiremini taastada voogude optimaalsed parameetrid ajutiste andmeedastuse probleemide korral. PRR-i keelamiseks on ette nähtud sysctl net.inet.tcp.do_prr.
  • Bhyve hüperviisori funktsionaalsust on laiendatud: lisatud tugi failide jagamiseks VirtIO-9p (VirtFS) abil. Realiseeritud on võimalus töötada snapshot'idega. virtuaalmasinadLisatud PCI HDAudio seadmete tugi ja lisa-seeria portide COM3 ja COM4 tugi. Eemaldatud on vananenud seadmemudelid bvmconsole ja bvmdebug. Tõstetud on VNC klientide tööstabiilsust, sealhulgas macOS-i rakenduse "Screen Sharing" osas.
  • VirtIO draiveritesse on lisatud VirtIO V1 spetsifikatsiooni tugi, mis on parandanud FreeBSD külgsete süsteemide ühilduvust erinevate emulaatorite ja hüperviisoritega.
  • Sundvõrgustiku mälulõikude protsesside jaoks, mis on ühendatud jail-keskkondadega, on tagatud CPU sidumiste ümberproportsioneerimine (algne protsessiga seotud cpuset asendatakse jail'i cpuset'i ja kehtestatud piirangutega).
  • Lisatud on võimalus ehitada FreeBSD baassüsteem teistest operatsioonisüsteemidest lähtuvates keskkondades. Ehitamine teistele operatsioonisüsteemidele on vajalik, et kasutada FreeBSD testimiseks pideva integreerimise tööriistu, mis on seotud Linuxi või macOS-iga.
  • Pakutud on uus MMC/SD stekk, mis põhineb CAM raamistikul ja võimaldab ühendada SDIO (Secure Digital I/O) liidese seadmeid. Näiteks kasutatakse SDIO-sid WiFi ja Bluetooth moodulites paljude plaatide, sealhulgas Raspberry Pi 3 jaoks. Uus stekk võimaldab samuti kasutada CAM liidest SD-käskude edastamiseks kasutajaruumis, mis annab võimaluse luua seadme draivereid, mis töötavad kasutajaruumis.
  • Linuxi ühilduvuse vahekihiga on parendatud tööd. DTS (Device Tree Sources) failid on sünkroonitud Linuxi tuumaga 5.8.
  • Lisatud NFSv4.2 (RFC-7862) tugi ja ilmunud on NFS-i tugi TLS 1.3-ba põhineva salajase kommunikatsioonikanali kaudu, selle asemel, et kasutada Kerberost (režiim sec=krb5p), mis piirdus ainult RPC-sõnumite krüpteerimisega ja oli rakendatud ainult tarkvaraliselt.
  • Eemaldatud on vananenud GDB siluriversioon, mis oli kunagi paigaldatud katalooge /usr/libexec ja mida kasutati crashinfo utiliidis. Selle asemel, et kasutada eelnevalt installitud GDB-d üksikasjaliku teabe saamiseks kokkuvarisemise põhjustest, on nüüd soovitatav installida uus versioon GDB portidest või paketidest. Protsesside silumist läbi procfs on lõpetatud. Lisatud on netgdb draiver, mis võimaldab suhelda tuuma siluriga võrguhul.
  • Libc-st on eemaldatud ebaturvaline funktsioon gets (alates C11 standardist on see funktsioon spetsifikatsioonist välja jäetud) ja korrektsioon on tehtud pordidele, mis veel kasutavad seda funktsiooni. Eemaldatud on funktsioonid cap_random (soovitatav on kasutada getrandom).
  • Lisatud uus süsteemi kutse copy_file_range, mis on ühilduv Linuxi tuuma teostusega ja kiirendab andmete kopeerimist ühe faili hulgast teise, kuna operatsioon toimub ainult tuumas ilma andmete eelneva lugemiseta protsessi mälu. Süsteemi kutset kasutatakse samuti serveril NFSv4.2 kohalike kopeerimisoperatsioonide täitmiseks serveris (ilma kliendile edastamiseta).
  • POSIX AIO asünkroonse sisendi/väljundi mehhanismi raames tutvustatakse vektoriseeritud funktsioonide tuge. Eelkõige on lisatud süsteemi kutseid aio_writev ja aio_readv, mis võimaldavad rakendada vektoriseeritud ekvivalente funktsioonidele aio_read ja aio_write.
  • Kasutajaruumi komponentide tugi a.out teostusfailide vormaatidele i386 arhitektuuril on lõpetatud. Eemaldatud on utiliit elf2aout.
  • Ping ja ping6 utiliidid on ühendatud. Ping utiliidile on lisatud QoS (teenuse kvaliteedi) parameetrite seadmine IP DSCP ja Ethernet PCP kaudu.
  • Freebsd-update utiliidis on tagatud failide laadimise protsessi näitamine ja lisatud on komandod updatesready ja showconfig, et kontrollida uuenduste olemasolu ja kuvada seadistamist.
  • Tehtud on suur töö NUMA (Non-Uniform Memory Access) süsteemide toe parandamiseks.
  • Grafikadraiverid ja graafikaste komponendid on värskendatud. Probleemid Wayland-protokolil töötavate keskkondadega on lahendatud.
  • Lisatud on backlight-süsteem valgustuse juhtimisdraiverite loomiseks. Lisatud on pwm-backlight draiver Pinebooki ja Pinebook Pro valgustuse juhtimiseks.
  • SCTP protokolli tugi on eraldi mooduli sctp.ko sisse viidud, mis on GENERIC tuumas vaikimisi välja lülitatud.
  • Sisendseadmete jaoks pakutakse uut usbhid draiverit, mis kasutab USB HID seadmetega töötamiseks hid raamistiku, selle asemel et kasutada ukbd, ums ja uhid draivereid.
  • cpufreq draiveris on rakendatud Intel Speed Shift tehnoloogia tugi.
  • 64-bitiste CPU ARMv8 alusel põhinevate uute plaatide tugi on lisatud, sealhulgas SoC Broadcom BCM5871X ja NXP LS1046A.
  • AMD64 arhitektuurile on rakendatud 57-bitiste virtuaaladresside (LA57) tugi. Lisatud on Hiina x86 CPU Hygon Dhyana, mis on valmistatud AMD tehnoloogiate alusel.
  • Powerpc64 arhitektuuri port on üle viidud LLVM ja ABI ELFv2 kasutusele (vanemate FreeBSD versioonide binaarfailid ei pruugi FreeBSD 13-s toimida). Powerpc64 jaoks on portitud virtio, ixl, mrsas, aacraid ja cpld draiverid.
  • Eemaldatud on draiverid vananenud Ethernet-adapterite jaoks:
    • bm(4) BMAC
    • cs(4) Crystal Semiconductor CS8900/CS8920
    • de(4) DEC DC21x4x
    • ed(4) NE-2000 ja WD-80×3
    • ep(4) 3Com Etherlink III (3c5x9) ISA
    • ex(4) Intel EtherExpress Pro/10 ja 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
  • Eemaldatud on ubsec draiverid (kryptoakseleraatorid Broadcom BCM58xx), ufm (USB-interfatsiooniga FM-tuunerid), ctau (Cronix Tau), cx (Cronix Sigma) ja vpo (paralleelpordi SCSI).

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster