چھ ماہ کی ترقی کے بعد، سسٹم مینیجر systemd 257 کی ریلیز میں کلیدی تبدیلیاں پیش کی گئیں: نئی یوٹیلیٹیز systemd-sbsign اور systemd-keyutil، MPTCP کے لیے سپورٹ جب ایک ساکٹ پر فعال ہو، Musl C لائبریری کے ساتھ تعمیر کے لیے ابتدائی مدد۔ systemd-sysupdate کے ذریعے اپ ڈیٹس کی تنصیب کا انتظام کرنے کے لیے updatectl یوٹیلیٹی، علیحدہ PID نام کی جگہوں میں خدمات شروع کرنے کی صلاحیت، "systemd-tmpfiles —purge" استعمال کرتے وقت فائلوں کے حادثاتی طور پر حذف ہونے سے تحفظ۔
نئی ریلیز میں تبدیلیوں میں سے:
- Добавлена новая утилита systemd-sbsign для заверения цифровой подписью исполняемых файлов в формате PE (Portable Executable), предназначенных для использования при загрузке в режиме EFI Secure Boot. Для формирования подписи могут использоваться движки и провайдеры, предоставляемые библиотекой OpenSSL. Systemd-sbsign может применяться в качестве альтернативы приложениям sbsigntool и pesign в утилите ukify при формировании универсальных образов ядра UKI (Unified Kernel Image), объединяющих в одном файле загрузчик для UEFI (UEFI boot stub), образ ядра Linux اور initrd سسٹم کا ماحول میموری میں بھرا ہوا ہے۔
- ایک نئی افادیت، systemd-keyutil، شامل کی گئی ہے جو پرائیویٹ کیز اور X.509 سرٹیفکیٹس پر مختلف کارروائیوں کو نافذ کرتی ہے۔ مثال کے طور پر، systemd-keyutil کا استعمال پرائیویٹ کیز اور سرٹیفکیٹس کو لوڈ کرنے کی صلاحیت کو جانچنے اور PEM فارمیٹ میں ان سے پبلک کیز نکالنے کے لیے کیا جا سکتا ہے۔
- ساکٹ ایکٹیویشن میکانزم کے آپریشن کو یقینی بنانے کے لیے استعمال ہونے والے "ساکٹ" یونٹس میں (نیٹ ورک کنکشن قائم کرنے کی کوشش کرتے وقت عمل شروع کرتے ہیں)، MPTCP (Multipath TCP) کے لیے سپورٹ لاگو کیا جاتا ہے، TCP پروٹوکول کی ایک توسیع جس میں پیکٹوں کی ترسیل کے ساتھ مختلف نیٹ ورک کے مختلف راستوں کے ذریعے بیک وقت پیکٹوں کی ترسیل کو منظم کیا جاتا ہے۔ IP پتے.
- معیاری Musl C لائبریری کا استعمال کرتے ہوئے بنانے کے لیے ضروری تبدیلیاں شامل ہیں۔
- В различные компоненты systemd, выводящие индикаторы прогресса выполнения операций (например, systemd-repart, systemd-sysupdate/updatectl и importctl), добавлена возможность использования ANSI-последовательностей для анимирования отображения прогресса. Подобные последовательности пока поддерживаются только в Windows Terminal (предполагается, что со временем подобная возможность будет перенесена и в эмуляторы терминалов для Linux).
- systemd-sysupdate جزو کی صلاحیتوں کو بڑھا دیا گیا ہے، جو خود بخود پتہ لگانے، ڈاؤن لوڈ کرنے اور اپ ڈیٹس کو پارٹیشنز، فائلوں یا ڈائریکٹریز کو تبدیل کرنے کے لیے ایک ایٹم میکانزم کا استعمال کرتے ہوئے انسٹال کرنے کے لیے استعمال کیا جاتا ہے (دو آزاد پارٹیشنز/فائلز/ڈائریکٹریز استعمال کیے جاتے ہیں، جن میں سے ایک موجودہ ورکنگ پر مشتمل ہے۔ ریسورس، اور دوسرا اگلا انسٹال کرتا ہے) اپ ڈیٹ، جس کے بعد سیکشنز/فائلز/ڈائریکٹریز کو تبدیل کیا جاتا ہے)۔ عملی طور پر، GNOME OS میں systemd-sysupdate پہلے ہی استعمال ہوتا ہے۔
systemd-sysupdate کے عمل کے علاوہ، اسی نام کی ایک سروس شامل کی گئی ہے جو D-Bus کو غیر مراعات یافتہ صارف کے سسٹم اپ ڈیٹس کو منظم کرنے کے لیے استعمال کرنے کی اجازت دیتی ہے۔ سروس کو منظم کرنے کے لیے، ایک نئی اپڈیٹیکٹ ایل یوٹیلیٹی بھی شامل ہے۔ نیٹ ورک پر میٹا ڈیٹا کی ڈاؤن لوڈنگ کو غیر فعال کرنے اور مقامی سسٹم میں پہلے سے ڈاؤن لوڈ کردہ ورژنز کا استعمال کرنے کے لیے systemd-sysupdate میں "--آف لائن" جھنڈا شامل کیا گیا۔ تمام کمانڈز کے لیے JSON فارمیٹ میں آؤٹ پٹ کے لیے تعاون شامل کیا گیا۔
- سروسز کے لیے ایک نئی پراپرٹی "PrivatePIDs" لاگو کی گئی ہے، جس کے ساتھ آپ PID 1 (init process) کے ساتھ ایک علیحدہ پراسیس آئیڈینٹیفائر اسپیس (PID namespace) میں پراسیس کے آغاز کو منظم کر سکتے ہیں۔ لانچ شدہ عمل کے لیے بنائے گئے ماحول میں، اس کے لیے بنائے گئے نام کی جگہ سے صرف عمل ہی نظر آئیں گے۔
- udev قواعد میں کیس غیر حساس مماثلتوں کے لیے تعاون شامل کیا گیا (جیسے 'ATTR{foo}==i»abcd»')۔ udev کا استعمال کرتے ہوئے، غیر مراعات یافتہ مقامی صارفین کو /dev/udmabuf ڈیوائس تک رسائی ("uaccess") فراہم کرنا ممکن ہے، جو libcamera کے ذریعے IPMI کیمروں کے ساتھ کام کرنے کے لیے ضروری ہے۔ udev ایک USB انٹرفیس کے ساتھ مختلف ہارڈویئر کرپٹو والٹس کی شناخت فراہم کرتا ہے اور ان کے لیے ID_HARDWARE_WALLET پراپرٹی سیٹ کرتا ہے، جو آپ کو غیر مراعات یافتہ صارفین کی رسائی کے لیے ان پر "uaccess" موڈ لاگو کرنے کی اجازت دیتا ہے۔
- نئی فیلڈز RELEASE_TYPE، EXPERIMENT اور EXPERIMENT_URL کو /etc/os-release فائل میں شامل کر دیا گیا ہے۔ "RELEASE_TYPE" مستحکم ورژن کو ترقی اور تجرباتی تعمیرات سے الگ کرنے کے لیے "تجرباتی"، "ترقی"، "مستحکم" اور "lts" کی قدریں لے سکتا ہے۔ EXPERIMENT اور EXPERIMENT_URL پیرامیٹرز کا مقصد تجرباتی تعمیر کے جوہر کی وضاحت کرنا ہے۔
- Run0 یوٹیلیٹی، جو sudo پروگرام کے متبادل کے طور پر تیار کی گئی ہے، نے "--shell-prompt-prefix" آپشن شامل کیا ہے، جو کمانڈ شیل پرامپٹ کے لیے پریفکس سٹرنگ کی وضاحت کرتا ہے۔ بذریعہ ڈیفالٹ، ایموجی "🦸" کو بصری طور پر ایک بلند سیشن کو نمایاں کرنے کے لیے بطور سابقہ ظاہر کیا جاتا ہے۔
- systemd-tmpfiles میں، غلطی سے غلط فائلوں کو ڈیلیٹ کرنے سے بچنے کے لیے، "--purge" آپشن اب صرف tmpfiles.d/ کی سیٹنگز پر لاگو ہوتا ہے جس میں "$" جھنڈا واضح طور پر سیٹ کیا گیا ہے۔ "--purge" آپریشن کے لیے بھی اب tmpfiles.d/ ڈائریکٹری سے کم از کم ایک فائل کی وضاحت کی ضرورت ہے۔ 'L' قسم کے سٹرنگز کے لیے، '؟' جھنڈا شامل کر دیا گیا ہے، جب مخصوص کیا جائے تو ایک علامتی لنک صرف اس صورت میں بنایا جائے گا جب ہدف فائل موجود ہو۔
- سروس مینیجر اور متعلقہ یوٹیلیٹیز میں، پروسیس ٹریکنگ کوڈ PID کی بجائے PIDFD استعمال کرنے کے لیے تبدیل ہوتا رہتا ہے۔ ایک PIDFD ایک مخصوص عمل سے منسلک ہوتا ہے اور اس میں کوئی تبدیلی نہیں ہوتی، جبکہ PID اس PID سے وابستہ موجودہ عمل کے ختم ہونے کے بعد کسی اور عمل سے منسلک ہو سکتا ہے۔
- خدمات کے لیے، اب "ریسٹارٹ موڈ" پیرامیٹر میں "ڈیبگ" کی قدر کی وضاحت کرنا ممکن ہے، جس میں ناکام سروس ڈیبگ موڈ فعال ہونے کے ساتھ دوبارہ شروع کی جائے گی (ماحولیاتی متغیر DEBUG_INVOCATION=1 سیٹ ہے)، اور LogLevelMax قدر ہو گی۔ عارضی طور پر ڈیبگ لیول تک بڑھایا گیا۔
- PID 1 ہینڈلر کے پاس IPE (انٹیگریٹی پالیسی انفورسمنٹ) LSM ماڈیول کے لیے قواعد لوڈ کرنے کی صلاحیت ہے، جو پورے سسٹم کے لیے انٹیگریٹی پالیسی کی وضاحت کرتا ہے (کن آپریشنز کی اجازت ہے اور اجزاء کی صداقت کی تصدیق کیسے کی جانی چاہیے)۔
- "DeferReactivation" آپشن کو ".timer" یونٹ فائلوں میں شامل کر دیا گیا ہے، جو آپ کو اگلی ٹائمر ایکٹیویشن کو چھوڑنے کی اجازت دیتا ہے اگر سروس نے آخری ایکٹیویشن کے بعد سے ابھی تک اپنا عمل مکمل نہیں کیا ہے۔
- PrivateUsers یونٹ فائل پیرامیٹر میں، اب صارف نام کی جگہ بناتے وقت یوزر آئی ڈی کی میپنگ کو فعال کرنے کے لیے "شناخت" کی قدر کا تعین کرنا ممکن ہے۔
- PrivateTmp یونٹ فائل پیرامیٹر میں "منقطع" قدر کے لیے تعاون شامل کیا گیا، جو /tmp/ اور /var/tmp/ ڈائریکٹریز کے لیے علیحدہ tmpfs مثالیں استعمال کرے گا۔
- نئے "نجی" اور "سخت" طریقوں کے لیے سپورٹ کو ProtectControlGroups یونٹ فائل پیرامیٹر میں شامل کر دیا گیا ہے، سیٹ ہونے پر، سروس کے لیے ایک نیا cgroup namespace بنایا جاتا ہے اور cgroupfs کو نصب کیا جاتا ہے۔ جب "سخت" اختیار سیٹ کیا جاتا ہے، cgroupfs کو صرف پڑھنے کے موڈ میں نصب کیا جاتا ہے۔
- StateDirectory، RuntimeDirectory، CacheDirectory، LogsDirectory اور ConfigurationDirectory پیرامیٹرز متعلقہ ڈائریکٹریوں تک رسائی کو صرف پڑھنے کے موڈ تک محدود کرنے کے لیے ':ro' پرچم استعمال کرنے کی صلاحیت فراہم کرتے ہیں۔
- "systemd.machine_id" کرنل کمانڈ لائن پیرامیٹر میں "فرم ویئر" ویلیو کے لیے سپورٹ شامل کیا گیا، جس میں SMBIOS/DeviceTree سے UUID کی بنیاد پر سسٹم شناخت کنندہ (مشین آئی ڈی) کا حساب لگایا جائے گا۔
- Добавлена поддержка системных вызовов mseal(), listmount() и statmount(), появившихся в недавних выпусках ядра Linux.
- ریزولکٹل، ٹائم ڈیٹیکٹل اور سسٹمڈ انہیبیٹ یوٹیلیٹیز اب پولکیٹ کا استعمال کرتے ہوئے انٹرایکٹو اجازت کی حمایت کرتی ہیں۔
- systemctl یوٹیلیٹی نے "--now" پرچم کو "reenable" کمانڈ میں استعمال کرنے کی صلاحیت شامل کی ہے۔
- JSON فارمیٹ میں آؤٹ پٹ کے لیے systemd-mount یوٹیلیٹی میں "-json" آپشن شامل کیا گیا (مثال کے طور پر، جب "-list-devices" کے ساتھ مخصوص کیا جائے تو آلات کی فہرست JSON فارمیٹ میں آؤٹ پٹ ہو گی)۔
- آؤٹ پٹ کے دوران لمبی لائنوں کو تراشنا غیر فعال کرنے کے لیے "localectl" یوٹیلیٹی میں "-l" اور "--full" اختیارات شامل کیے گئے۔
- HibernateOnACPower آپشن کو sleep.conf میں شامل کر دیا گیا ہے، جو آپ کو اس وقت تک سلیپ موڈ پر سوئچ کرنے میں تاخیر کرنے دیتا ہے جب تک کہ ڈیوائس اسٹیشنری پاور سورس سے منقطع نہ ہو جائے۔
- systemd-sysusers میں، "!" کے لیے سپورٹ کو "u" لائنوں میں شامل کر دیا گیا ہے، جس کے ساتھ آپ مکمل طور پر مقفل صارف اکاؤنٹس بنا سکتے ہیں (پہلے، صارف کو بلاک کرنے کے لیے غلط پاس ورڈ کا استعمال کیا جاتا تھا، جو، مثال کے طور پر، SSH میں کلیدی تصدیق کے دوران بلاک کرنے کا باعث نہیں بنی)۔
- Systemd-coredump ایک "EnterNamespace" آپشن کا اضافہ کرتا ہے جو کسی بھی کریش شدہ عمل کے ماؤنٹ پوائنٹ اسپیس تک رسائی کی اجازت دیتا ہے تاکہ ان کی ڈیبگنگ علامتیں حاصل کی جاسکیں۔ عملی طور پر، آپشن الگ تھلگ کنٹینرز میں چلنے والی ایپلی کیشنز سے بنیادی فائلوں کے بیک ٹریس کو منظم کرنے کے لیے مفید ہو سکتا ہے۔
- systemd-logind میں org.freedesktop.login1.SecureAttentionKey سگنل کو صارف کے ماحول کے اجزاء کو بھیجنے کے لیے Ctrl-Alt-Shift-Esc مرکب کی پروسیسنگ شامل ہے جس میں ایک محفوظ لاگ ان ڈائیلاگ ظاہر کرنے کی درخواست ہے۔ ایک مخصوص وقت پر کام کو مکمل کرنے کے لیے خود بخود شیڈول کے لیے "DesignatedMaintenanceTime" کی ترتیب کو نافذ کیا۔ DRM اور evdev ڈیوائسز کے لیے تعاون کے ساتھ مشابہت کے ساتھ، غیر مراعات یافتہ صارفین کے لیے آلات (گیم کنٹرولرز اور جوائے اسٹک) کو ہائیڈرا کرنے کے لیے رسائی کو ترتیب دینے کے لیے سپورٹ شامل کی گئی ہے۔
- systemd-machined اب غیر مراعات یافتہ کلائنٹ لاگ ان کی حمایت کرتا ہے۔ ورچوئل مشینیں اور کنٹینرز. D-Bus کے علاوہ Varlink API کے ذریعے سسٹمڈ مشینی فعالیت تک رسائی فراہم کی جاتی ہے۔
- IPv6 ایڈریسز کے لیے لیبل اور سابقے کنفیگر کرنے کے لیے networkd.conf کنفیگریشن فائل میں ایک نیا سیکشن "[IPv6AddressLabel]" شامل کیا گیا ہے۔
- معیاری سلسلہ سے فائل کے مواد کو حاصل کرنے کے لیے 'networkctl edit' کمانڈ میں "-stdin" آپشن شامل کیا گیا۔ 'networkctl edit' اور 'networkctl cat' کمانڈز میں نیٹ ورک انٹرفیس کی وضاحت کرکے .netdev فائلوں میں ترمیم اور ڈسپلے کرنے کے لیے معاونت شامل کی گئی۔ انٹرایکٹو اجازت کو غیر فعال کرنے کے لیے آپشن "--no-ask-password" شامل کیا گیا۔
- ukify، bootctl، systemd-keyutil، systemd-measure، systemd-repart، اور systemd-sbsign یوٹیلیٹیز میں "--certificate-source" آپشن شامل کیا گیا تاکہ اوپن ایس ایس ایل فراہم کنندہ کے ذریعے X.509 سرٹیفکیٹ لوڈ کرنے کے بجائے براہ راست لوڈ کرنے کے فائل
- systemd-boot بوٹ مینو کے ذریعے اوپر اور نیچے جانے کے لیے والیوم بٹنوں کو استعمال کرنے کی صلاحیت کا اضافہ کرتا ہے، جو اسمارٹ فونز جیسے آلات پر کارآمد ہو سکتا ہے۔ UEFI سیکیور بوٹ ڈیٹا بیس کو ESL(db/dbx/…) فارمیٹ میں systemd-boot کے لیے انسٹال کرنے کے لیے سپورٹ bootctl یوٹیلیٹی میں شامل کر دی گئی ہے۔
- یونٹ کالز کی فہرست دکھانے کے لیے journalctl میں "--list-invocation" آپشن اور "--invocation" آپشن ("-I") کو صرف ایک مخصوص کال سے وابستہ لاگز دکھانے کے لیے شامل کیا گیا۔
- systemd-nspawn کنٹینرز میں FUSE (Userspace میں فائل سسٹم) کے غیر مراعات یافتہ استعمال کے لیے تعاون کا اضافہ کرتا ہے۔ "--bind-user" آپشن کا استعمال کرتے وقت، صارف کی SSH کلیدوں کو SSH کے ذریعے رسائی کے لیے کنٹینر پر بھیج دیا جاتا ہے۔
- libsystemd نے ایک نیا پروگرامنگ انٹرفیس "sd-json" شامل کیا ہے جو JSON فارمیٹ استعمال کرتا ہے، ساتھ ہی ایک انٹرفیس "sd-varlink" جو IPC Varlink استعمال کرتا ہے۔
- تجویز کردہ بیس کرنل ورژن کو ریلیز 5.4 میں اپ گریڈ کیا گیا ہے، جو 2019 میں تشکیل دیا گیا تھا۔ اگلے سال وہ پرانے دانا کو سپورٹ کرنا بند کرنے اور 5.4 ریلیز کو کم از کم تائید شدہ بیس ورژن کے طور پر نشان زد کرنے کا ارادہ رکھتے ہیں۔
- cgroups v1 کے لیے سپورٹ کو فرسودہ کر دیا گیا ہے اور اسے بطور ڈیفالٹ غیر فعال کر دیا گیا ہے (اسے فعال کرنے کے لیے، آپ کو کرنل کمانڈ لائن پر SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1 کی وضاحت کرنا ہو گی اور اسے سسٹم کی ترتیبات میں فعال کرنے کے علاوہ)۔ systemd 258 کی اگلی ریلیز cgroups v1 متعلقہ کوڈ کو مکمل طور پر ہٹانے کا ارادہ رکھتی ہے۔ Systemd ورژن 258 بھی سسٹم V سروس اسکرپٹس کے لیے سپورٹ کو ہٹانے کے لیے تیار ہے۔
ماخذ: opennet.ru
