जैसा कि अन्य लोग पहले ही यहां बता चुके हैं, सिद्धांत रूप में, यह गैर-तकनीकी अंत उपयोगकर्ता को प्रभावित नहीं करना चाहिए - और सिद्धांत रूप में सिद्धांत और व्यवहार में कोई अंतर नहीं है लेकिन व्यवहार में है।
स्पष्टीकरण
मुझे लगता है कि यहां पोस्ट की गई कुछ चीजों को कुछ स्पष्टीकरण की आवश्यकता है:
यह एक इनिट सिस्टम है, न कि कुछ उपयोगकर्ता जो परंपरागत रूप से बातचीत करते हैं।
यह SysV init के साथ और Upstart के साथ मामला था, लेकिन यह systemd के साथ ऐसा नहीं है। यह बहुत सी चीजें करता है जो उपयोगकर्ता पारंपरिक रूप से बातचीत करते हैं:
यह पूरी तरह से अपस्टार्ट द्वारा प्रदान की गई कार्यक्षमता को बदलना चाहिए- और कुछ अतिरिक्त चीजें करें
स्पष्ट करने के लिए दो बातें - पहले अपस्टार्ट को पूरी तरह से बदलने के बारे में:
कोई SysV init स्क्रिप्ट नहीं
लोगों के पास सिस्टमड के साथ एक समस्या यह है कि यह SysV init स्क्रिप्ट नहीं चलाता है। तो एक उदाहरण है कि यह उपस्टार्ट द्वारा प्रदान की गई कार्यक्षमता को पूरी तरह से प्रतिस्थापित नहीं करता है ।
यह कुछ ऐसा है जिस पर हम 30 वर्षों तक भरोसा कर सकते हैं और परंपरागत रूप से आपने खुद को दोहराए बिना (एक ही स्क्रिप्ट के कई संस्करणों को लिखकर) अधिकतम पोर्टेबिलिटी के लिए SysV init स्क्रिप्ट लिखी थी, जो कि इससे अधिक नहीं है।
आधिकारिक रिपॉजिटरी से केवल पैकेज का उपयोग करते समय यह एक समस्या नहीं होनी चाहिए क्योंकि संभवतः सभी पैकेज जो SysV init या Upstart स्क्रिप्ट का उपयोग करते थे, उन्हें पैक होने से पहले अपनी स्क्रिप्ट को फिर से लिखना होगा।
यह केवल उन लोगों के लिए एक समस्या होगी, जो किसी भी तृतीय-पक्ष या कस्टम सॉफ़्टवेयर का उपयोग करने के लिए होते हैं, जिनके पास इनसाइट स्क्रिप्ट होती हैं, जो SysV init या Upstart के लिए लिखी जाती हैं और सिस्टमैट के साथ सिस्टम में अपग्रेड करने से पहले इनिट स्क्रिप्ट को फिर से लिखना होगा (या प्राप्त करें) अपस्टार्ट इंस्टॉल किया गया, जो एक विकल्प भी है , या सिस्टम के लिए माइग्रेट करता है जो सिस्टमड का उपयोग नहीं करता है)।
सिस्टमड-एसआईएसवी-जनरेटर है जो सिस्टम स्क्रिप्ट्स के लिए SysV इनिट स्क्रिप्ट का स्वचालित रूप से अनुवाद करने वाला है, लेकिन कुछ बग और स्पष्ट असंगति की एक लंबी सूची है ।
अब, दूसरा स्पष्टीकरण - उन कुछ अतिरिक्त चीजों के बारे में:
कुछ अतिरिक्त चीजें
वे "कुछ अतिरिक्त बातें" कि systemd कवर करने जा रहा है - के अनुसार systemd के लिए एक परिप्रेक्ष्य - क्या हासिल किया गया है, और आगे क्या है द्वारा प्रस्तुति लेंनार्ट पोएटरिंग GNOME.asia पर 2014 में - इस प्रकार हैं:
- init सिस्टम
- जर्नल लॉगिंग
- लॉगिन प्रबंधन
- डिवाइस प्रबंधन
- अस्थायी और वाष्पशील फ़ाइल प्रबंधन
- द्विआधारी प्रारूप पंजीकरण
- बैकलाइट सेव / रिस्टोर
- rfkill सेव / रिस्टोर करें
- bootchart
- आगे पढ़ें
- एन्क्रिप्टेड भंडारण सेटअप
- EFI / GPT विभाजन खोज
- वर्चुअल मशीन / कंटेनर पंजीकरण
- कंटेनर प्रबंधन
- होस्टनाम प्रबंधन
- स्थानीय प्रबंधन
- समय प्रबंधन
- यादृच्छिक बीज प्रबंधन
- sysctl वैरिएबल प्रबंधन
- सांत्वना प्रबंधन
- आत्मनिरीक्षण
- ऑटो खोज
- लगाओ और चलाओ
- नेटवर्क प्रबंधन
- systemd-networkd
- डीएनएस कैश
- mDNS उत्तरदाता
- LLMNR उत्तरदाता
- DNSSEC सत्यापन
- कर्नेल में आई.पी.सी.
- kdbus
- एसडी-बस
- NTP के साथ समय सिंक्रनाइज़ेशन
- systemd-timesyncd
- कंटेनरों के साथ एकीकरण
- सेवाओं की सैंडबॉक्सिंग
- ऐप्स का सैंडबॉक्सिंग
- ओएस छवि प्रारूप
- कंटेनर छवि प्रारूप
- ऐप छवि प्रारूप
- ऑटो-डिस्कवरी के साथ जीपीटी
- स्टेटलेस सिस्टम
- तात्कालिक प्रणाली
- नए यंत्र जैसी सेटिंग
- नोड आरंभीकरण और अद्यतन
- बादल के साथ एकीकरण
- नोड्स में सेवा प्रबंधन
- फर्मवेयर के लिए सभी तरह से सत्यापित करने योग्य ओएस छवियां
- बूट लोड हो रहा है
- वितरण के बीच इंटरनेट के अगली पीढ़ी के ओएस का निर्माण करना
इसलिए वापस जा रहे हैं: "यह एक init प्रणाली है, न कि कुछ उपयोगकर्ता जो परंपरागत रूप से बातचीत करते हैं।" - यह बताया जाना चाहिए कि इनिट सिस्टम उस सूची में केवल एक आइटम है।
और अंत में, आखिरी बात जो मैं टिप्पणी करना चाहूंगा:
[टी] वह केवल एक गैर-तकनीकी उपयोगकर्ता को यह देखेगा कि यह कब गलत है।
ओह, कैसी राहत। :)
परिवर्तन
अंत उपयोगकर्ताओं के लिए सबसे उल्लेखनीय परिवर्तन (स्वयं स्क्रिप्ट के अलावा) सेवाओं को शुरू करने और आदेशों का उपयोग करने से रोक रहा है और जैसे:
जो अब उम्मीद के मुताबिक काम नहीं कर रहा है। उदाहरण के लिए, nohup
यह सुनिश्चित करने के लिए कि आपके सत्र से लॉग आउट करने के बाद प्रक्रिया चलती रहती है, यह सुनिश्चित करने के लिए एक POSIX कमांड है। यह अब systemd पर काम नहीं करता है। इसके अलावा कार्यक्रमों screen
और जैसे tmux
एक विशेष तरीके से लागू किए जाने की आवश्यकता है या अन्यथा आप उनके साथ चलने वाली प्रक्रियाओं को मार डाला जाएगा (जबकि उन प्रक्रियाओं को नहीं मारना आमतौर पर स्क्रीन या tmux चलाने का मुख्य कारण है)।
यह बग नहीं है, यह एक डिजाइन विकल्प है, इसलिए भविष्य में इसके ठीक होने की संभावना नहीं है। इस मुद्दे के बारे में लेनार्ट पोइटरिंग ने यही कहा है :
मेरे विचार में यह वास्तव में UNIX के बारे में काफी अजीब था कि यह डिफ़ॉल्ट रूप से मनमाने ढंग से उपयोगकर्ता कोड को लॉगआउट के बाद अप्रतिबंधित रहने देता है। कई ओएस लोगों के बीच अब उम्र के लिए चर्चा की गई है, कि यह संभव होना चाहिए लेकिन निश्चित रूप से डिफ़ॉल्ट नहीं होना चाहिए, लेकिन किसी ने इसे डिफ़ॉल्ट से एक विकल्प में बदलने के लिए स्विच को फ्लिप करने की अब तक हिम्मत नहीं की। लॉगआउट के बाद उपयोगकर्ता सत्रों की सफाई न करना केवल बदसूरत और कुछ हद तक हैकिश नहीं है, बल्कि एक सुरक्षा समस्या भी है। systemd 230 अब अंत में स्विच को फ़्लिप करता है और अंत में डिफ़ॉल्ट रूप से उपयोगकर्ता द्वारा लॉग आउट होने पर सब कुछ सही ढंग से साफ़ करता है।
अधिक जानकारी के लिए देखें:
चल रहा है screen
- कल का नवाब:
screen
- systemd:
systemd-run --user --scope screen
(नोट: ऊपर दिए गए "अपस्टार्ट" का व्यवहार वास्तव में सिवाय सिस्टमड के कुछ भी है, यह विशिष्ट नहीं है)
नौकरी शुरू करना:
- कल का नवाब:
start foo
- systemd:
systemctl start foo
नौकरी रोकना:
- कल का नवाब:
stop foo
- systemd:
systemctl stop foo
नौकरी के लिए पुनः आरंभ करना:
- कल का नवाब:
restart foo
- systemd:
systemctl restart foo
उनकी स्थिति के साथ नौकरियों की सूची बनाना:
- कल का नवाब:
initctl list
- systemd:
systemctl status
( उपस्टार्ट और सिस्टमड के पेशेवरों / विपक्षों के बारे में मेरा जवाब देखें। अधिक विवरण के लिए जो इस प्रश्न के दायरे से बाहर हैं।)
लॉग्स
लॉग्स को हैंडल करने में भी एक बड़ा अंतर है क्योंकि यूनिक्स परंपरा के विपरीत सिस्टमड के लॉग्स को बाइनरी फ़ाइलों में कस्टम प्रारूप में संग्रहीत किया जाता है, इसलिए इसके बजाय:
cat /var/log/upstart/foo.log
tail -f /var/log/upstart/foo.log
आपको अपने लॉग का उपयोग करने के लिए विशेष कमांड का उपयोग करने की आवश्यकता है:
sudo journalctl -u foo
sudo journalctl -u foo -f
विवाद
पहले डेबियन और बाद में उबंटू में सिस्टमड का परिचय विवादों और विशाल विरोध के बिना नहीं था जैसा कि किसी को पता है जिसने निम्नलिखित लेखों में से एक लिखा है:
Systemd पर आधिकारिक डेबियन स्थिति और जिसके परिणामस्वरूप विवाद के लिए प्रेरित किया , 2014 में पलायन घोषणा और साथ समाप्त हो गया इयान जैक्सन के इस्तीफे की ।
Init Freedom , Without-Systemd.org और Systemd-Free.org पहल का जन्म हुआ, जिसमें हैकर न्यूज़ पर बहुत चर्चा हुई ।
आगे की पढाई