systemd सिस्टम मॅनेजर रिलीज 242

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

मुख्य बदल:

  • systemd-networkd L2TP बोगद्यांसाठी समर्थन पुरवते;
  • sd-boot आणि bootctl XBOOTLDR (विस्तारित बूट लोडर) विभाजनांना /efi किंवा /boot/efi वर आरोहित ESP विभाजनांव्यतिरिक्त, /boot वर आरोहित करण्यासाठी डिझाइन केलेले समर्थन पुरवते. कर्नल, सेटिंग्ज, initrd आणि EFI प्रतिमा आता ESP आणि XBOOTLDR दोन्ही विभाजनांमधून बूट केल्या जाऊ शकतात. हा बदल तुम्हाला sd-boot बूटलोडरचा वापर अधिक पुराणमतवादी परिस्थितीत करण्यास परवानगी देतो, जेव्हा बूटलोडर स्वतः ESP मध्ये स्थित असतो, आणि लोड केलेले कर्नल आणि संबंधित मेटाडेटा वेगळ्या विभागात ठेवला जातो;
  • कर्नलला पास केलेल्या “systemd.volatile=overlay” पर्यायासह बूट करण्याची क्षमता जोडली आहे, ज्यामुळे तुम्हाला रूट विभाजन ओव्हरलेफमध्ये ठेवता येते आणि रूट डिरेक्ट्रीच्या केवळ-वाचनीय प्रतिमेच्या शीर्षस्थानी काम व्यवस्थित करता येते. tmpfs मध्ये वेगळी डिरेक्टरी (या कॉन्फिगरेशनमधील बदल रीस्टार्ट केल्यानंतर नष्ट होतात). समानतेनुसार, systemd-nspawn ने कंटेनरमध्ये समान कार्यक्षमता वापरण्यासाठी “--volatile=overlay” पर्याय जोडला आहे;
  • systemd-nspawn ने ओपन कंटेनर इनिशिएटिव्ह (OCI) स्पेसिफिकेशनचे पालन करणार्‍या कंटेनरचे पृथक लॉन्चिंग प्रदान करण्यासाठी रनटाइम बंडलचा वापर करण्यास परवानगी देण्यासाठी "-oci-bundle" पर्याय जोडला आहे. कमांड लाइन आणि एनस्पॉन युनिट्समध्ये वापरण्यासाठी, ओसीआय स्पेसिफिकेशनमध्ये वर्णन केलेल्या विविध पर्यायांसाठी समर्थन प्रस्तावित आहे, उदाहरणार्थ, फाइल सिस्टमचे भाग वगळण्यासाठी “--अगम्य” आणि “अगम्य” पर्याय वापरले जाऊ शकतात आणि “ मानक आउटपुट प्रवाह आणि "-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-load-menu=” आणि
    “—boot-loader-entry=”, तुम्हाला रीबूट केल्यानंतर विशिष्ट बूट मेनू आयटम किंवा बूट मोड निवडण्याची परवानगी देते;

  • नवीन सँडबॉक्स आयसोलेशन कमांड “RestrictSUIDSGID=” जोडली, जी SUID/SGID ध्वजांसह फाइल्स तयार करण्यास प्रतिबंध करण्यासाठी seccomp वापरते;
  • "NoNewPrivileges" आणि "RestrictSUIDSGID" निर्बंध डायनॅमिक वापरकर्ता आयडी जनरेशन मोड ("डायनॅमिक युजर" सक्षम) असलेल्या सेवांमध्ये डीफॉल्टनुसार लागू केले आहेत याची खात्री केली;
  • .link फाईल्समधील डीफॉल्ट MACAddressPolicy=persistent सेटिंग अधिक उपकरणे कव्हर करण्यासाठी बदलण्यात आली आहे. नेटवर्क ब्रिज, बोगदे (ट्यून, टॅप) आणि एकत्रित लिंक्स (बॉन्ड) चे इंटरफेस नेटवर्क इंटरफेसच्या नावाशिवाय स्वतःला ओळखत नाहीत, म्हणून हे नाव आता MAC आणि IPv4 पत्ते बंधनकारक करण्यासाठी आधार म्हणून वापरले जाते. याव्यतिरिक्त, “MACAddressPolicy=random” सेटिंग जोडली गेली आहे, ज्याचा वापर MAC आणि IPv4 पत्ते यादृच्छिक क्रमाने डिव्हाइसेसशी बांधण्यासाठी केला जाऊ शकतो;
  • systemd-fstab-generator द्वारे व्युत्पन्न केलेल्या ".device" युनिट फाइल्स यापुढे संबंधित ".mount" युनिट्स "Wants=" विभागात अवलंबित्व म्हणून समाविष्ट करत नाहीत. फक्त डिव्हाइस प्लग इन केल्याने माउंट करण्यासाठी युनिट आपोआप लॉन्च होत नाही, परंतु अशी युनिट्स अजूनही इतर कारणांसाठी लॉन्च केली जाऊ शकतात, जसे की local-fs.target चा भाग किंवा लोकल-fs.target वर अवलंबून असलेल्या इतर युनिट्सवर अवलंबून ;
  • नेटवर्क इंटरफेसचे विशिष्ट गट त्यांच्या नावाच्या भागानुसार फिल्टर करण्यासाठी “networkctl list/status/lldp” आदेशांना मुखवटे (“*”, इ.) साठी समर्थन जोडले;
  • $PIDFILE पर्यावरण व्हेरिएबल आता "PIDFile=;" पॅरामीटरद्वारे सेवांमध्ये कॉन्फिगर केलेला परिपूर्ण मार्ग वापरून सेट केले आहे.
  • मुख्य DNS स्पष्टपणे परिभाषित नसल्यास वापरल्या जाणार्‍या बॅकअप DNS सर्व्हरच्या संख्येत सार्वजनिक क्लाउडफ्लेअर सर्व्हर (1.1.1.1) जोडले गेले आहेत. बॅकअप DNS सर्व्हरची सूची पुन्हा परिभाषित करण्यासाठी, तुम्ही “-Ddns-servers=” पर्याय वापरू शकता;
  • USB डिव्हाइस कंट्रोलरची उपस्थिती शोधताना, नवीन usb-gadget.target हँडलर आपोआप लॉन्च होतो (जेव्हा सिस्टम USB परिधीय उपकरणावर चालू असते);
  • युनिट फाइल्ससाठी, “CPUQuotaPeriodSec=” सेटिंग लागू केली गेली आहे, जी CPU टाइम कोटा मोजला जाणारा कालावधी ठरवते, जो “CPUQuota=” सेटिंगद्वारे सेट केला जातो;
  • युनिट फाइल्ससाठी, “ProtectHostname=” सेटिंग लागू केली गेली आहे, जी सेवांना योग्य परवानग्या असल्या तरीही, होस्टच्या नावाबद्दल माहिती बदलण्यास प्रतिबंधित करते;
  • युनिट फाइल्ससाठी, “NetworkNamespacePath=” सेटिंग लागू केली गेली आहे, जी तुम्हाला स्यूडो-FS/proc मधील नेमस्पेस फाइलचा मार्ग निर्दिष्ट करून सेवा किंवा सॉकेट युनिट्सना नेमस्पेस बांधण्याची परवानगी देते;
  • स्टार्ट कमांडच्या आधी “:” कॅरेक्टर जोडून “ExecStart=” सेटिंग वापरून लाँच केलेल्या प्रक्रियेसाठी पर्यावरण व्हेरिएबल्सचे प्रतिस्थापन अक्षम करण्याची क्षमता जोडली;
  • टाइमरसाठी (.टाइमर युनिट्स) नवीन ध्वज “OnClockChange=” आणि
    “OnTimezoneChange=”, ज्याद्वारे तुम्ही सिस्टम वेळ किंवा टाइम झोन बदलल्यावर युनिट कॉल नियंत्रित करू शकता;

  • नवीन सेटिंग्ज जोडली “कंडिशनमेमोरी=” आणि “कंडिशनसीपीयू=”, जी मेमरी आकार आणि CPU कोरच्या संख्येवर अवलंबून युनिट कॉल करण्याच्या अटी निर्धारित करतात (उदाहरणार्थ, संसाधन-केंद्रित सेवा केवळ आवश्यक प्रमाणात सुरू केली जाऊ शकते. रॅम उपलब्ध आहे);
  • एक नवीन time-set.target युनिट जोडले जे time-sync.target युनिट वापरून बाह्य टाइम सर्व्हरशी समेट न करता, स्थानिकरित्या सेट केलेली सिस्टम वेळ स्वीकारते. नवीन युनिटचा वापर अशा सेवांद्वारे केला जाऊ शकतो ज्यांना असंक्रमित स्थानिक घड्याळांची अचूकता आवश्यक आहे;
  • "-शो-ट्रान्झॅक्शन" पर्याय "systemctl start" आणि तत्सम कमांड्समध्ये जोडला गेला आहे, निर्दिष्ट केल्यावर, विनंती केलेल्या ऑपरेशनमुळे रांगेत जोडलेल्या सर्व जॉबचा सारांश प्रदर्शित केला जातो;
  • systemd-networkd नवीन 'गुलाम' स्थितीची व्याख्या अंमलात आणते, जे एकूण लिंक्स किंवा नेटवर्क ब्रिजचा भाग असलेल्या नेटवर्क इंटरफेससाठी 'डीग्रेड' किंवा 'कॅरियर' ऐवजी वापरले जाते. प्राथमिक इंटरफेससाठी, संमिश्र दुव्यांपैकी एकामध्ये समस्या असल्यास, 'डिग्रेडेड-कॅरियर' स्थिती जोडली गेली आहे;
  • कनेक्शन गमावल्यास नेटवर्क सेटिंग्ज जतन करण्यासाठी .network युनिट्समध्ये "IgnoreCarrierLoss=" पर्याय जोडला;
  • .network युनिट्समधील “RequiredForOnline=” सेटिंगद्वारे, तुम्ही आता नेटवर्क इंटरफेस “ऑनलाइन” वर हस्तांतरित करण्यासाठी आणि systemd-networkd-wait-online हँडलर ट्रिगर करण्यासाठी आवश्यक असलेली किमान स्वीकार्य लिंक स्थिती सेट करू शकता;
  • सर्व ऐवजी कोणत्याही निर्दिष्ट नेटवर्क इंटरफेसच्या तत्परतेची प्रतीक्षा करण्यासाठी systemd-networkd-wait-online मध्ये “--any” पर्याय जोडला, तसेच स्थिती निर्धारित करण्यासाठी “--operational-state=” पर्याय जोडला. तत्परता दर्शविणारा दुवा;
  • .network युनिट्समध्ये “UseAutonomousPrefix=” आणि “UseOnLinkPrefix=” सेटिंग्ज जोडल्या, ज्याचा उपयोग प्राप्त करताना उपसर्ग दुर्लक्षित करण्यासाठी केला जाऊ शकतो.
    IPv6 राउटरकडून घोषणा (RA, राउटर जाहिरात);

  • .network युनिट्समध्ये, नेटवर्क ब्रिजचे ऑपरेटिंग पॅरामीटर्स बदलण्यासाठी “MulticastFlood=”, “NeighbourSuppression=” आणि “Learning=” सेटिंग्ज जोडल्या गेल्या आहेत, तसेच TRIPLE-SAMPLING मोड बदलण्यासाठी “TripleSampling=” सेटिंग्ज. CAN आभासी इंटरफेस;
  • “PrivateKeyFile=” आणि “PresharedKeyFile=” सेटिंग्ज .netdev युनिट्समध्ये जोडल्या गेल्या आहेत, ज्याद्वारे तुम्ही WireGuard VPN इंटरफेससाठी खाजगी आणि सामायिक (PSK) की निर्दिष्ट करू शकता;
  • /etc/crypttab मध्ये समान-cpu-crypt आणि सबमिट-from-crypt-cpus पर्याय जोडले, जे CPU कोर दरम्यान एनक्रिप्शन-संबंधित कार्य स्थलांतरित करताना शेड्यूलरचे वर्तन नियंत्रित करतात;
  • systemd-tmpfiles तात्पुरत्या फाइल्ससह डिरेक्टरीमध्ये ऑपरेशन्स करण्यापूर्वी लॉक फाइल प्रोसेसिंग प्रदान करते, जे तुम्हाला काही क्रियांच्या कालावधीसाठी कालबाह्य फाइल्स साफ करण्याचे काम अक्षम करू देते (उदाहरणार्थ, /tmp मध्ये टार संग्रहण अनपॅक करताना, खूप जुन्या फाइल्स असू शकतात. उघडले जे त्यांच्यासह क्रिया संपण्यापूर्वी हटविले जाऊ शकत नाही);
  • "systemd-analyze cat-config" कमांड अनेक फाइल्समध्ये विभागलेल्या कॉन्फिगरेशनचे विश्लेषण करण्याची क्षमता प्रदान करते, उदाहरणार्थ, वापरकर्ता आणि सिस्टम प्रीसेट, tmpfiles.d आणि sysusers.d, udev नियम इ.
  • कर्सर लोड करण्यासाठी आणि सेव्ह करण्यासाठी फाइल निर्दिष्ट करण्यासाठी "-cursor-file=" पर्याय "journalctl" मध्ये जोडला;
  • सशर्त ऑपरेटर “कंडिशन वर्च्युअलायझेशन” वापरून त्यानंतरच्या ब्रँचिंगसाठी systemd-detect-virt मध्ये ACRN हायपरवाइजर आणि WSL सबसिस्टम (लिनक्ससाठी विंडोज सबसिस्टम) ची व्याख्या जोडली;
  • systemd इंस्टॉलेशन दरम्यान ("ninja install" कार्यान्वित करताना), 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

एक टिप्पणी जोडा