2020 පළමු කාර්තුව සඳහා FreeBSD සංවර්ධන වාර්තාව

පළ කළා 2020 ජනවාරි සිට මාර්තු දක්වා FreeBSD ව්‍යාපෘතියේ සංවර්ධනය පිළිබඳ වාර්තාව. වෙනස්කම් අතර අපට සටහන් කළ හැකිය:

  • සාමාන්ය සහ පද්ධතිමය ගැටළු
    • FreeBSD-CURRENT මූලාශ්‍ර ගසෙන් GCC සම්පාදක කට්ටලය මෙන්ම භාවිතයට නොගත් gperf, gcov සහ gtc (devicetree compiler) උපයෝගිතා ඉවත් කරන ලදී. ක්ලැන්ග් සඳහා සහය නොදක්වන සියලුම වේදිකා වරායෙන් ස්ථාපනය කර ඇති බාහිර ගොඩනැගීමේ මෙවලම් භාවිතා කිරීමට මාරු කර ඇත. මූලික පද්ධතිය GCC 4.2.1 හි යල් පැන ගිය නිකුතුවක් නැව්ගත කරන ලද අතර, FreeBSD පාදක සංරචක සඳහා නුසුදුසු ලෙස සලකනු ලැබූ GPLv4.2.2 බලපත්‍රය වෙත 3 සංක්‍රමණය වීම හේතුවෙන් නව අනුවාද ඒකාබද්ධ කිරීමට නොහැකි විය. GCC 9 ඇතුළුව GCC හි වත්මන් නිකුතු තවමත් පැකේජ සහ වරායෙන් ස්ථාපනය කළ හැක.
    • Linux පරිසර අනුකරණ යටිතල පහසුකම් (Linuxulator) sendfile පද්ධති ඇමතුම, TCP_CORK මාදිලිය (nginx සඳහා අවශ්‍ය) සහ MAP_32BIT ධජය සඳහා සහය එක් කර ඇත (Ubuntu Bionic වෙතින් Mono සමඟ පැකේජ දියත් කිරීමේ ගැටලුව විසඳයි). glibc 2.30ට වඩා අලුත් (උදාහරණයක් ලෙස CentOS 8 වෙතින්) භාවිතා කරන විට DNS විභේදනය සමඟ ඇති ගැටලු විසඳා ඇත.
      අඛණ්ඩ ඒකාබද්ධතා යටිතල ව්‍යුහය මඟින් ලිනක්ස් සඳහා සහය දැක්වීම සඳහා කේතයට කරන ලද වැඩිදියුණු කිරීම් පරීක්ෂා කිරීම සඳහා ලිනක්සුලේටර් ධාවනය වන LTP (ලිනක්ස් පරීක්ෂණ ව්‍යාපෘතිය) රැකියා ක්‍රියාත්මක කිරීමේ හැකියාව සපයයි. පරීක්ෂණ 400ක් පමණ අසමත් වන අතර ඒවා නිවැරදි කිරීම අවශ්‍ය වේ (සමහර දෝෂ ව්‍යාජ ධනාත්මක නිසා ඇතිවේ, සමහරක් සුළු නිවැරදි කිරීම් අවශ්‍ය වේ, නමුත් නිවැරදි කිරීමට නව පද්ධති ඇමතුම් සඳහා සහය එක් කිරීමට අවශ්‍ය තවත් ඒවා තිබේ). Linuxulator කේතය පිරිසිදු කිරීමට සහ නිදොස්කරණය සරල කිරීමට කටයුතු කර ඇත. විස්තීරණ උපලක්ෂණ සඳහා සහය සහිත පැච් සහ fexecve පද්ධති ඇමතුම සකස් කර ඇත, නමුත් තවමත් සමාලෝචනය කර නොමැත.

    • මධ්‍යගත ප්‍රභව පාලන පද්ධතියෙන් ප්‍රභව කේත සංක්‍රමණය සිදු කිරීම සඳහා නිර්මාණය කරන ලද ක්‍රියාකාරී කණ්ඩායමේ රැස්වීම් Git විමධ්‍යගත පද්ධතියට උපවර්තනය කිරීම දිගටම සිදුවේ. සංක්‍රමණය සඳහා යෝජනා සහිත වාර්තාවක් සකස් වෙමින් පවතී.
    • В rtld (ධාවන කාල සම්බන්ධකය) වැඩිදියුණු කළ සෘජු ක්‍රියාත්මක කිරීමේ මාදිලිය (“/libexec/ld-elf.so.1 {path} {arguments}”).
    • syzkaller පද්ධතිය භාවිතයෙන් FreeBSD කර්නලය නොපැහැදිලි පරීක්ෂා කිරීමේ ව්‍යාපෘතිය අඛණ්ඩව සංවර්ධනය වෙමින් පවතී. වාර්තාකරණ කාල සීමාව තුළ, syzkaller භාවිතයෙන් හඳුනාගත් ගොනු විස්තර කිරීමේ වගු සමඟ වැඩ කිරීම සඳහා ජාල තොගයේ ගැටළු සහ කේතය ඉවත් කරන ලදී. දෝෂ නිර්ණයට පසුව, දෝශ නිරාකරණය පහසු කිරීම සඳහා SCTP තොගයට වෙනස්කම් එකතු කර ඇත. විය හැකි ප්‍රතිගාමීතා හඳුනා ගැනීමට ආතති2 කට්ටලයට නීති එකතු කරන ලදී. copy_file_range(), __realpathat() සහ Capsicum උප පද්ධති ඇමතුම් ඇතුළුව, නව පද්ධති ඇමතුම් සඳහා fuzz පරීක්ෂණ සඳහා සහය එක් කරන ලදී. ලිනක්ස් අනුකරණ ස්තරය නොපැහැදිලි පරීක්ෂණයකින් ආවරණය කිරීමට වැඩ දිගටම කරගෙන යයි. අපි නවතම Coverity Scan වාර්තාවල සටහන් කර ඇති දෝෂ විශ්ලේෂණය කර ඉවත් කළෙමු.
    • අඛණ්ඩ ඒකාබද්ධ කිරීමේ පද්ධතිය ක්ලැන්ග්/එල්එල්ඩී භාවිතයෙන් පමණක් සියලුම ප්‍රධාන ශාඛා පරීක්ෂණ ක්‍රියාත්මක කිරීමට මාරු වී ඇත. RISC-V සඳහා පරීක්‍ෂා කරන විට, OpenSBI භාවිතයෙන් QEMU හි ධාවන පරීක්ෂණ සඳහා සම්පූර්ණ තැටි රූපයක් සෑදීම සහතික කෙරේ. පින්තූර සහ powerpc64 අතථ්‍ය යන්ත්‍ර පරීක්ෂා කිරීම සඳහා නව කාර්යයන් එක් කරන ලදී (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • නව ගෘහ නිර්මාණ ශිල්පය සඳහා ක්යුවා භාවිතා කරන විට පැන නගින ගැටළු (පැකේජ ඉතා සෙමින් ස්ථාපනය කර ඇත) විසඳීම සඳහා ක්යුවා පරීක්ෂණ කට්ටලය වරායෙන් (ඩෙවෙල් / ක්යුවා) මූලික පද්ධතියට මාරු කිරීමේ කටයුතු සිදු වෙමින් පවතී, ඒ සඳහා සංවර්ධනය ඉමුලේටරයක් ​​භාවිතයෙන් සිදු කෙරේ. FPGA. පාදක පද්ධතියට ඒකාබද්ධ කිරීම මගින් කාවැද්දූ වේදිකා සහ අඛණ්ඩ ඒකාබද්ධතා පද්ධති සමඟ අතුරු මුහුණත පරීක්ෂා කිරීම සැලකිය යුතු ලෙස සරල කරනු ඇත.
    • ජාල පාලම් ධාවකයේ ක්‍රියාකාරිත්වය ප්‍රශස්ත කිරීම සඳහා ව්‍යාපෘතියක් දියත් කර ඇත if_bridge, අභ්‍යන්තර දත්ත අගුළු දැමීම සඳහා තනි mutex භාවිතා කරන අතර, සිරගෙවල් පරිසරයන් විශාල සංඛ්‍යාවක් හෝ එක් ජාලයක් තුළ ඒකාබද්ධ වූ අතථ්‍ය යන්ත්‍ර සහිත පද්ධති මත අපේක්ෂිත කාර්ය සාධනය ලබා ගැනීමට ඉඩ නොදේ. මෙම අදියරේදී, අගුල් සමඟ වැඩ කිරීම නවීකරණය කිරීමේදී ඇතිවන පසුබෑම වැළැක්වීම සඳහා කේතයට පරීක්ෂණ එකතු කර ඇත. දත්ත හුවමාරු හසුරුවන්න (bridge_input(), bridge_output(), bridge_forward(), ...) සමාන්තර කිරීමට ConcurrencyKit භාවිතා කිරීමේ හැකියාව සලකා බලමින් පවතී.
    • ව්‍යතිරේක හසුරුවන්නන්ගේ කාර්ය සාධනය වැඩි දියුණු කිරීම සඳහා වේගවත් සංඥා හසුරුවන්නක් සඳහා මතක කොටස නියම කිරීමට නූලකට ඉඩ දීම සඳහා නව sigfastblock පද්ධති ඇමතුමක් එක් කරන ලදී.
    • ARMv8.1 පද්ධති මගින් සහය දක්වන LSE (Large System Extension) පරමාණුක උපදෙස් සඳහා කර්නලය සහය එක් කරයි. Cavium ThunderX2 සහ AWS Graviton 2 පුවරු මත ධාවනය වන විට කාර්ය සාධනය වැඩි දියුණු කිරීමට මෙම උපදෙස් අවශ්‍ය වේ. එකතු කරන ලද වෙනස්කම් LSE සහාය හඳුනාගෙන ඒවා මත පදනම් වූ පරමාණු ක්‍රියාත්මක කිරීම ගතිකව සක්‍රීය කරයි. පරීක්ෂා කිරීමේදී, LSE භාවිතය නිසා කර්නලය එකලස් කිරීමේදී ගතවන ප්‍රොසෙසර කාලය 15% කින් අඩු කිරීමට හැකි විය.
    • කාර්ය සාධන ප්‍රශස්තිකරණය සිදු කර ඇති අතර ELF ආකෘතියේ ක්‍රියාත්මක කළ හැකි ගොනු සඳහා මෙවලම් කට්ටලයේ ක්‍රියාකාරීත්වය පුළුල් කර ඇත.
      DWARF දෝශ නිරාකරණ තොරතුරු හැඹිලිගත කිරීම සඳහා සහය එක් කරන ලදී, elfcopy/objcopy උපයෝගිතා වල ගැටළු විසඳා ඇත, DW_AT_ranges සැකසුම් එකතු කරන ලදී,
      readelf විසින් PROTMAX_DISABLE, STKGAP_DISABLE සහ WXNEEDED ධජ මෙන්ම Xen සහ GNU Build-ID විකේතනය කිරීමේ හැකියාව ක්‍රියාත්මක කරයි.

  • Безопасность
    • Azure ක්ලවුඩ් පරිසරයන්හි FreeBSD කාර්ය සාධනය වැඩි දියුණු කිරීම සඳහා, HyperV Socket යාන්ත්‍රණය සඳහා සහය ලබා දීමට කටයුතු කරමින් පවතින අතර, ජාලයක් පිහිටුවීමකින් තොරව ආගන්තුක පද්ධතිය සහ සත්කාරක පරිසරය අතර අන්තර්ක්‍රියා සඳහා සොකට් අතුරු මුහුණතක් භාවිතා කිරීමට ඉඩ සලසයි.
    • FreeBSD පුනරාවර්තනය කළ හැකි ගොඩනැගීම් සැපයීම සඳහා වැඩ කරමින් පවතී, පද්ධති සංරචකවල ක්‍රියාත්මක කළ හැකි ගොනු ප්‍රකාශිත මූලාශ්‍ර කේත වලින් හරියටම සම්පාදනය කර ඇති අතර බාහිර වෙනස්කම් අඩංගු නොවන බව සහතික කිරීමට හැකි වේ.
    • තනි ක්‍රියාවලි මට්ටමින් අතිරේක ආරක්ෂණ යාන්ත්‍රණ (ASLR, PROT_MAX, stack gap, W+X සිතියම්කරණය) ඇතුළත් කිරීම පාලනය කිරීමේ හැකියාව elfctl උපයෝගීතාවයට එකතු කර ඇත.
  • ගබඩා සහ ගොනු පද්ධති
    • RPC පණිවිඩ සංකේතනය කිරීමට පමණක් සීමා වූ සහ මෘදුකාංග තුළ පමණක් ක්‍රියාත්මක වන Kerberos (sec=krb1.3p මාදිලිය) වෙනුවට TLS 5 මත පදනම් වූ සංකේතාත්මක සන්නිවේදන නාලිකාවක් හරහා NFS ක්‍රියාත්මක වීමේ හැකියාව ක්‍රියාත්මක කිරීමට කටයුතු කරමින් පවතී. නව ක්‍රියාත්මක කිරීම දෘඪාංග ත්වරණය සක්‍රීය කිරීමට කර්නලය සපයන TLS තොගය භාවිතා කරයි. TLS කේත හරහා NFS පරීක්‍ෂාවට බොහෝ දුරට සූදානම්, නමුත් තවමත් අත්සන් කරන ලද සේවාදායක සහතික සඳහා සහය දැක්වීමට සහ NFS දත්ත යැවීමට කර්නල් TLS ස්ටැක් අනුවර්තනය කිරීමට අවශ්‍ය වේ (ලැබීම සඳහා පැච් දැනටමත් සූදානම්).
  • දෘඪාංග සහාය
    • AMD තාක්ෂණය මත පදනම් වූ Chinese x86 CPU Hygon සඳහා සහය එක් කිරීමට කටයුතු සිදු වෙමින් පවතී;
    • CheriBSD හි කොටසක් ලෙස, පර්යේෂණ සකසන ගෘහ නිර්මාණ ශිල්පය සඳහා FreeBSD හි දෙබලකි චෙරි (Capability Hardware Enhanced RISC උපදෙස්), ARM Morello ප්‍රොසෙසරය සඳහා සහය අඛණ්ඩව ක්‍රියාත්මක වෙමින් පවතින අතර, එය Capsicum ව්‍යාපෘති ආරක්ෂණ ආකෘතිය මත පදනම් වූ CHERI මතක ප්‍රවේශ පාලන පද්ධතියට සහාය වනු ඇත. මොරෙලෝ චිප් සැලසුම් කරමින් සිටිති 2021 දී නිකුත් කරන්න. Morello බලගන්වන Arm Neoverse N1 වේදිකාව සඳහා සහය එක් කිරීමට දැනට කටයුතු අවධානය යොමු කර ඇත. RISC-V ගෘහ නිර්මාණ ශිල්පය සඳහා CheriBSD හි ආරම්භක වරායක් ඉදිරිපත් කර ඇත. MIPS64 ගෘහ නිර්මාණ ශිල්පය මත පදනම් වූ CHERI යොමු මූලාකෘතිය සඳහා CheriBSD සංවර්ධනය දිගටම පවතී.
    • ARMv64 Cortex-A1046 ප්‍රොසෙසරය මත පදනම් වූ 8-bit SoC NXP LS72A සඳහා FreeBSD porting අඛණ්ඩව පවතී, ඒකාබද්ධ ජාල පැකට් සැකසුම් ත්වරණ එන්ජිමක්, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 සහ USB 3.0. දැනට, රියදුරන් QorIQ සහ LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI ප්‍රධාන FreeBSD සංයුතියට මාරු කිරීම සඳහා සූදානම් වෙමින් පවතී.
    • 2.1.1 Gb/ දක්වා වේගයකින් EC2 නෝඩ් අතර සන්නිවේදනය සංවිධානය කිරීම සඳහා Elastic Compute Cloud (EC2) යටිතල ව්‍යුහයේ භාවිතා වන ENAv2 (Elastic Network Adapter) ජාල ඇඩැප්ටරවල දෙවන පරම්පරාව සඳහා සහය ඇතිව ena ධාවකය 25 අනුවාදයට යාවත්කාලීන කර ඇත. s. ENA 2.2.0 වෙත යාවත්කාලීනයක් සූදානම් වෙමින් පවතී.
    • Powerpc64 වේදිකාව සඳහා FreeBSD වරායේ වැඩිදියුණු කිරීම් දිගටම කරගෙන යයි. IBM POWER8 සහ POWER9 ප්‍රොසෙසර සහිත පද්ධතිවල ගුණාත්මක කාර්ය සාධනය සැපයීම කෙරෙහි අවධානය යොමු කෙරේ. වාර්තාකරණ කාලය තුළ, GCC වෙනුවට LLVM/Clang 10.0 සම්පාදකය සහ lld සම්බන්ධකය භාවිතා කිරීමට FreeBSD-CURRENT මාරු කරන ලදී. පෙරනිමියෙන්, powerpc64 පද්ධති ELFv2 ABI භාවිතා කරන අතර ELFv1 ABI සඳහා වන සහාය අත්හිටුවා ඇත. FreeBSD-STABLE තවමත් gcc 4.2.1 ඇත. virtio, aacraid සහ ixl ධාවකයන්ගේ ගැටළු නිරාකරණය කර ඇත. powerpc64 පද්ධති මත විශාල පිටු සහය නොමැතිව QEMU ධාවනය කළ හැක.
    • RISC-V ගෘහනිර්මාණ ශිල්පය සඳහා සහය ක්‍රියාත්මක කිරීමේ වැඩ කටයුතු දිගටම කරගෙන යයි. එහි වත්මන් ස්වරූපයෙන්, ධාවක සකස් කර ඇති SiFive Hifive Unleshed පුවරුව මත FreeBSD දැනටමත් සාර්ථකව ආරම්භ වේ.
      UART, SPI සහ PRCI, OpenSBI සහ SBI 0.2 ස්ථිරාංග සඳහා සහය දක්වයි. වාර්තාකරණ කාලය තුළ, GCC සිට clang සහ lld වෙත සංක්‍රමණය වීම කෙරෙහි අවධානය යොමු විය.

  • යෙදුම් සහ වරාය පද්ධතිය
    • FreeBSD ports එකතුව වරායන් 39 සීමාව පසුකර ඇත, වසා නොදැමූ PR ගණන 2400 ඉක්මවන අතර ඉන් PR 640ක් තවමත් වර්ග කර නොමැත. වාර්තාකරණ කාලය තුළ සංවර්ධකයින් 8146 කින් වෙනස්කම් 173 ක් සිදු කරන ලදී. නව සහභාගිවන්නන් හතර දෙනෙකුට කමිටර් අයිතිවාසිකම් ලැබුණි (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). USES=qca ධජය එකතු කර USES=zope ධජය ඉවත් කර ඇත (Python 3 සමඟ නොගැලපීම හේතුවෙන්). Python 2.7 පෝට් ගසෙන් ඉවත් කිරීමට කටයුතු කරමින් පවතී - සියලුම Python 2-පාදක වරායන් Python 3 වෙත ගෙන යා යුතුය නැතහොත් ඉවත් කරනු ලැබේ. pkg පැකේජ කළමනාකරු 1.13.2 නිකුත් කිරීමට යාවත්කාලීන කර ඇත.
    • යාවත්කාලීන කරන ලද ග්‍රැෆික් තොග සංරචක සහ xorg ආශ්‍රිත වරායන්.
      X.org සේවාදායකය 1.20.8 අනුවාදයට යාවත්කාලීන කර ඇත (පෙර 1.18 ශාඛාවේ නැව්ගත කරන ලදී), එමඟින් FreeBSD හට ආදාන උපාංග හැසිරවීම සඳහා udev/evdev පසුපෙළ භාවිතා කිරීමට පෙරනිමි කිරීමට ඉඩ ලබා දුන්නේය. පෙරනිමියෙන් DRI3 වෙනුවට DRI2 දිගුව භාවිතා කිරීමට Mesa පැකේජය මාරු කර ඇත. ග්‍රැෆික් ධාවක, ආදාන උපාංග තොගය සහ drm-kmod සංරචක (ලිනක්ස් කර්නලයේ Direct Rendering Manager සමඟ ගැළපීම සඳහා linuxkpi රාමුව භාවිතා කරමින් amdgpu, i915 සහ radeon DRM මොඩියුලවල ක්‍රියාකාරිත්වය සක්‍රීය කරන වරායක්) තබා ගැනීමට කටයුතු කරමින් පවතී. යාවත්කාලීනව.

    • KDE Plasma desktop, KDE Frameworks, KDE යෙදුම් සහ Qt යාවත්කාලීනව තබා ඇති අතර නවතම නිකුතු වෙත යාවත්කාලීන වේ. නව යෙදුමක් kstars (star atlas) වරායට එක් කර ඇත.
    • Xfce 4 අනුවාදයට යාවත්කාලීන කිරීමෙන් පසු දර්ශනය වූ xfwm4.14 කවුළු කළමනාකරු තුළ ප්‍රතිගාමී වෙනස්කම් ඉවත් කිරීමට කටයුතු කර ඇත (උදාහරණයක් ලෙස, කවුළු අලංකාර කිරීමේදී කෞතුක වස්තු දර්ශනය විය).
    • වයින් 5.0 නිකුත් කිරීම සඳහා වයින් වරාය යාවත්කාලීන කර ඇත (පෙර 4.0.3 ඉදිරිපත් කරන ලදී).
    • 1.14 අනුවාදයෙන් පටන් ගෙන, Go භාෂා සම්පාදකය FreeBSD 64 සඳහා ARM12.0 ගෘහ නිර්මාණ ශිල්පය සඳහා නිල සහාය එක් කළේය.
    • මූලික පද්ධතියේ OpenSSH 7.9p1 මුදා හැරීමට යාවත්කාලීන කර ඇත.
    • sysctlmibinfo2 පුස්තකාලය ක්‍රියාත්මක කර වරායන් (devel/libsysctlmibinfo2) තුළ තබා ඇත, sysctl MIB වෙත ප්‍රවේශ වීමට සහ sysctl නම් වස්තු හඳුනාගැනීම් (OIDs) බවට පරිවර්තනය කිරීමට API සපයයි.
    • බෙදාහැරීමේ යාවත්කාලීනයක් ජනනය කර ඇත NomadBSD 1.3.1, එය USB ධාවකයකින් ආරම්භ කළ හැකි අතේ ගෙන යා හැකි ඩෙස්ක්ටොප් එකක් ලෙස භාවිතා කිරීම සඳහා අනුවර්තනය කරන ලද FreeBSD සංස්කරණයකි. චිත්රක පරිසරය කවුළු කළමනාකරු මත පදනම් වේ විවෘත පෙට්ටිය. ධාවක සවි කිරීම සඳහා භාවිතා වේ DSBMD (CD9660, FAT, HFS+, NTFS, Ext2/3/4 සවිකිරීම සහය දක්වයි), රැහැන් රහිත ජාලයක් වින්‍යාස කිරීමට - wifimgr, සහ පරිමාව පාලනය කිරීමට - DSBMixer.
    • පටන් ගත්තා වැඩ බන්ධනාගාර පරිසර කළමනාකරු සඳහා සම්පූර්ණ ලියකියවිලි ලිවීම මත බඳුන්. පොට් 0.11.0 නිකුත් කිරීම සඳහා සූදානම් වෙමින් පවතී, ජාල තොගය කළමනාකරණය කිරීම සඳහා මෙවලම් ඇතුළත් වේ.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න