سسٹمڈ سسٹم مینیجر ریلیز 243

پانچ ماہ کی ترقی کے بعد پیش کیا سسٹم مینیجر کی رہائی systemd 243. اختراعات میں سے، ہم سسٹم میں کم میموری کے لیے ہینڈلر کے PID 1 میں انضمام، یونٹ ٹریفک کو فلٹر کرنے کے لیے آپ کے اپنے BPF پروگراموں کو منسلک کرنے کے لیے تعاون، systemd-networkd کے لیے متعدد نئے اختیارات، نیٹ ورک کی بینڈوتھ کی نگرانی کے لیے ایک موڈ کو نوٹ کر سکتے ہیں۔ انٹرفیسز، 64 بٹ سسٹمز پر 22 بٹ کی بجائے 16 بٹ پی آئی ڈی نمبرز پر بطور ڈیفالٹ فعال کرنا، ایک متحد سی گروپ کے درجہ بندی میں منتقلی، سسٹم ڈی نیٹ ورک جنریٹر میں شمولیت۔

اہم تبدیلیاں:

  • میموری سے باہر ہونے کے بارے میں کرنل سے تیار کردہ سگنلز کی شناخت (آؤٹ آف میموری، او او ایم) کو PID 1 ہینڈلر میں شامل کیا گیا ہے تاکہ ان یونٹس کو منتقل کیا جا سکے جو میموری کی کھپت کی حد کو ایک خاص حالت میں پہنچ چکے ہیں اور انہیں ختم کرنے پر مجبور کرنے کی اختیاری صلاحیت کے ساتھ۔ یا بند کرو؛
  • یونٹ فائلوں کے لیے، نئے پیرامیٹرز IPIngressFilterPath اور
    IPEgressFilterPath، جو آپ کو BPF پروگراموں کو صوابدیدی ہینڈلرز کے ساتھ منسلک کرنے کی اجازت دیتا ہے تاکہ اس یونٹ سے منسلک عمل کے ذریعے پیدا ہونے والے آنے والے اور جانے والے IP پیکٹوں کو فلٹر کیا جا سکے۔ مجوزہ خصوصیات آپ کو سسٹمڈ سروسز کے لیے ایک قسم کی فائر وال بنانے کی اجازت دیتی ہیں۔ تحریری مثال BPF پر مبنی ایک سادہ نیٹ ورک فلٹر؛

  • کیش، رن ٹائم فائلز، اسٹیٹس کی معلومات اور لاگ ڈائریکٹریز کو حذف کرنے کے لیے "کلین" کمانڈ سسٹم سی ٹی ایل یوٹیلیٹی میں شامل کی گئی ہے۔
  • systemd-networkd MACsec، nlmon، IPVTAP اور Xfrm نیٹ ورک انٹرفیس کے لیے تعاون کا اضافہ کرتا ہے۔
  • systemd-networkd کنفیگریشن فائل میں "[DHCPv4]" اور "[DHCPv6]" سیکشنز کے ذریعے DHCPv4 اور DHCPv6 اسٹیک کی الگ الگ کنفیگریشن لاگو کرتا ہے۔ DHCP سرور سے موصول ہونے والے پیرامیٹرز میں متعین کردہ DNS سرور پر ایک الگ روٹ شامل کرنے کے لیے RoutesToDNS آپشن شامل کیا گیا (تاکہ DNS کو ٹریفک اسی لنک کے ذریعے بھیجا جائے جو DHCP سے موصول ہونے والے مرکزی روٹ سے ہوتا ہے)۔ DHCPv4 کے لیے نئے اختیارات شامل کیے گئے ہیں: MaxAttempts - ایڈریس حاصل کرنے کے لیے درخواستوں کی زیادہ سے زیادہ تعداد، بلیک لسٹ - DHCP سرورز کی بلیک لسٹ، SendRelease - سیشن ختم ہونے پر DHCP ریلیز پیغامات بھیجنے کو فعال کریں؛
  • سسٹمڈ تجزیہ افادیت میں نئے کمانڈز شامل کیے گئے ہیں:
    • "systemd-analyze timestamp" - وقت کی تجزیہ اور تبدیلی؛
    • "systemd-analyze timespan" - وقت کی مدت کا تجزیہ اور تبدیلی؛
    • "سسٹم ڈی اینالائز کنڈیشن" - کنڈیشن ایکس وائی زیڈ ایکسپریشنز کو پارس کرنا اور ٹیسٹ کرنا۔
    • "systemd-analyze exit-status" - ایگزٹ کوڈز کو نمبروں سے ناموں میں پارس کرنا اور تبدیل کرنا اور اس کے برعکس؛
    • "systemd-analyze unit-files" - اکائیوں اور یونٹ عرفی ناموں کے لیے فائل کے تمام راستوں کی فہرست۔
  • آپشنز SuccessExitStatus، RestartPreventExitStatus اور
    RestartForceExitStatus اب نہ صرف عددی واپسی کوڈز بلکہ ان کے ٹیکسٹ شناخت کنندگان (مثال کے طور پر، "DATAERR") کو بھی سپورٹ کرتا ہے۔ آپ "sytemd-analyze exit-status" کمانڈ کا استعمال کرتے ہوئے شناخت کنندگان کو تفویض کردہ کوڈز کی فہرست دیکھ سکتے ہیں۔

  • ورچوئل نیٹ ورک ڈیوائسز کو ڈیلیٹ کرنے کے لیے نیٹ ورک سی ٹی ایل یوٹیلیٹی میں "ڈیلیٹ" کمانڈ کو شامل کیا گیا ہے، ساتھ ہی ڈیوائس کے اعدادوشمار کو ظاہر کرنے کے لیے "—stats" آپشن؛
  • SpeedMeter اور SpeedMeterIntervalSec سیٹنگیں networkd.conf میں وقتاً فوقتاً نیٹ ورک انٹرفیس کے تھرو پٹ کی پیمائش کے لیے شامل کی گئی ہیں۔ پیمائش کے نتائج سے حاصل کردہ اعدادوشمار 'networkctl status' کمانڈ کے آؤٹ پٹ میں دیکھے جا سکتے ہیں۔
  • فائلیں بنانے کے لیے نیا یوٹیلیٹی سسٹم ڈی نیٹ ورک جنریٹر شامل کیا گیا۔
    .network، .netdev اور .link آئی پی سیٹنگز پر مبنی جب لینکس کرنل کمانڈ لائن کے ذریعے Dracut سیٹنگ فارمیٹ میں لانچ کیا گیا تو پاس کیا گیا۔

  • 64 بٹ سسٹمز پر sysctl "kernel.pid_max" ویلیو اب ڈیفالٹ 4194304 (22 بٹس کے بجائے 16 بٹ PIDs) پر سیٹ کی گئی ہے، جو PIDs تفویض کرتے وقت تصادم کے امکانات کو کم کرتی ہے، بیک وقت تعداد کی حد کو بڑھاتی ہے۔ چل رہا ہے، اور سیکورٹی پر مثبت اثر پڑتا ہے. تبدیلی ممکنہ طور پر مطابقت کے مسائل کا باعث بن سکتی ہے، لیکن ابھی تک عملی طور پر ایسے مسائل کی اطلاع نہیں دی گئی ہے۔
  • پہلے سے طے شدہ طور پر، تعمیر کا مرحلہ متحد درجہ بندی cgroups-v2 ("-Ddefault-hierarchy=unified") میں بدل جاتا ہے۔ پہلے، ڈیفالٹ ہائبرڈ موڈ تھا ("-Ddefault-hierarchy=hybrid")؛
  • سسٹم کال فلٹر (SystemCallFilter) کا رویہ تبدیل کر دیا گیا ہے، جو کہ ایک ممنوعہ سسٹم کال کی صورت میں، اب انفرادی تھریڈز کے بجائے پورے عمل کو ختم کر دیتا ہے، کیونکہ انفرادی تھریڈز کو ختم کرنے سے غیر متوقع مسائل پیدا ہو سکتے ہیں۔ تبدیلیاں صرف اس صورت میں لاگو ہوتی ہیں جب آپ کے پاس لینکس کرنل 4.14+ اور libseccomp 2.4.0+؛
  • غیر مراعات یافتہ پروگراموں کو گروپس کی پوری رینج (تمام پروسیسز کے لیے) کے لیے sysctl "net.ipv4.ping_group_range" سیٹ کرکے ICMP ایکو (پنگ) پیکٹ بھیجنے کی صلاحیت دی جاتی ہے۔
  • تعمیراتی عمل کو تیز کرنے کے لیے، مین مینوئلز کی جنریشن کو بطور ڈیفالٹ روک دیا گیا ہے (مکمل دستاویزات بنانے کے لیے، آپ کو HTML فارمیٹ میں مینوئلز کے لیے "-Dman=true" یا "-Dhtml=true" کا آپشن استعمال کرنا ہوگا)۔ دستاویزات کو دیکھنے کو آسان بنانے کے لیے، دو اسکرپٹس شامل ہیں: build/man/man اور build/man/html تاکہ دلچسپی کے مینوئلز کو تخلیق اور پیش نظارہ کیا جا سکے۔
  • قومی حروف تہجی کے حروف کے ساتھ ڈومین ناموں پر کارروائی کرنے کے لیے، libidn2 لائبریری بطور ڈیفالٹ استعمال ہوتی ہے (libidn واپس کرنے کے لیے، "-Dlibidn=true" آپشن استعمال کریں)؛
  • /usr/sbin/halt.local ایگزیکیوٹیبل فائل کے لیے سپورٹ، جس نے فعالیت فراہم کی تھی جو تقسیم میں وسیع پیمانے پر تقسیم نہیں کی گئی تھی، بند کر دی گئی ہے۔ بند ہونے پر کمانڈز کے اجراء کو منظم کرنے کے لیے، /usr/lib/systemd/system-shutdown/ میں اسکرپٹ استعمال کرنے کی سفارش کی جاتی ہے یا ایک نئی یونٹ کی وضاحت کی جاتی ہے جو final.target پر منحصر ہو۔
  • شٹ ڈاؤن کے آخری مرحلے پر، systemd اب sysctl "kernel.printk" میں لاگ لیول کو خود بخود بڑھاتا ہے، جو شٹ ڈاؤن کے بعد کے مراحل میں پیش آنے والے لاگ ایونٹس میں ڈسپلے کرنے کا مسئلہ حل کرتا ہے، جب باقاعدہ لاگنگ ڈیمونز پہلے ہی مکمل ہو چکے ہوتے ہیں۔ ;
  • journalctl اور دیگر یوٹیلٹیز میں جو لاگز دکھاتے ہیں، انتباہات کو پیلے رنگ میں ہائی لائٹ کیا جاتا ہے، اور آڈٹ ریکارڈز کو نیلے رنگ میں ہائی لائٹ کیا جاتا ہے تاکہ انہیں بھیڑ سے بصری طور پر نمایاں کیا جا سکے۔
  • $PATH ماحول کے متغیر میں، bin/ کا راستہ اب sbin/ کے راستے سے پہلے آتا ہے، یعنی اگر دونوں ڈائرکٹریوں میں قابل عمل فائلوں کے ایک جیسے نام ہیں، تو بن/ سے فائل کو عمل میں لایا جائے گا؛
  • systemd-logind ایک SetBrightness() کال فراہم کرتا ہے تاکہ ہر سیشن کی بنیاد پر سکرین کی چمک کو محفوظ طریقے سے تبدیل کیا جا سکے۔
  • آلہ کے شروع ہونے کا انتظار کرنے کے لیے "-wait-for-initialization" پرچم کو "udevadm info" کمانڈ میں شامل کر دیا گیا ہے۔
  • سسٹم بوٹ کے دوران، PID 1 ہینڈلر اب یونٹوں کے نام ان کی تفصیل کے ساتھ لائن کے بجائے دکھاتا ہے۔ ماضی کے رویے پر واپس جانے کے لیے، آپ /etc/systemd/system.conf میں StatusUnitFormat آپشن یا systemd.status_unit_format کرنل آپشن استعمال کر سکتے ہیں۔
  • واچ ڈاگ PID 1 کے لیے /etc/systemd/system.conf میں KExecWatchdogSec آپشن شامل کیا گیا، جو kexec کا استعمال کرتے ہوئے دوبارہ شروع کرنے کا ٹائم آؤٹ بتاتا ہے۔ پرانی ترتیب
    ShutdownWatchdogSec کا نام بدل کر RebootWatchdogSec رکھ دیا گیا ہے اور شٹ ڈاؤن یا نارمل ری اسٹارٹ کے دوران ملازمتوں کے لیے ٹائم آؤٹ کی وضاحت کرتا ہے۔

  • خدمات کے لیے ایک نیا آپشن شامل کیا گیا ہے۔ ExecCondition، جو آپ کو کمانڈز کی وضاحت کرنے کی اجازت دیتا ہے جو ExecStartPre سے پہلے عمل میں لائی جائیں گی۔ کمانڈ کے ذریعے واپس کیے گئے ایرر کوڈ کی بنیاد پر، یونٹ کے مزید عمل درآمد کے بارے میں فیصلہ کیا جاتا ہے - اگر کوڈ 0 واپس کر دیا جاتا ہے، تو یونٹ کا آغاز جاری رہتا ہے، اگر 1 سے 254 تک یہ خاموشی سے ناکامی کے جھنڈے کے بغیر ختم ہو جاتا ہے، اگر 255 کے ساتھ ختم ہوتا ہے۔ ناکامی کا جھنڈا؛
  • sys/fs/pstore/ سے ڈیٹا نکالنے اور مزید تجزیہ کے لیے /var/lib/pstore میں محفوظ کرنے کے لیے ایک نئی سروس systemd-pstore.service شامل کی گئی ہے۔
  • نیٹ ورک انٹرفیس کے سلسلے میں systemd-timesyncd کے لیے NTP پیرامیٹرز کو ترتیب دینے کے لیے timedatectl یوٹیلیٹی میں نئے کمانڈز شامل کیے گئے ہیں۔
  • "localectl list-locales" کمانڈ اب UTF-8 کے علاوہ دیگر مقامات کو نہیں دکھاتی ہے۔
  • اس بات کو یقینی بناتا ہے کہ sysctl.d/ فائلوں میں متغیر تفویض کی غلطیوں کو نظر انداز کر دیا جاتا ہے اگر متغیر کا نام "-" کردار سے شروع ہوتا ہے؛
  • سروس systemd-random-seed.service اب مکمل طور پر لینکس کرنل سیوڈورنڈم نمبر جنریٹر کے اینٹروپی پول کو شروع کرنے کا ذمہ دار ہے۔ ایسی خدمات جن کے لیے صحیح طریقے سے شروع کی جانے والی /dev/urandom کی ضرورت ہوتی ہے وہ systemd-random-seed.service کے بعد شروع کی جانی چاہئیں۔
  • systemd-boot بوٹ لوڈر سپورٹ کرنے کی اختیاری صلاحیت فراہم کرتا ہے۔ بیج فائل EFI سسٹم پارٹیشن (ESP) میں بے ترتیب ترتیب کے ساتھ؛
  • bootctl یوٹیلیٹی میں نئی ​​کمانڈز شامل کی گئی ہیں: ESP میں سیڈ فائل بنانے کے لیے "bootctl random-seed" اور systemd-boot بوٹ لوڈر کی انسٹالیشن چیک کرنے کے لیے "bootctl is-installed"۔ bootctl کو بوٹ اندراجات کی غلط ترتیب کے بارے میں انتباہات ظاہر کرنے کے لیے بھی ایڈجسٹ کیا گیا ہے (مثال کے طور پر، جب کرنل کی تصویر کو حذف کر دیا جاتا ہے، لیکن اسے لوڈ کرنے کے لیے اندراج باقی رہ جاتا ہے)؛
  • جب نظام سلیپ موڈ میں چلا جاتا ہے تو سویپ پارٹیشن کا خودکار انتخاب فراہم کرتا ہے۔ تقسیم کا انتخاب اس کے لیے ترتیب دی گئی ترجیح کی بنیاد پر کیا جاتا ہے، اور ایک جیسی ترجیحات کی صورت میں، خالی جگہ کی مقدار؛
  • /etc/crypttab میں keyfile-timeout آپشن شامل کیا گیا تاکہ یہ سیٹ کیا جا سکے کہ انکرپشن کلید کے ساتھ ڈیوائس انکرپٹڈ پارٹیشن تک رسائی کے لیے پاس ورڈ کا اشارہ کرنے سے پہلے کتنی دیر انتظار کرے گی۔
  • BFQ شیڈیولر کے لیے I/O ویٹ سیٹ کرنے کے لیے IOWeight آپشن شامل کیا گیا۔
  • systemd-solved نے DNS-over-TLS کے لیے 'سخت' وضع کو شامل کیا اور صرف مثبت DNS جوابات کو کیش کرنے کی صلاحیت کو نافذ کیا ("Cache no-negative" in solved.conf)؛
  • VXLAN کے لیے، systemd-networkd نے VXLAN پروٹوکول ایکسٹینشن کو فعال کرنے کے لیے GenericProtocolExtension کا اختیار شامل کیا ہے۔ VXLAN اور GENEVE کے لیے، IPDoNotFragment آپشن کو شامل کیا گیا ہے تاکہ آؤٹ گوئنگ پیکٹوں کے لیے فریگمنٹیشن پرہیبیشن فلیگ سیٹ کیا جا سکے۔
  • systemd-networkd میں، "[روٹ]" سیکشن میں، FastOpenNoCookie آپشن انفرادی روٹس کے سلسلے میں TCP کنکشنز (TFO - TCP فاسٹ اوپن، RFC 7413) کو فوری طور پر کھولنے کے طریقہ کار کو فعال کرنے کے ساتھ ساتھ TTLPpropagate آپشن کے لیے ظاہر ہوا ہے۔ ٹی ٹی ایل ایل ایس پی (لیبل سوئچڈ پاتھ) کو ترتیب دینے کے لیے۔ "Type" آپشن مقامی، براڈکاسٹ، کسی بھی کاسٹ، ملٹی کاسٹ، کسی بھی اور xresolve روٹنگ موڈز کے لیے تعاون فراہم کرتا ہے۔
  • Systemd-networkd "[نیٹ ورک]" سیکشن میں ایک DefaultRouteOnDevice آپشن پیش کرتا ہے تاکہ کسی مخصوص نیٹ ورک ڈیوائس کے لیے ڈیفالٹ روٹ کو خود بخود کنفیگر کیا جا سکے۔
  • Systemd-networkd نے ProxyARP اور شامل کیا ہے۔
    پراکسی اے آر پی رویے کو ترتیب دینے کے لیے پراکسی اے آر پی وائی فائی، ملٹی کاسٹ موڈ میں روٹنگ پیرامیٹرز کو ترتیب دینے کے لیے ملٹی کاسٹ راؤٹر، ملٹی کاسٹ کے لیے آئی جی ایم پی (انٹرنیٹ گروپ مینجمنٹ پروٹوکول) ورژن کو تبدیل کرنے کے لیے ملٹی کاسٹ آئی جی ایم پی ورژن؛

  • Systemd-networkd نے مقامی اور دور دراز کے IP پتوں کے ساتھ ساتھ نیٹ ورک پورٹ نمبر کو ترتیب دینے کے لیے FooOverUDP سرنگوں کے لیے Local، Peer اور PeerPort کے اختیارات شامل کیے ہیں۔ TUN سرنگوں کے لیے، VnetHeader آپشن کو GSO (Generic Segment Offload) سپورٹ کو ترتیب دینے کے لیے شامل کیا گیا ہے۔
  • systemd-networkd میں، نیٹ ورک اور .link فائلوں میں [Match] سیکشن میں، ایک پراپرٹی کا آپشن نمودار ہوا ہے، جو آپ کو udev میں ان کی مخصوص خصوصیات کے مطابق آلات کی شناخت کرنے کی اجازت دیتا ہے۔
  • systemd-networkd میں، سرنگوں کے لیے ایک AssignToLoopback آپشن شامل کیا گیا ہے، جو یہ کنٹرول کرتا ہے کہ آیا سرنگ کا اختتام لوپ بیک ڈیوائس "lo" کو تفویض کیا گیا ہے۔
  • systemd-networkd خود بخود IPv6 اسٹیک کو چالو کرتا ہے اگر اسے sysctl disable_ipv6 کے ذریعے بلاک کیا جاتا ہے - IPv6 کو چالو کیا جاتا ہے اگر IPv6 سیٹنگز (static یا DHCPv6) نیٹ ورک انٹرفیس کے لیے بیان کی گئی ہیں، بصورت دیگر پہلے سے سیٹ کردہ sysctl ویلیو تبدیل نہیں ہوتی ہے۔
  • نیٹ ورک فائلوں میں، کریٹیکل کنکشن سیٹنگ کو KeepConfiguration آپشن سے بدل دیا گیا ہے، جو حالات کی وضاحت کے لیے مزید ذرائع فراہم کرتا ہے ("ہاں"، "جامد"، "dhcp-on-stop"، "dhcp") جس میں systemd-networkd کو ہونا چاہیے۔ شروع ہونے پر موجودہ کنکشن کو ہاتھ نہ لگائیں؛
  • کمزوری طے کی گئی۔ CVE-2019-15718، D-Bus انٹرفیس تک رسائی کے کنٹرول کی کمی کی وجہ سے سسٹمڈ حل شدہ۔ یہ مسئلہ ایک غیر مراعات یافتہ صارف کو ایسی کارروائیوں کو انجام دینے کی اجازت دیتا ہے جو صرف منتظمین کے لیے دستیاب ہیں، جیسے کہ DNS سیٹنگز کو تبدیل کرنا اور DNS کے سوالات کو بدمعاش سرور پر بھیجنا؛
  • کمزوری طے کی گئی۔ CVE-2019-9619غیر انٹرایکٹو سیشنز کے لیے pam_systemd کو فعال نہ کرنے سے متعلق، جو فعال سیشن کی جعل سازی کی اجازت دیتا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں