Glibc 2.36 Linux සඳහා නව විශේෂාංග, වැඩිදියුණු කිරීම් සහ තවත් බොහෝ දේ සමඟ පැමිණේ

මාස හයක සංවර්ධනයෙන් පසුව, Glibc 2.36 හි නව අනුවාදය නිකුත් කිරීම නිවේදනය කරන ලදී, එය ISO C11 සහ POSIX.1-2017 ප්‍රමිතීන්ගේ අවශ්‍යතාවලට සම්පූර්ණයෙන්ම අනුකූල වන අතර නව අනුවාදයේ සංවර්ධකයින් 59 දෙනෙකුගේ නිවැරදි කිරීම් ඇතුළත් වේ.

Glibc ගැන නුහුරු නුපුරුදු අය එය කුමක්දැයි දැන සිටිය යුතුය ජීඑන්යූ සී පුස්තකාලය, සාමාන්‍යයෙන් glibc ලෙස හැඳින්වෙන්නේ සම්මත GNU C ධාවනකාල පුස්තකාලයයි. එය භාවිතා කරන පද්ධති මත මෙම සී පුස්තකාලය පද්ධති ඇමතුම් සහ අනෙකුත් මූලික කාර්යයන් සැපයීම සහ නිර්වචනය කිරීම, එය සෑම වැඩසටහනක්ම පාහේ භාවිතා කරයි. 

Glibc 2.36 හි ප්‍රධාන නව විශේෂාංග

ඉදිරිපත් කරන මෙම නව අනුවාදයේ, එය ඉස්මතු කර ඇත නව සාපේක්ෂ නැවත ස්ථානගත කිරීමේ ලිපින ආකෘතියක් සඳහා සහය එක් කරන ලදී DT_RELR, ඔබට PIE (Position Independent Executables) මාදිලියේ හවුල් වස්තු සහ සම්බන්ධිත ක්‍රියාත්මක කළ හැකි සාපේක්ෂ නැවත ස්ථානගත කිරීම් ප්‍රමාණය අඩු කිරීමට ඉඩ සලසයි. ELF ගොනු වල DT_RELR ක්ෂේත්‍රය භාවිතා කිරීම සඳහා binutils 2.38 හි හඳුන්වා දී ඇති සම්බන්ධකයේ "-z pack-relative-relocks" විකල්පය සඳහා සහය අවශ්‍ය වේ.

නව අනුවාදයේ කැපී පෙනෙන තවත් වෙනසක් වන්නේ එයයි Linux සඳහා කාර්යයන් pidfd_open, pidfd_getfd, සහ pidfd_send_signal pidfd ක්‍රියාකාරීත්වයට ප්‍රවේශය සැපයීම සඳහා ක්‍රියාත්මක කරන ලදී එය අධීක්‍ෂණය කරන ලද ගොනු වෙත ප්‍රවේශ වන ක්‍රියාවලි වඩාත් නිවැරදිව හඳුනා ගැනීමට PID නැවත භාවිත තත්ත්වයන් හැසිරවීමට උපකාරී වේ (pidfd නිශ්චිත ක්‍රියාවලියක් සමඟ සම්බන්ධ වන අතර වෙනස් නොවේ, ක්‍රියාවලිය අවසන් වූ පසු PID වෙනත් ක්‍රියාවලියකට අනුයුක්ත කළ හැක) මේ හා සම්බන්ධ වත්මන් ක්‍රියාවලිය. PID).

ඊට අමතරව, ලිනක්ස් වලද process_madvise() පැමිණේ, Que වෙනත් ක්‍රියාවලියක් වෙනුවෙන් madvise() පද්ධති ඇමතුමක් ක්‍රියාත්මක කිරීමට ක්‍රියාවලියකට ඉඩ ලබා දේ, pidfd භාවිතයෙන් ඉලක්ක ක්‍රියාවලිය හඳුනා ගැනීම. madvise() හරහා, ක්‍රියාවලියේ මතක කළමනාකරණය ප්‍රශස්ත කිරීම සඳහා මතකය සමඟ වැඩ කිරීමේ ලක්ෂණ පිළිබඳව ඔබට කර්නලය දැනුම් දිය හැකිය, උදාහරණයක් ලෙස, සම්මත වූ තොරතුරු මත පදනම්ව, කර්නලයට අමතර නිදහස් මතකයක් නිකුත් කිරීම ආරම්භ කළ හැකිය.

කාර්යය එකතු කළ බව ද සටහන් වේ process_mrelease(), එය ක්‍රියාත්මක කිරීම අවසන් කරන ක්‍රියාවලියක් සඳහා මතකය මුදා හැරීම වේගවත් කිරීමට ඔබට ඉඩ සලසයි. සාමාන්‍ය තත්වයන් යටතේ, සම්පත් මුදා හැරීම සහ ක්‍රියාවලි අවසන් කිරීම ක්ෂණික නොවන අතර විවිධ හේතු නිසා ප්‍රමාද විය හැක, oomd (systemd මගින් සපයනු ලැබේ) වැනි පරිශීලක අවකාශයේ පූර්ව අනතුරු ඇඟවීමේ පද්ධති වලට බාධා කරයි. process_mrelease ඇමතීමෙන්, මෙම පද්ධතිවලට බලහත්කාරයෙන් අවසන් කරන ලද ක්‍රියාවලීන් සඳහා මතකය ලබා ගැනීම වඩාත් පුරෝකථනය කළ හැකි ලෙස ආරම්භ කළ හැක.

අනෙක් අතට එකතු කර ඇති බව සටහන් වේ "no-aaaa" විකල්පය සඳහා සහාය ඒකාබද්ධ ක්රියාත්මක කිරීම සඳහා AAAA වාර්තා සඳහා DNS ඉල්ලීම් යැවීම අක්‍රිය කිරීමට ඔබට ඉඩ සලසන DNS විභේදනය (ධාරක නාමයෙන් IPv6 ලිපිනයක් තීරණය කිරීම), දෝශ නිරාකරණය සරල කිරීම සඳහා getaddrinfo() වැනි NSS කාර්යයන් ධාවනය කරන විට පවා. මෙම විකල්පය /etc/hosts හි අර්ථ දක්වා ඇති IPv6 ලිපින බන්ධන හැසිරවීමට සහ AI_PASSIVE ධජය සමඟ getaddrinfo() වෙත ඇමතුම් වලට බලපාන්නේ නැත.

Linux සඳහා, කාර්යයන් එකතු කරන ලදී fsopen, fsmount, move_mount, fsconfig, fspick, open_tree, සහ mount_setattr සඳහා ගොනු පද්ධති සවිකර ඇති ආකාරය පාලනය කිරීමට නව කර්නල් API වෙත ප්‍රවේශය ලබා දෙන්න කඳු නාම අවකාශයන් මත පදනම්ව. යෝජිත ශ්‍රිතයන් මඟින් පොදු mount() ශ්‍රිතය භාවිතයෙන් කලින් සිදු කරන ලද විවිධ සවි කිරීම් පියවර (සුපර් බ්ලොක් සැකසීම, ගොනු පද්ධතිය පිළිබඳ තොරතුරු ලබා ගැනීම, සවි කිරීම, සවිකිරීම් ස්ථානයට ඇමිණීම) වෙන වෙනම සැකසීමට ඉඩ ලබා දේ.

එකතු කරන ලදි කාර්යයන් arc4random, arc4random_buf සහ arc4random_uniform පද්ධති ඇමතුමට බැඳීම් සැපයීමට අහඹු ලෙස සහ අතුරු මුහුණත /dev/urrandom, උසස් තත්ත්වයේ ව්‍යාජ අහඹු සංඛ්‍යා ආපසු ලබා දීම.

Linux මත ධාවනය වන විට, ගෘහ නිර්මාණ ශිල්පය සඳහා සහය ලබා දේ. උපදෙස් කට්ටලයෙන් LoongArch Loongson 3 5000 ප්‍රොසෙසර වල භාවිතා වන අතර MIPS සහ RISC-V වලට සමාන නව RISC ISA ක්‍රියාත්මක වේ. එහි වත්මන් ස්වරූපයෙන්, ගැළපුම පමණක් පවතී 64-bit ප්‍රභේදයක් සමඟ LoongArch (LA64) වෙතින්. එය ක්‍රියාත්මක වීමට අවම වශයෙන් binutils 2.38, GCC 12 සහ Linux කර්නලය 5.19 අවශ්‍ය වේ.

කැපී පෙනෙන අනෙක් වෙනස්කම් අතර:

  • පූර්ව සම්බන්ධක යාන්ත්‍රණය, මෙන්ම ආශ්‍රිත LD_TRACE_PRELINKING සහ LD_USE_LOAD_BIAS පරිසර විචල්‍යයන් සහ සම්බන්ධක විශේෂාංග, අත්හරින ලද අතර අනාගත නිකුතුවකදී ඉවත් කරනු ලැබේ.
  • ලිනක්ස් කර්නල් අනුවාදය පරීක්ෂා කිරීමට සහ LD_ASSUME_KERNEL පරිසර විචල්‍යය හැසිරවීමට කේතය ඉවත් කරන ලදී. Glibc සම්පාදනය කිරීමේදී සහාය දක්වන අවම කර්නල් අනුවාදය ELF ක්ෂේත්‍රය NT_GNU_ABI_TAG මගින් තීරණය වේ.
  • LD_LIBRARY_VERSION පරිසර විචල්‍යය Linux වේදිකාව මත අත්හැර ඇත.

අවසාන වශයෙන්, ඔබ ඒ ගැන වැඩි විස්තර දැන ගැනීමට උනන්දුවක් දක්වන්නේ නම් ඔබට විස්තර විමසිය හැකිය පහත සබැඳියේ.


ලිපියේ අන්තර්ගතය අපගේ මූලධර්මවලට අනුකූල වේ කතුවැකි ආචාර ධර්ම. දෝෂයක් වාර්තා කිරීමට ක්ලික් කරන්න මෙන්න.

අදහස් පළ කිරීමට ප්රථම වන්න

ඔබේ අදහස තබන්න

ඔබේ ඊ-මේල් ලිපිනය පළ කරනු නොලැබේ. අවශ්ය ක්ෂේත්ර දක්වා ඇති ලකුණ *

*

*

  1. දත්ත සඳහා වගකිව යුතු: මිගෙල් ඇන්ජල් ගැටන්
  2. දත්තවල අරමුණ: SPAM පාලනය කිරීම, අදහස් කළමනාකරණය.
  3. නීත්‍යානුකූලභාවය: ඔබේ කැමැත්ත
  4. දත්ත සන්නිවේදනය: නෛතික බැඳීමකින් හැර දත්ත තෙවන පාර්ශවයකට සන්නිවේදනය නොකෙරේ.
  5. දත්ත ගබඩා කිරීම: ඔක්සෙන්ටස් නෙට්වර්ක්ස් (EU) විසින් සත්කාරකත්වය දක්වන දත්ත සමුදාය
  6. අයිතිවාසිකම්: ඕනෑම වේලාවක ඔබට ඔබේ තොරතුරු සීමා කිරීමට, නැවත ලබා ගැනීමට සහ මකා දැමීමට හැකිය.