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

پانچ ماہ کی ترقی کے بعد پیش کیا سسٹم مینیجر کی رہائی systemd 246. نئی ریلیز میں فریزنگ یونٹس کے لیے سپورٹ، ڈیجیٹل دستخط کے ذریعے روٹ ڈسک امیج کی تصدیق کرنے کی صلاحیت، ZSTD الگورتھم کا استعمال کرتے ہوئے لاگ کمپریشن اور کور ڈمپ کے لیے سپورٹ، FIDO2 ٹوکنز کا استعمال کرتے ہوئے پورٹیبل ہوم ڈائریکٹریز کو غیر مقفل کرنے کی صلاحیت، مائیکروسافٹ بٹ لاکر کو غیر مقفل کرنے کے لیے سپورٹ شامل ہے۔ پارٹیشنز بذریعہ /etc/ crypttab، بلیک لسٹ کا نام DenyList رکھ دیا گیا ہے۔

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

  • cgroups v2 پر مبنی فریزر ریسورس کنٹرولر کے لیے معاونت شامل کی گئی، جس کے ساتھ آپ عمل کو روک سکتے ہیں اور دوسرے کاموں کو انجام دینے کے لیے کچھ وسائل (CPU، I/O، اور ممکنہ طور پر میموری) کو عارضی طور پر خالی کر سکتے ہیں۔ یونٹس کی منجمد اور ڈیفروسٹنگ کو نئی "systemctl freeze" کمانڈ کے ذریعے یا D-Bus کے ذریعے کنٹرول کیا جاتا ہے۔
  • ڈیجیٹل دستخط کا استعمال کرتے ہوئے روٹ ڈسک کی تصویر کی تصدیق کے لیے معاونت شامل کی گئی۔ سروس یونٹس میں نئی ​​سیٹنگز کا استعمال کرتے ہوئے تصدیق کی جاتی ہے: روٹ ہیش (روٹ ہیش (RootImage آپشن کے ذریعے مخصوص کردہ ڈسک کی تصویر کی تصدیق کے لیے روٹ ہیش) اور RootHashSignature (روٹ ہیش کے لیے PKCS#7 فارمیٹ میں ڈیجیٹل دستخط)۔
  • PID 1 ہینڈلر ابتدائی بوٹ مرحلے پر پہلے سے مرتب کردہ AppArmor قواعد (/etc/apparmor/earlypolicy) کو خود بخود لوڈ کرنے کی صلاحیت کو نافذ کرتا ہے۔
  • نئی یونٹ فائل سیٹنگز کو شامل کیا گیا ہے: ConditionPathIsEncrypted اور AssertPathIsEncrypted کسی بلاک ڈیوائس پر مخصوص راستے کی جگہ کا تعین کرنے کے لیے جو انکرپشن (dm-crypt/LUKS)، ConditionEnvironment اور AssertEnvironment استعمال کرتا ہے تاکہ ماحولیاتی متغیرات کو چیک کیا جا سکے (مثال کے طور پر، PAM کے ذریعے سیٹ کیے گئے) کنٹینرز قائم کرتے وقت)۔
  • *.ماؤنٹ یونٹس کے لیے، ReadWriteOnly ترتیب نافذ کی گئی ہے، جو صرف پڑھنے کے موڈ میں پارٹیشن کو ماؤنٹ کرنے سے منع کرتی ہے اگر اسے پڑھنے اور لکھنے کے لیے ماؤنٹ کرنا ممکن نہ ہو۔ /etc/fstab میں اس موڈ کو "x-systemd.rw-only" اختیار کا استعمال کرتے ہوئے ترتیب دیا گیا ہے۔
  • *.socket یونٹس کے لیے، PassPacketInfo سیٹنگ کو شامل کیا گیا ہے، جو کرنل کو ساکٹ سے پڑھے جانے والے ہر پیکٹ کے لیے اضافی میٹا ڈیٹا شامل کرنے کے قابل بناتا ہے (ساکٹ کے لیے IP_PKTINFO، IPV6_RECVPKTINFO اور NETLINK_PKTINFO موڈز کو فعال کرتا ہے)۔
  • خدمات (*. سروس یونٹس) کے لیے، CoredumpFilter کی ترتیبات تجویز کی گئی ہیں (میموری سیکشنز کی وضاحت کرتا ہے جنہیں بنیادی ڈمپ میں شامل کیا جانا چاہیے) اور
    TimeoutStartFailureMode/TimeoutStopFailureMode (رویے کی وضاحت کرتا ہے (SIGTERM، SIGABRT یا SIGKILL) جب سروس شروع کرنے یا بند کرنے پر ٹائم آؤٹ ہوتا ہے)۔

  • زیادہ تر اختیارات اب "0x" سابقہ ​​کا استعمال کرتے ہوئے مخصوص کردہ ہیکساڈیسیمل اقدار کی حمایت کرتے ہیں۔
  • کلیدوں یا سرٹیفکیٹس کو ترتیب دینے سے متعلق مختلف کمانڈ لائن پیرامیٹرز اور کنفیگریشن فائلوں میں، IPC سروسز پر کالز کے ذریعے کلیدوں اور سرٹیفکیٹس کی منتقلی کے لیے یونکس ساکٹ (AF_UNIX) کا راستہ بتانا ممکن ہے جب سرٹیفکیٹ کو غیر انکرپٹڈ ڈسک پر رکھنا مناسب نہ ہو۔ ذخیرہ
  • چھ نئے تصریح کاروں کے لیے جو کہ یونٹس، tmpfiles.d/، sysusers.d/ اور دیگر کنفیگریشن فائلوں میں استعمال کیے جا سکتے ہیں کے لیے سپورٹ شامل کیا گیا ہے: موجودہ فن تعمیر کو تبدیل کرنے کے لیے %a، فیلڈز کو تبدیل کرنے کے لیے %o/%w/%B/%W مختصر میزبان نام کے متبادل کے لیے /etc/os-release اور %l سے شناخت کنندگان۔
  • یونٹ فائلز اب ".include" نحو کو سپورٹ نہیں کرتی ہیں، جسے 6 سال پہلے فرسودہ کر دیا گیا تھا۔
  • StandardError اور StandardOutput کی ترتیبات اب "syslog" اور "syslog-console" کی قدروں کو سپورٹ نہیں کرتی ہیں، جو خود بخود "جرنل" اور "جرنل + کنسول" میں تبدیل ہو جائیں گی۔
  • خود بخود بنائے گئے tmpfs پر مبنی ماؤنٹ پوائنٹس (/tmp, /run, /dev/shm، وغیرہ) کے لیے، انوڈس کے سائز اور تعداد کی حدیں فراہم کی جاتی ہیں، جو /tmp اور /dev/ کے لیے RAM سائز کے 50% کے مساوی ہیں۔ shm، اور باقی سب کے لیے 10% RAM۔
  • کرنل کمانڈ لائن کے نئے اختیارات شامل کیے گئے: ابتدائی بوٹ مرحلے پر میزبان نام سیٹ کرنے کے لیے systemd.hostname، udev.blockdev_read_only فزیکل ڈرائیوز سے منسلک تمام بلاک ڈیوائسز کو صرف پڑھنے کے موڈ تک محدود کرنے کے لیے (آپ "blockdev --setrw" کمانڈ استعمال کر سکتے ہیں۔ منتخب طور پر منسوخ کریں)، سویپ پارٹیشن کی خودکار ایکٹیویشن کو غیر فعال کرنے کے لیے systemd .swap، سسٹم کلاک کو مائیکرو سیکنڈز میں سیٹ کرنے کے لیے systemd.clock-usec، systemd.condition-needs-update اور systemd.condition-first-boot ConditionNeedsUpdate اور ConditionB کو اوور رائیڈ کرنے کے لیے چیک کرتا ہے
  • پہلے سے طے شدہ طور پر، sysctl fs.suid_dumpable کو 2 ("suidsafe") پر سیٹ کیا گیا ہے، جو suid پرچم کے ساتھ عمل کے لیے بنیادی ڈمپ کو بچانے کی اجازت دیتا ہے۔
  • فائل /usr/lib/udev/hwdb.d/60-autosuspend.hwdb کو ChromiumOS سے ہارڈ ویئر ڈیٹا بیس میں ادھار لیا گیا تھا، جس میں PCI اور USB آلات کے بارے میں معلومات شامل ہیں جو خودکار سلیپ موڈ کو سپورٹ کرتے ہیں۔
  • ایک ManageForeignRoutes کی ترتیب networkd.conf میں شامل کر دی گئی ہے، جب اسے فعال کیا جائے گا، systemd-networkd دیگر یوٹیلیٹیز کے ذریعے کنفیگر کیے گئے تمام راستوں کا نظم کرنا شروع کر دے گا۔
  • نیٹ ورک فائلوں میں ایک "[SR-IOV]" سیکشن شامل کیا گیا ہے تاکہ نیٹ ورک ڈیوائسز کو ترتیب دیا جاسکے جو SR-IOV (سنگل روٹ I/O ورچوئلائزیشن) کو سپورٹ کرتے ہیں۔
  • systemd-networkd میں، IPv4AcceptLocal ترتیب کو "[نیٹ ورک]" سیکشن میں شامل کر دیا گیا ہے تاکہ مقامی سورس ایڈریس کے ساتھ آنے والے پیکٹوں کو نیٹ ورک انٹرفیس پر موصول ہو سکے۔
  • systemd-networkd نے [HierarchyTokenBucket] اور
    [HierarchyTokenBucketClass]، "pfifo" بذریعہ [PFIFO]، "GRED" بذریعہ [GenericRandomEarlyDetection]، "SFB" بذریعہ [StochasticFairBlue]، "کیک"
    بذریعہ [CAKE]، "PIE" بذریعہ [PIE]، "DRR" بذریعہ [DeficitRoundRobinScheduler] اور
    [DeficitRoundRobinSchedulerClass]، "BFIFO" بذریعہ [BFIFO]،
    "PFIFOHeadDrop" بذریعہ [PFIFOHeadDrop]، "PFIFOFast" بذریعہ [PFIFOFast]، "HHF"
    [HeavyHitterFilter] کے ذریعے، "ETS" بذریعہ [EnhancedTransmissionSelection]،
    "QFQ" بذریعہ [QuickFairQueueing] اور [QuickFairQueueingClass]۔

  • systemd-networkd میں، DHCP کے ذریعے حاصل کردہ گیٹ وے کی معلومات کے استعمال کو غیر فعال کرنے کے لیے [DHCPv4] سیکشن میں UseGateway کی ترتیب شامل کی گئی ہے۔
  • systemd-networkd میں، [DHCPv4] اور [DHCPServer] سیکشنز میں، اضافی وینڈر آپشنز کو انسٹال اور پروسیس کرنے کے لیے SendVendorOption سیٹنگ شامل کی گئی ہے۔
  • systemd-networkd POP3، SMTP اور LPR سرورز کے بارے میں معلومات شامل کرنے کے لیے [DHCPServer] سیکشن میں EmitPOP3/POP3، EmitSMTP/SMTP اور EmitLPR/LPR اختیارات کا ایک نیا سیٹ لاگو کرتا ہے۔
  • systemd-networkd میں، [Bridge] سیکشن میں .netdev فائلوں میں، استعمال کرنے کے لیے VLAN پروٹوکول کو منتخب کرنے کے لیے ایک VLANProtocol ترتیب شامل کی گئی ہے۔
  • systemd-networkd میں، [Link] سیکشن میں .network فائلوں میں، گروپ سیٹنگ کو لنکس کے گروپ کو منظم کرنے کے لیے لاگو کیا جاتا ہے۔
  • بلیک لسٹ سیٹنگز کا نام بدل کر ڈینی لسٹ کر دیا گیا ہے (پچھلی طرف مطابقت کے لیے پرانے نام کو ہینڈل کرنا)۔
  • Systemd-networkd نے IPv6 اور DHCPv6 سے متعلق ترتیبات کا ایک بڑا حصہ شامل کیا ہے۔
  • تمام ایڈریس بائنڈنگز کو اپ ڈیٹ کرنے (لیز) پر مجبور کرنے کے لیے نیٹ ورک سی ٹی ایل میں "فورس رینیو" کمانڈ شامل کی گئی۔
  • سسٹمڈ حل شدہ میں، DNS کنفیگریشن میں، DNS-over-TLS سرٹیفکیٹ کی تصدیق کے لیے پورٹ نمبر اور میزبان کا نام بتانا ممکن ہو گیا۔ DNS-over-TLS کے نفاذ نے SNI چیکنگ کے لیے تعاون شامل کیا ہے۔
  • سسٹمڈ حل شدہ اب سنگل لیبل DNS ناموں (سنگل لیبل، ایک میزبان نام سے) کی ری ڈائریکشن کو ترتیب دینے کی صلاحیت رکھتا ہے۔
  • systemd-journald جرنلز میں بڑے فیلڈز کو کمپریس کرنے کے لیے zstd الگورتھم استعمال کرنے کے لیے مدد فراہم کرتا ہے۔ جرائد میں استعمال ہونے والی ہیش ٹیبلز میں تصادم سے بچانے کے لیے کام کیا گیا ہے۔
  • لاگ پیغامات کو ظاہر کرتے وقت دستاویزات کے لنکس کے ساتھ کلک کے قابل URLs کو journalctl میں شامل کیا گیا ہے۔
  • journald.conf میں ایک آڈٹ سیٹنگ شامل کی گئی تاکہ کنٹرول کیا جا سکے کہ آیا systemd-journald کی شروعات کے دوران آڈیٹنگ فعال ہے۔
  • Systemd-coredump میں اب zstd الگورتھم کا استعمال کرتے ہوئے کور ڈمپ کو کمپریس کرنے کی صلاحیت ہے۔
  • بنائے گئے پارٹیشن کو UUID تفویض کرنے کے لیے systemd-repart میں UUID سیٹنگ شامل کی گئی۔
  • سسٹمڈ ہومڈ سروس، جو پورٹیبل ہوم ڈائریکٹریز کا انتظام فراہم کرتی ہے، نے FIDO2 ٹوکنز کا استعمال کرتے ہوئے ہوم ڈائریکٹریز کو غیر مقفل کرنے کی صلاحیت کو شامل کیا ہے۔ LUKS پارٹیشن انکرپشن بیک اینڈ نے سیشن ختم ہونے پر فائل سسٹم کے خالی بلاکس کو خود بخود واپس کرنے کے لیے تعاون شامل کیا ہے۔ ڈیٹا کے ڈبل انکرپشن کے خلاف تحفظ میں اضافہ کیا گیا ہے اگر یہ طے کیا جاتا ہے کہ سسٹم پر /ہوم پارٹیشن پہلے سے ہی انکرپٹڈ ہے۔
  • /etc/crypttab میں ترتیبات شامل کی گئیں: استعمال کے بعد کلید کو حذف کرنے کے لیے "keyfile-erase" اور صارف کو پاس ورڈ کے لیے اشارہ کرنے سے پہلے خالی پاس ورڈ کے ساتھ پارٹیشن کو غیر مقفل کرنے کی کوشش کرنے کے لیے "keyfile-erase" (انکرپٹڈ امیجز انسٹال کرنے کے لیے مفید پہلے بوٹ کے بعد تفویض کردہ پاس ورڈ کے ساتھ، انسٹالیشن کے دوران نہیں)۔
  • systemd-cryptsetup /etc/crypttab کا استعمال کرتے ہوئے بوٹ کے وقت مائیکروسافٹ بٹ لاکر پارٹیشنز کو غیر مقفل کرنے کے لیے تعاون کا اضافہ کرتا ہے۔ پڑھنے کی صلاحیت بھی شامل کی۔
    فائلوں /etc/cryptsetup-keys.d/ سے پارٹیشنز کو خود بخود غیر مقفل کرنے کے لیے کیز .key اور /run/cryptsetup-keys.d/ .چابی.

  • .desktop autostart فائلوں سے یونٹ فائلیں بنانے کے لیے systemd-xdg-autostart-generator کو شامل کیا گیا۔
  • "bootctl" میں "reboot-to-firmware" کمانڈ شامل کی گئی۔
  • systemd-firstboot میں اختیارات شامل کیے گئے: "--image" بوٹ کرنے کے لیے ڈسک کی تصویر کی وضاحت کرنے کے لیے، "-kernel-command-line" /etc/kernel/cmdline فائل کو شروع کرنے کے لیے، "--root-password-hashed" روٹ پاس ورڈ ہیش کی وضاحت کریں، اور روٹ پاس ورڈ کو حذف کرنے کے لیے "-delete-root-password"۔

ماخذ: opennet.ru

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