सिस्टमड सिस्टम मैनेजर रिलीज 242

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

मुख्य परिवर्तन:

  • systemd-networkd L2TP सुरंगों के लिए समर्थन प्रदान करता है;
  • sd-boot और Bootctl /efi या /boot/efi पर माउंट किए गए ESP विभाजनों के अलावा, /boot पर माउंट किए जाने के लिए डिज़ाइन किए गए XBOOTLDR (विस्तारित बूट लोडर) विभाजन के लिए समर्थन प्रदान करते हैं। कर्नेल, सेटिंग्स, initrd और EFI छवियों को अब ESP और XBOOTLDR दोनों विभाजनों से बूट किया जा सकता है। यह परिवर्तन आपको अधिक रूढ़िवादी परिदृश्यों में एसडी-बूट बूटलोडर का उपयोग करने की अनुमति देता है, जब बूटलोडर स्वयं ईएसपी में स्थित होता है, और लोड किए गए कर्नेल और संबंधित मेटाडेटा को एक अलग अनुभाग में रखा जाता है;
  • कर्नेल को दिए गए "systemd.volatile=overlay" विकल्प के साथ बूट करने की क्षमता जोड़ी गई, जो आपको रूट विभाजन को ओवरलेफ़्स में रखने और रूट निर्देशिका की रीड-ओनली छवि के शीर्ष पर लिखे गए परिवर्तनों के साथ काम को व्यवस्थित करने की अनुमति देता है। tmpfs में अलग निर्देशिका (इस कॉन्फ़िगरेशन में परिवर्तन पुनरारंभ के बाद खो जाते हैं)। सादृश्य से, systemd-nspawn ने कंटेनरों में समान कार्यक्षमता का उपयोग करने के लिए "--volatile=overlay" विकल्प जोड़ा है;
  • systemd-nspawn ने ओपन कंटेनर इनिशिएटिव (OCI) विनिर्देश का अनुपालन करने वाले कंटेनरों की पृथक लॉन्चिंग प्रदान करने के लिए रनटाइम बंडलों के उपयोग की अनुमति देने के लिए "--oci-बंडल" विकल्प जोड़ा है। कमांड लाइन और एनस्पॉन इकाइयों में उपयोग के लिए, ओसीआई विनिर्देश में वर्णित विभिन्न विकल्पों के लिए समर्थन प्रस्तावित है, उदाहरण के लिए, फ़ाइल सिस्टम के कुछ हिस्सों को बाहर करने के लिए "--पहुंच योग्य" और "पहुंच योग्य" विकल्पों का उपयोग किया जा सकता है, और " मानक आउटपुट स्ट्रीम और "-पाइप" को कॉन्फ़िगर करने के लिए --कंसोल" विकल्प जोड़े गए हैं;
  • पर्यावरण चर के माध्यम से सिस्टमड-लॉगइंड के व्यवहार को नियंत्रित करने की क्षमता जोड़ी गई: $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=” और जोड़े गए
    “—बूट-लोडर-एंट्री=”, आपको रिबूट के बाद एक विशिष्ट बूट मेनू आइटम या बूट मोड का चयन करने की अनुमति देता है;

  • एक नया सैंडबॉक्स आइसोलेशन कमांड "RestrictSUIDSGID=" जोड़ा गया, जो SUID/SGID फ़्लैग वाली फ़ाइलों के निर्माण को प्रतिबंधित करने के लिए seccomp का उपयोग करता है;
  • यह सुनिश्चित किया गया कि डायनामिक यूजर आईडी जेनरेशन मोड ("डायनामिक यूजर" सक्षम) वाली सेवाओं में "NoNewPrivileges" और "RestrictSUIDSGID" प्रतिबंध डिफ़ॉल्ट रूप से लागू होते हैं;
  • अधिक डिवाइस को कवर करने के लिए .link फ़ाइलों में डिफ़ॉल्ट MACAddressPolicy=persistent सेटिंग को बदल दिया गया है। नेटवर्क ब्रिज, टनल (ट्यून, टैप) और एग्रीगेटेड लिंक (बॉन्ड) के इंटरफेस नेटवर्क इंटरफेस के नाम के अलावा खुद को नहीं पहचानते हैं, इसलिए इस नाम का उपयोग अब मैक और आईपीवी4 पतों को बाइंड करने के आधार के रूप में किया जाता है। इसके अलावा, "MACAddressPolicy=random" सेटिंग जोड़ी गई है, जिसका उपयोग MAC और IPv4 पतों को यादृच्छिक क्रम में उपकरणों से बांधने के लिए किया जा सकता है;
  • systemd-fstab-जनरेटर के माध्यम से उत्पन्न ".device" इकाई फ़ाइलों में अब "Wants =" अनुभाग में निर्भरता के रूप में संबंधित ".mount" इकाइयाँ शामिल नहीं हैं। बस किसी डिवाइस को प्लग इन करने से माउंट करने के लिए यूनिट स्वचालित रूप से लॉन्च नहीं होती है, लेकिन ऐसी इकाइयां अभी भी अन्य कारणों से लॉन्च की जा सकती हैं, जैसे कि स्थानीय-एफएस.लक्ष्य के हिस्से के रूप में या अन्य इकाइयों पर निर्भरता के रूप में जो स्थानीय-एफएस.लक्ष्य पर निर्भर होती हैं। ;
  • नेटवर्क इंटरफेस के कुछ समूहों को उनके नाम के हिस्से से फ़िल्टर करने के लिए "नेटवर्कसीटीएल सूची/स्थिति/एलएलडीपी" कमांड में मास्क ("*", आदि) के लिए समर्थन जोड़ा गया;
  • $PIDFILE पर्यावरण चर अब "PIDFile=;" पैरामीटर के माध्यम से सेवाओं में कॉन्फ़िगर किए गए पूर्ण पथ का उपयोग करके सेट किया गया है।
  • यदि मुख्य DNS स्पष्ट रूप से परिभाषित नहीं है, तो सार्वजनिक क्लाउडफ़ेयर सर्वर (1.1.1.1) को बैकअप DNS सर्वरों की संख्या में जोड़ा गया है। बैकअप DNS सर्वरों की सूची को फिर से परिभाषित करने के लिए, आप "-Ddns-servers=" विकल्प का उपयोग कर सकते हैं;
  • USB डिवाइस नियंत्रक की उपस्थिति का पता लगाने पर, एक नया USB-gadget.target हैंडलर स्वचालित रूप से लॉन्च हो जाता है (जब सिस्टम USB परिधीय डिवाइस पर चल रहा हो);
  • यूनिट फ़ाइलों के लिए, “CPUQuotaPeriodSec=” सेटिंग लागू की गई है, जो उस समय अवधि को निर्धारित करती है जिसके सापेक्ष CPU समय कोटा मापा जाता है, जिसे “CPUQuota=” सेटिंग के माध्यम से सेट किया जाता है;
  • यूनिट फ़ाइलों के लिए, “ProtectHostname=” सेटिंग लागू की गई है, जो सेवाओं को होस्ट नाम के बारे में जानकारी बदलने से रोकती है, भले ही उनके पास उचित अनुमतियाँ हों;
  • यूनिट फ़ाइलों के लिए, "नेटवर्कनेमस्पेसपाथ=" सेटिंग लागू की गई है, जो आपको छद्म-एफएस /प्रोक में नेमस्पेस फ़ाइल के पथ को निर्दिष्ट करके सेवाओं या सॉकेट इकाइयों के लिए नेमस्पेस को बांधने की अनुमति देती है;
  • स्टार्ट कमांड से पहले ":" वर्ण जोड़कर "ExecStart=" सेटिंग का उपयोग करके लॉन्च की गई प्रक्रियाओं के लिए पर्यावरण चर के प्रतिस्थापन को अक्षम करने की क्षमता जोड़ी गई;
  • टाइमर (.timer इकाइयों) के लिए नए झंडे “OnClockChange=” और
    "ऑनटाइमज़ोनचेंज=", जिसके साथ आप सिस्टम समय या समय क्षेत्र बदलने पर यूनिट कॉल को नियंत्रित कर सकते हैं;

  • नई सेटिंग्स "ConditionMemory=" और "ConditionCPUs=" जोड़ी गईं, जो मेमोरी आकार और सीपीयू कोर की संख्या के आधार पर एक यूनिट को कॉल करने की शर्तें निर्धारित करती हैं (उदाहरण के लिए, एक संसाधन-गहन सेवा केवल तभी लॉन्च की जा सकती है जब आवश्यक मात्रा हो) रैम उपलब्ध है);
  • एक नई time-set.target इकाई जोड़ी गई जो time-sync.target इकाई का उपयोग करके बाहरी समय सर्वर के साथ सामंजस्य स्थापित किए बिना, स्थानीय रूप से निर्धारित सिस्टम समय को स्वीकार करती है। नई इकाई का उपयोग उन सेवाओं द्वारा किया जा सकता है जिन्हें अनसिंक्रनाइज़्ड स्थानीय घड़ियों की सटीकता की आवश्यकता होती है;
  • "--शो-ट्रांजैक्शन" विकल्प को "सिस्टमसीटीएल स्टार्ट" और समान कमांड में जोड़ा गया है, जब निर्दिष्ट किया जाता है, तो अनुरोधित ऑपरेशन के कारण कतार में जोड़े गए सभी नौकरियों का सारांश प्रदर्शित होता है;
  • systemd-networkd एक नए 'गुलाम' राज्य की परिभाषा को लागू करता है, जिसका उपयोग नेटवर्क इंटरफेस के लिए 'अपमानित' या 'वाहक' के बजाय किया जाता है जो समग्र लिंक या नेटवर्क ब्रिज का हिस्सा हैं। प्राथमिक इंटरफ़ेस के लिए, समग्र लिंक में से किसी एक के साथ समस्याओं के मामले में, 'अपमानित-वाहक' स्थिति को जोड़ा गया है;
  • कनेक्शन हानि की स्थिति में नेटवर्क सेटिंग्स को बचाने के लिए .network इकाइयों में "IgnoreCarrierLoss=" विकल्प जोड़ा गया;
  • .network इकाइयों में "RequiredForOnline=" सेटिंग के माध्यम से, अब आप नेटवर्क इंटरफ़ेस को "ऑनलाइन" में स्थानांतरित करने और systemd-networkd-wait-online हैंडलर को ट्रिगर करने के लिए आवश्यक न्यूनतम स्वीकार्य लिंक स्थिति सेट कर सकते हैं;
  • सभी के बजाय किसी भी निर्दिष्ट नेटवर्क इंटरफेस की तैयारी की प्रतीक्षा करने के लिए systemd-networkd-wait-online में "--any" विकल्प जोड़ा गया, साथ ही स्थिति निर्धारित करने के लिए "--ऑपरेशनल-स्टेट =" विकल्प भी जोड़ा गया। तत्परता दर्शाने वाला लिंक;
  • .network इकाइयों में “UseAutonomousPrefix=” और “UseOnLinkPrefix=” सेटिंग्स जोड़ी गईं, जिनका उपयोग प्राप्त करते समय उपसर्गों को अनदेखा करने के लिए किया जा सकता है।
    IPv6 राउटर से घोषणा (आरए, राउटर विज्ञापन);

  • .नेटवर्क इकाइयों में, नेटवर्क ब्रिज के ऑपरेटिंग मापदंडों को बदलने के लिए "मल्टीकास्टफ्लूड =", "नेबरसप्रेशन =" और "लर्निंग =" सेटिंग्स को जोड़ा गया है, साथ ही ट्रिपल-सैंपलिंग मोड को बदलने के लिए "ट्रिपल सैंपलिंग =" सेटिंग भी जोड़ी गई है। CAN वर्चुअल इंटरफ़ेस का;
  • “PrivateKeyFile=” और “PresharedKeyFile=” सेटिंग्स को .netdev इकाइयों में जोड़ा गया है, जिसके साथ आप वायरगार्ड वीपीएन इंटरफेस के लिए निजी और साझा (PSK) कुंजी निर्दिष्ट कर सकते हैं;
  • /etc/crypttab में समान-सीपीयू-क्रिप्ट और सबमिट-फ्रॉम-क्रिप्ट-सीपीयूएस विकल्प जोड़े गए, जो सीपीयू कोर के बीच एन्क्रिप्शन-संबंधित कार्य को स्थानांतरित करते समय शेड्यूलर के व्यवहार को नियंत्रित करते हैं;
  • systemd-tmpfiles अस्थायी फ़ाइलों के साथ निर्देशिकाओं में संचालन करने से पहले लॉक फ़ाइल प्रोसेसिंग प्रदान करता है, जो आपको कुछ कार्यों की अवधि के लिए पुरानी फ़ाइलों की सफाई पर काम को अक्षम करने की अनुमति देता है (उदाहरण के लिए, /tmp में टार संग्रह को अनपैक करते समय, बहुत पुरानी फ़ाइलें हो सकती हैं) खोला गया जिसे उनके साथ कार्रवाई के अंत से पहले हटाया नहीं जा सकता);
  • "systemd-analyze cat-config" कमांड कई फ़ाइलों में विभाजित कॉन्फ़िगरेशन का विश्लेषण करने की क्षमता प्रदान करता है, उदाहरण के लिए, उपयोगकर्ता और सिस्टम प्रीसेट, tmpfiles.d और sysusers.d की सामग्री, udev नियम, आदि।
  • स्थिति कर्सर को लोड करने और सहेजने के लिए फ़ाइल निर्दिष्ट करने के लिए "journalctl" में "--कर्सर-फ़ाइल =" विकल्प जोड़ा गया;
  • सशर्त ऑपरेटर "कंडीशनवर्चुअलाइजेशन" का उपयोग करके बाद की शाखा के लिए सिस्टमड-डिटेक्ट-वर्ट में एसीआरएन हाइपरवाइजर और डब्लूएसएल सबसिस्टम (लिनक्स के लिए विंडोज सबसिस्टम) की परिभाषा जोड़ी गई;
  • सिस्टमडी इंस्टॉलेशन के दौरान ("निंजा इंस्टॉल" निष्पादित करते समय), सिस्टमडी-नेटवर्कडी.सर्विस, सिस्टमडी-नेटवर्कडी.सॉकेट फाइलों के लिए प्रतीकात्मक लिंक का निर्माण,
    systemd-resolved.service, रिमोट-क्रिप्टसेटअप.लक्ष्य, रिमोट-fs.target,
    systemd-networkd-wait-online.service और systemd-timesyncd.service। इन फ़ाइलों को बनाने के लिए, अब आपको "systemctl preset-all" कमांड चलाने की आवश्यकता है।

स्रोत: opennet.ru

एक टिप्पणी जोड़ें