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

После двух месяцев разработки представлен релиз системного менеджера systemd 242. Из новшеств можно отметить поддержку туннелей L2TP, возможность управления поведением systemd-logind при перезапуске через переменные окружения, поддержку расширенных загрузочных разделов XBOOTLDR для монтирования /boot, возможность загрузки с корневым разделом в overlayfs, а также большое число новых настроек для разных типов юнитов.

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

  • systemd-networkd L2TP سرنگوں کے لیے مدد فراہم کرتا ہے۔
  • sd-boot اور bootctl XBOOTLDR (ایکسٹینڈڈ بوٹ لوڈر) پارٹیشنز کے لیے سپورٹ فراہم کرتے ہیں جنہیں /boot پر نصب کرنے کے لیے ڈیزائن کیا گیا ہے، اس کے علاوہ /efi یا /boot/efi پر نصب ESP پارٹیشنز۔ کرنل، سیٹنگز، initrd اور EFI امیجز کو اب ESP اور XBOOTLDR دونوں پارٹیشنز سے بوٹ کیا جا سکتا ہے۔ یہ تبدیلی آپ کو sd-boot bootloader کو زیادہ قدامت پسند منظرناموں میں استعمال کرنے کی اجازت دیتی ہے، جب بوٹ لوڈر خود ESP میں واقع ہوتا ہے، اور بھری ہوئی دانا اور متعلقہ میٹا ڈیٹا کو الگ سیکشن میں رکھا جاتا ہے۔
  • کرنل کو بھیجے گئے "systemd.volatile=overlay" آپشن کے ساتھ بوٹ کرنے کی صلاحیت شامل کی گئی ہے، جو آپ کو روٹ پارٹیشن کو اوورلیف میں رکھنے اور روٹ ڈائرکٹری کی صرف پڑھنے والی تصویر کے اوپر کام کو ترتیب دینے کی اجازت دیتا ہے۔ tmpfs میں علیحدہ ڈائریکٹری (اس ترتیب میں تبدیلیاں دوبارہ شروع ہونے کے بعد ختم ہوجاتی ہیں)۔ تشبیہ کے مطابق، systemd-nspawn نے کنٹینرز میں اسی طرح کی فعالیت کو استعمال کرنے کے لیے "--volatile=overlay" اختیار شامل کیا ہے۔
  • systemd-nspawn نے "-oci-bundle" کا اختیار شامل کیا ہے تاکہ رن ٹائم بنڈل کے استعمال کو کنٹینرز کی الگ تھلگ لانچنگ فراہم کرنے کی اجازت دی جا سکے جو اوپن کنٹینر انیشی ایٹو (OCI) کی تفصیلات کے مطابق ہوں۔ کمانڈ لائن اور nspawn یونٹس میں استعمال کے لیے، OCI تفصیلات میں بیان کردہ مختلف اختیارات کے لیے تعاون تجویز کیا گیا ہے، مثال کے طور پر، "--ناقابل رسائی" اور "ناقابل رسائی" اختیارات فائل سسٹم کے حصوں کو خارج کرنے کے لیے استعمال کیے جا سکتے ہیں، اور " معیاری آؤٹ پٹ اسٹریمز اور "-pipe" کو ترتیب دینے کے لیے --console" کے اختیارات شامل کیے گئے ہیں۔
  • ماحولیاتی متغیرات کے ذریعے systemd-logind کے رویے کو کنٹرول کرنے کی صلاحیت شامل کی گئی: $SYSTEMD_REBOOT_ TO_FIRMWARE_SETUP،
    $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU اور
    $SYSTEMD_REBOOT_ TO_BOOT_LOADER_ENTRY۔ ان متغیرات کا استعمال کرتے ہوئے، آپ اپنے ریبوٹ پروسیس ہینڈلرز (/run/systemd/reboot-to-firmware-setup، /run/systemd/reboot-to-boot-loader-menu اور
    /run/systemd/reboot-to-boot-loader-entry) یا انہیں مکمل طور پر غیر فعال کریں (اگر قدر غلط پر سیٹ ہے)؛

  • شامل کردہ اختیارات "-بوٹ-لوڈ-مینو =" اور
    "—boot-loader-entry="، آپ کو ریبوٹ کے بعد ایک مخصوص بوٹ مینو آئٹم یا بوٹ موڈ کو منتخب کرنے کی اجازت دیتا ہے۔

  • ایک نیا سینڈ باکس آئسولیشن کمانڈ "RestrictSUIDSGID=" شامل کیا گیا، جو SUID/SGID جھنڈوں والی فائلوں کی تخلیق کو روکنے کے لیے seccomp کا استعمال کرتا ہے۔
  • اس بات کو یقینی بنایا گیا کہ "NoNewPrivileges" اور "RestrictSUIDSGID" پابندیاں ڈیفالٹ صارف ID جنریشن موڈ ("DynamicUser" فعال) والی سروسز میں بطور ڈیفالٹ لاگو ہوتی ہیں؛
  • .link فائلوں میں پہلے سے طے شدہ MACAddressPolicy=مسلسل ترتیب کو مزید آلات کا احاطہ کرنے کے لیے تبدیل کر دیا گیا ہے۔ نیٹ ورک پلوں، سرنگوں (ٹن، ٹیپ) اور مجموعی لنکس (بانڈ) کے انٹرفیس نیٹ ورک انٹرفیس کے نام کے علاوہ اپنی شناخت نہیں کرتے ہیں، اس لیے اب یہ نام MAC اور IPv4 ایڈریس کو بائنڈنگ کرنے کی بنیاد کے طور پر استعمال کیا جاتا ہے۔ اس کے علاوہ، "MACAddressPolicy=random" سیٹنگ شامل کی گئی ہے، جس کا استعمال MAC اور IPv4 ایڈریسز کو آلات سے بے ترتیب ترتیب میں باندھنے کے لیے کیا جا سکتا ہے۔
  • systemd-fstab-generator کے ذریعے تیار کردہ ".device" یونٹ فائلوں میں اب متعلقہ ".mount" یونٹس کو "Wants=" سیکشن میں انحصار کے طور پر شامل نہیں کیا گیا ہے۔ کسی ڈیوائس میں پلگ لگانے سے اب خود بخود کوئی یونٹ ماؤنٹ ہونے کے لیے شروع نہیں ہوتا ہے، لیکن اس طرح کے یونٹ اب بھی دیگر وجوہات کی بناء پر لانچ کیے جا سکتے ہیں، جیسے local-fs.target کا حصہ یا دوسرے یونٹوں پر انحصار کے طور پر جو local-fs.target پر انحصار کرتے ہیں۔ ;
  • نیٹ ورک انٹرفیس کے مخصوص گروپوں کو ان کے نام کے حصے سے فلٹر کرنے کے لیے "networkctl list/status/lldp" کمانڈز میں ماسک ("*"، وغیرہ) کے لیے تعاون شامل کیا گیا ہے۔
  • $PIDFILE ماحولیاتی متغیر اب "PIDFile=;" پیرامیٹر کے ذریعے خدمات میں تشکیل کردہ مطلق راستے کا استعمال کرتے ہوئے سیٹ کیا گیا ہے۔
  • عوامی Cloudflare سرورز (1.1.1.1) کو استعمال کیے جانے والے بیک اپ DNS سرورز کی تعداد میں شامل کر دیا گیا ہے اگر مرکزی DNS کی واضح طور پر وضاحت نہیں کی گئی ہے۔ بیک اپ DNS سرورز کی فہرست کو از سر نو متعین کرنے کے لیے، آپ "-Ddns-servers=" آپشن استعمال کر سکتے ہیں۔
  • USB ڈیوائس کنٹرولر کی موجودگی کا پتہ لگانے پر، ایک نیا usb-gadget.target ہینڈلر خود بخود لانچ ہو جاتا ہے (جب سسٹم USB پیریفرل ڈیوائس پر چل رہا ہو)؛
  • یونٹ فائلوں کے لیے، "CPUQuotaPeriodSec=" ترتیب نافذ کر دی گئی ہے، جو وقت کی مدت کا تعین کرتی ہے جس کے مطابق CPU ٹائم کوٹہ ماپا جاتا ہے، جو "CPUQuota=" ترتیب کے ذریعے سیٹ کیا جاتا ہے۔
  • یونٹ فائلوں کے لیے، "ProtectHostname=" ترتیب نافذ کی گئی ہے، جو خدمات کو میزبان کے نام کے بارے میں معلومات کو تبدیل کرنے سے روکتی ہے، چاہے ان کے پاس مناسب اجازتیں ہوں۔
  • یونٹ فائلوں کے لیے، "NetworkNamespacePath=" ترتیب نافذ کر دی گئی ہے، جو آپ کو pseudo-FS/proc میں نام کی جگہ فائل کا راستہ بتا کر خدمات یا ساکٹ یونٹس کے لیے نام کی جگہ کا پابند کرنے کی اجازت دیتی ہے۔
  • اسٹارٹ کمانڈ سے پہلے ایک ":" کریکٹر شامل کرکے "ExecStart=" ترتیب کا استعمال کرتے ہوئے شروع کیے گئے عمل کے لیے ماحولیاتی متغیرات کے متبادل کو غیر فعال کرنے کی صلاحیت شامل کی گئی۔
  • ٹائمرز (. ٹائمر یونٹس) کے لیے نئے جھنڈے "OnClockChange=" اور
    "OnTimezoneChange="، جس کے ساتھ آپ سسٹم کا وقت یا ٹائم زون تبدیل ہونے پر یونٹ کال کو کنٹرول کر سکتے ہیں۔

  • نئی سیٹنگز "ConditionMemory=" اور "ConditionCPUs=" شامل کی گئی ہیں، جو میموری کے سائز اور CPU کور کی تعداد کے لحاظ سے یونٹ کو کال کرنے کی شرائط کا تعین کرتی ہیں (مثال کے طور پر، وسائل کے لحاظ سے ایک سروس صرف اس صورت میں شروع کی جا سکتی ہے جب مطلوبہ رقم رام دستیاب ہے)؛
  • ایک نیا time-set.target یونٹ شامل کیا گیا جو time-sync.target یونٹ کا استعمال کرتے ہوئے بیرونی ٹائم سرورز کے ساتھ مفاہمت کے بغیر مقامی طور پر سیٹ سسٹم کے وقت کو قبول کرتا ہے۔ نئی یونٹ کو ان خدمات کے ذریعے استعمال کیا جا سکتا ہے جنہیں غیر مطابقت پذیر مقامی گھڑیوں کی درستگی کی ضرورت ہوتی ہے۔
  • "-show-transaction" آپشن کو "systemctl start" اور اسی طرح کی کمانڈز میں شامل کر دیا گیا ہے، جب وضاحت کی جاتی ہے، درخواست کردہ آپریشن کی وجہ سے قطار میں شامل تمام ملازمتوں کا خلاصہ ظاہر ہوتا ہے۔
  • systemd-networkd ایک نئی 'غلامی' ریاست کی تعریف کو نافذ کرتا ہے، جو نیٹ ورک انٹرفیس کے لیے 'ڈیگریڈڈ' یا 'کیریئر' کے بجائے استعمال کیا جاتا ہے جو کہ مجموعی لنکس یا نیٹ ورک پلوں کا حصہ ہیں۔ بنیادی انٹرفیس کے لیے، جامع لنکس میں سے کسی ایک کے ساتھ مسائل کی صورت میں، 'ڈیگریڈڈ-کیریئر' حالت شامل کی گئی ہے۔
  • نیٹ ورک یونٹس میں "IgnoreCarrierLoss=" آپشن شامل کیا گیا تاکہ کنکشن ختم ہونے کی صورت میں نیٹ ورک کی ترتیبات کو محفوظ کیا جا سکے۔
  • نیٹ ورک یونٹس میں "RequiredForOnline=" سیٹنگ کے ذریعے، آپ اب نیٹ ورک انٹرفیس کو "آن لائن" میں منتقل کرنے اور systemd-networkd-wait-online ہینڈلر کو متحرک کرنے کے لیے مطلوبہ کم از کم قابل قبول لنک اسٹیٹ سیٹ کر سکتے ہیں۔
  • سب کے بجائے کسی بھی مخصوص نیٹ ورک انٹرفیس کی تیاری کا انتظار کرنے کے لیے systemd-networkd-wait-online میں "--any" آپشن شامل کیا گیا، ساتھ ہی ساتھ "--operational-state=" آپشن کی حالت کا تعین کرنے کے لیے۔ تیاری کی نشاندہی کرنے والا لنک؛
  • نیٹ ورک یونٹس میں "UseAutonomousPrefix=" اور "UseOnLinkPrefix=" سیٹنگیں شامل کی گئیں، جنہیں وصول کرتے وقت سابقے کو نظر انداز کرنے کے لیے استعمال کیا جا سکتا ہے۔
    IPv6 راؤٹر سے اعلان (RA، Router Advertisement)؛

  • نیٹ ورک یونٹس میں، "MulticastFlood="، "NeighbourSuppression=" اور "Learning=" سیٹنگز کو نیٹ ورک برج کے آپریٹنگ پیرامیٹرز کو تبدیل کرنے کے ساتھ ساتھ "TripleSampling=" ترتیب کو ٹرپل-سیمپلنگ موڈ کو تبدیل کرنے کے لیے شامل کیا گیا ہے۔ CAN ورچوئل انٹرفیس کا
  • "PrivateKeyFile=" اور "PresharedKeyFile=" ترتیبات کو .netdev یونٹس میں شامل کر دیا گیا ہے، جس کے ساتھ آپ WireGuard VPN انٹرفیس کے لیے نجی اور مشترکہ (PSK) کلیدیں بتا سکتے ہیں۔
  • /etc/crypttab میں same-cpu-crypt اور submit-from-crypt-cpus کے اختیارات شامل کیے گئے، جو CPU کور کے درمیان خفیہ کاری سے متعلق کام کو منتقل کرتے وقت شیڈیولر کے رویے کو کنٹرول کرتے ہیں۔
  • systemd-tmpfiles عارضی فائلوں کے ساتھ ڈائریکٹریز میں آپریشن کرنے سے پہلے لاک فائل پروسیسنگ فراہم کرتا ہے، جو آپ کو کچھ مخصوص کارروائیوں کے دوران پرانی فائلوں کو صاف کرنے کے کام کو غیر فعال کرنے کی اجازت دیتا ہے (مثال کے طور پر، /tmp میں ٹار آرکائیو کو کھولتے وقت، بہت پرانی فائلیں ہو سکتی ہیں۔ کھولی گئی جسے ان کے ساتھ کارروائی کے اختتام سے پہلے حذف نہیں کیا جا سکتا)؛
  • "systemd-analyze cat-config" کمانڈ کئی فائلوں میں تقسیم کردہ کنفیگریشن کا تجزیہ کرنے کی صلاحیت فراہم کرتی ہے، مثال کے طور پر، صارف اور سسٹم کے پیش سیٹ، tmpfiles.d اور sysusers.d کے مواد، udev قواعد وغیرہ۔
  • پوزیشن کرسر کو لوڈ اور محفوظ کرنے کے لیے فائل کی وضاحت کرنے کے لیے "-cursor-file=" آپشن کو "journalctl" میں شامل کیا گیا۔
  • مشروط آپریٹر "کنڈیشن ورچوئلائزیشن" کا استعمال کرتے ہوئے بعد میں برانچنگ کے لیے systemd-detect-virt میں ACRN ہائپر وائزر اور WSL سب سسٹم (Windows Subsystem for Linux) کی تعریف شامل کی گئی۔
  • سسٹمڈ انسٹالیشن کے دوران (جب "ننجا انسٹال" کو عمل میں لاتے ہیں)، فائلوں کے علامتی لنکس کی تخلیق systemd-networkd.service, systemd-networkd.socket،
    systemd-resolved.service, remote-cryptsetup.target, remote-fs.target،
    systemd-networkd-wait-online.service اور systemd-timesyncd.service۔ ان فائلوں کو بنانے کے لیے، اب آپ کو "systemctl preset-all" کمانڈ چلانے کی ضرورت ہے۔

ماخذ: opennet.ru

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