Systemd का लक्ष्य, सेवा और सॉकेट क्या है?


35

मुझे पता है कि ये सभी यूनिट फाइलें हैं, लेकिन मैं इनके विशेष अर्थ को नहीं समझ सकता। मुझे लगता है कि लक्ष्य डेमन के समान हैं और सॉकेट सॉकेट (आईपी + पोर्ट) के समान हैं, लेकिन इनोड संख्या के साथ भी। क्या कोई उन्हें सरल शब्दों में समझा सकता है?


3
सिस्टमड manपृष्ठ अनुकरणीय हैं: क्या आपने देखा है man systemd.{service,socket,target}?
जसोनव्रीयन

@ajonwryan वास्तव में मैंने देखा और पूर्ण उत्तर नहीं है। मैं इस धागे को घूर रहा हूं ताकि मैं भी सीख सकूं। मुझे पता है कि एक सेवा क्या है, एक सॉकेट, लेकिन जब लक्ष्य की बात आती है तो एक अंतर होता है। मैं अभी भी शोध कर रहा हूं और इस प्रश्न का उत्तर दूंगा कि क्या यह मेरे लिए पर्याप्त स्पष्ट हो गया है।
LD जेम्स

जवाबों:


40

सेवा इकाइयाँ:

A unit configuration file whose name ends in .service encodes
information about a process controlled and supervised by systemd.

- systemd.service (5)

सिस्टमड सर्विस इकाइयाँ वे इकाइयाँ हैं जो वास्तव में प्रोग्राम और डेमों का निष्पादन करती हैं और उन पर निर्भर रहती हैं, और यह सुनिश्चित करने के लिए निर्भरता का उपयोग किया जाता है कि सेवाएं सही क्रम में शुरू की गई हैं। वे सबसे अधिक इस्तेमाल की जाने वाली प्रकार की इकाइयाँ हैं।

सॉकेट इकाइयाँ:

A unit configuration file whose name ends in ".socket" encodes
information about an IPC or network socket or a file system FIFO
controlled and supervised by systemd, for socket-based activation.

- systemd.socket (5)

दूसरी ओर सॉकेट इकाइयां वास्तव में अपने दम पर डेमॉन शुरू नहीं करती हैं। इसके बजाय, वे बस वहां बैठते हैं और एक आईपी पते और एक बंदरगाह, या एक यूनिक्स डोमेन सॉकेट पर सुनते हैं, और जब कुछ इसे जोड़ता है, तो डेमॉन जो सॉकेट के लिए शुरू होता है और इसे कनेक्शन सौंप दिया जाता है।

यह सुनिश्चित करने के लिए उपयोगी है कि बड़े डेमॉन जो बहुत सारे संसाधनों को लेते हैं, लेकिन शायद ही कभी उपयोग किए जाते हैं और हर समय संसाधन नहीं लेते हैं, लेकिन इसके बजाय वे केवल तब शुरू होते हैं जब जरूरत होती है।

लक्ष्य इकाइयाँ:

A unit configuration file whose name ends in ".target" encodes
information about a target unit of systemd, which is used for grouping
units and as well-known synchronization points during start-up.

- systemd.target (5)

टारगेट का इस्तेमाल यूनिट बनाने और ऑर्डर करने के लिए किया जाता है। वे रनलेवल के कुछ हद तक बराबर हैं, जिसमें विभिन्न लक्ष्यों, विभिन्न सेवाओं, सॉकेट्स और अन्य इकाइयों को शुरू किया जाता है। रनवे के विपरीत, वे बहुत अधिक मुक्त रूप हैं और आप आसानी से ऑर्डर करने वाली इकाइयों के लिए अपना लक्ष्य बना सकते हैं, और लक्ष्यों में आपस में निर्भरता है।

उदाहरण के लिए, multi-user.targetयह है कि अधिकांश डेमॉन को किसके तहत वर्गीकृत किया जाता है, और इसे basic.targetसक्रिय करने की आवश्यकता होती है, जिसका अर्थ है कि जिन सेवाओं के तहत समूहीकृत किया basic.targetगया है, वे लोगों के सामने शुरू हो जाएंगे multi-user.target


11

इस तरह के अपेक्षाकृत नए प्रोजेक्ट के लिए सिस्टमड के लिए प्रलेखन उत्कृष्ट है। लक्ष्य से शुरू करने के लिए , से man systemd.target:

लक्ष्य इकाइयां इकाइयों द्वारा प्रदान की गई सामान्य कार्यक्षमता के शीर्ष पर कोई अतिरिक्त कार्यक्षमता प्रदान नहीं करती हैं। वे केवल निर्भरता (बूट लक्ष्य के रूप में उपयोगी) के माध्यम से समूह इकाइयों के लिए मौजूद हैं, और इकाइयों के बीच निर्भरता में इस्तेमाल तुल्यकालन अंक के लिए मानकीकृत नाम स्थापित करने के लिए। अन्य चीजों में, क्लासिक SysV init सिस्टम में SysV रनलेवल्स के लिए लक्ष्य इकाइयां अधिक लचीली प्रतिस्थापन हैं।

ये "यूनिट्स के समूह" विभिन्न प्रकार के कार्यात्मकताओं की एक सरणी को कवर करते हैं, basic.targetजिसमें से अनिवार्य रूप से सिस्टम बूटअप को शामिल किया जाता है, डब, गेटी से हर जगह पर, स्वैप और टाइमर के लिए माउंट पॉइंट्स। आप पूरी सूची के साथ देख सकते हैं man systemd.special

सर्विस फाइलें सिस्टमड द्वारा नियंत्रित प्रक्रियाओं को चलाने के लिए बुनियादी इकाइयाँ हैं। फिर से man systemd.service:

एक इकाई कॉन्फ़िगरेशन फ़ाइल जिसका नाम सिरों में आता है, सिस्टम द्वारा नियंत्रित और पर्यवेक्षण की प्रक्रिया के बारे में जानकारी को एन्कोड करता है।

ये उन डेमों का गठन करते हैं जिन्हें शुरू किया जा सकता है, रोका जा सकता है, फिर से शुरू किया जा सकता है, फिर से लोड किया जा सकता है।

अंत में, सॉकेट , से man systemd.socket:

एक यूनिट कॉन्फ़िगरेशन फ़ाइल जिसका नाम ".socket" समाप्त होता है, सॉकेट-आधारित सक्रियण के लिए एक IPC या नेटवर्क सॉकेट या एक फ़ाइल सिस्टम FIFO द्वारा नियंत्रित और systemd द्वारा पर्यवेक्षण के बारे में जानकारी संलग्न करता है।

ये फाइल-सिस्टम या इंटरनेट पर एक सॉकेट को कवर करते हैं, साथ ही परिवहन के रूप में क्लासिक फीफो को भी। प्रत्येक सॉकेट यूनिट में एक मिलान सेवा इकाई होती है, यदि पहला कनेक्शन सॉकेट या एफआईएफओ पर आता है, तो इसे शुरू किया जाता है।

manपृष्ठों के लिए एडिटॉन में , यह ब्लॉग पोस्ट्स के लिए लीनार्ट की श्रृंखला को पढ़ने के लिए अच्छी तरह से लायक है, प्रशासकों के लिए सिस्टमड , जो सिस्टमड के आर्किटेक्चर और कार्यान्वयन को गहराई से देखता है (श्रृंखला में वर्तमान में 20 पोस्ट हैं)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.