जैसे ही आपका सिस्टम बूट या रीबूट होता है, Linux पर सेवाएँ प्रारंभ हो जाती हैं। यहां बताया गया है कि आप अपने लिनक्स पीसी पर एक ऑटो-स्टार्टिंग सिस्टमडी सेवा कैसे बना सकते हैं।

systemd कई प्रसिद्ध लिनक्स वितरणों के लिए सेवा प्रबंधक है। सेवा किसी प्रोग्राम की एक इकाई है जो आम तौर पर पृष्ठभूमि में चलती है। सेवाएँ, स्वभावतः, सिस्टम बूट होते ही स्वचालित रूप से प्रारंभ हो जाती हैं और बिना ध्यान दिए चल सकती हैं।

यदि आपको एक ऑटो-स्टार्टिंग कार्य या प्रोग्राम बनाने की आवश्यकता है जो आपके सिस्टम को बूट या रीबूट करने पर हर बार निष्पादित होता है, तो आप एक नई सेवा बनाने पर विचार कर सकते हैं। आइए जानें कि लिनक्स पर एक नई, कस्टम सिस्टमडी सेवा कैसे बनाएं।

चरण 1: सेवा फ़ाइल बनाना

नई सिस्टमड सेवा फ़ाइल बनाने के लिए कुछ चरणों की आवश्यकता होती है। उनमें से पहला सेवा के लिए यूनिट फ़ाइल बनाना है। सेवा फ़ाइल बनाने से पहले, आपको इसकी संरचना को समझना होगा।

आइए आपके Linux सिस्टम से एक वास्तविक, कार्यशील सेवा फ़ाइल खींचकर सेवा फ़ाइल का अध्ययन करें। नीचे, आप vmtools डेमॉन सेवा के लिए सेवा फ़ाइल देख सकते हैं।

यह विशेष सेवा आपके सिस्टम पर तब तक मौजूद नहीं हो सकती जब तक कि आप वीएमवेयर टूल्स इंस्टॉल करके वीएमवेयर पर लिनक्स नहीं चला रहे हों। विचाराधीन सेवा महत्वपूर्ण नहीं है क्योंकि सभी सेवाओं, या बल्कि, सेवा इकाई फ़ाइलों की आधार संरचना आवश्यकतानुसार कुछ अनुकूलन के साथ समान होती है।

instagram viewer

सभी सिस्टमड सेवा फ़ाइलों में तीन खंड होने चाहिए: [सेवा], [इकाई], और [स्थापित करना], और प्रत्येक अनुभाग के अंतर्गत कुछ पैरामीटर। यहां बताया गया है कि प्रत्येक अनुभाग में क्या है और वे महत्वपूर्ण क्यों हैं:

1. इकाई

इकाई अनुभाग में सेवा का विवरण और निर्भरता जैसे महत्वपूर्ण मेटाडेटा शामिल हैं। इसके तीन पैरामीटर हैं: विवरण, पहले, और बाद. जैसा कि वही सुझाव देता है, विवरण पैरामीटर सेवा का कुछ संदर्भ प्रदान करता है और यह क्या करता है।

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

2. सेवा

सेवा अनुभाग में दो अनिवार्य पैरामीटर हैं: ExecStart, प्रकार, और कुछ अन्य वैकल्पिक पैरामीटर जैसे ExecReload, और अधिक।

ExecStart सेवा शुरू होने पर निष्पादित होने वाले कमांड को परिभाषित करता है जबकि प्रकार पैरामीटर स्पॉन होने वाली प्रक्रिया के प्रकार को निर्धारित करता है।

3. स्थापित करना

जब भी आप सेवा को सक्षम या अक्षम करते हैं तो यह अनुभाग और इसका डेटा कॉल किया जाता है systemctl कमांड.

इसके कुछ पैरामीटर हैं. सामान्य और आवश्यक में से एक है वांटेडबाय. वांटेडबाय पैरामीटर उन लक्ष्य इकाइयों को परिभाषित करता है जिन्हें सेवा सक्षम होने पर प्रारंभ होना चाहिए। डिफ़ॉल्ट मान है बहु-उपयोगकर्ता.लक्ष्य.

यहां उल्लिखित पैरामीटर एकमात्र पैरामीटर नहीं हैं जिन्हें आप यूनिट फ़ाइल में सेट कर सकते हैं। आप पैरामीटर्स की पूरी सूची यहां से प्राप्त कर सकते हैं आधिकारिक systemd.exec दस्तावेज़ीकरण या टाइप करके मैन systemd.exec एक टर्मिनल में.

एक सिस्टमड सर्विस यूनिट फ़ाइल हमेशा " के साथ समाप्त होती है।सेवा"एक्सटेंशन और में संग्रहित किया जाना चाहिए /etc/systemd/system/ निर्देशिका। सेवा फ़ाइल बनाएँ टच कमांड का उपयोग करना इसे उपसर्ग के साथ उन्नत विशेषाधिकारों के साथ सूडो आज्ञा:

सुडो टच /etc/systemd/system/।सेवा 

अब जब आपने सेवा फ़ाइल बना ली है, तो आइए सेवा को वैध और कार्यशील बनाने के लिए इसे आवश्यक सिंटैक्स से भर दें।

चरण 2: सेवा फ़ाइल को कॉन्फ़िगर करना

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

[इकाई]
विवरण=कस्टम एनएमएपी सेवा का प्रदर्शन।
उपरांत=नेटवर्क.लक्ष्य

[सेवा]
प्रकार=सरल
उपयोक्ता=रूट
ExecStart=/usr/bin/nmap -sS -O -oN /home//results.txt लोकलहोस्ट
पुनरारंभ=हमेशा
रीस्टार्टसेक=30

[स्थापित करना]
वांटेडबाय=बहु-उपयोगकर्ता.लक्ष्य

हालाँकि यहाँ उल्लिखित मापदंडों को पहले समझाया जा चुका है, आइए देखें कि वे हमारी नव निर्मित सेवा को कैसे प्रभावित करते हैं और इस इकाई में पेश किए गए नए मापदंडों का भी पता लगाते हैं: पुनः आरंभ करें, रीस्टार्टसेक, और उपयोगकर्ता.

यहां बताया गया है कि प्रत्येक अनुभाग में पैरामीटर का क्या अर्थ है:

  • विवरण: सेवा की कार्यात्मकताओं का वर्णन करने के लिए मानव-पठनीय पाठ।
  • उपरांत=नेटवर्क.लक्ष्य: सिस्टमडी को निर्देश देना कि यह सेवा किस पर निर्भर है नेटवर्क.लक्ष्य और इसके बाद ही शुरू होना चाहिए नेटवर्क.लक्ष्य सेवा शुरू कर दी गई है. ध्यान दें कि बाद इसका उपयोग किसी भी प्रत्यक्ष निर्भरता संबंध को स्थापित करने के लिए नहीं किया जाता है, यह बस एक ट्रिगर के रूप में कार्य करता है।
  • प्रकार=सरल: अनेक सेवा प्रकार हैं. हालाँकि, इस प्रदर्शन में सेवा एक नियमित प्रक्रिया है और इसलिए हम इसे ऐसा घोषित करते हैं। आप इसके लिए सभी अलग-अलग मान पहले लिंक किए गए आधिकारिक दस्तावेज़ पृष्ठ पर पा सकते हैं।
  • पुनरारंभ करें=हमेशा: इसका मतलब यह है कि जब भी सेवा बंद हो, उसे हमेशा पुनरारंभ करना चाहिए।
  • पुनरारंभसेक=30: यह सेवा की प्रत्येक शुरुआत के बीच के अंतराल को 30 सेकंड तक निर्धारित करता है।
  • उपयोक्ता=रूट: यह परिभाषित करता है कि सेवा रूट उपयोगकर्ता के रूप में चलेगी। इस मामले में, यह एक जरूरी कदम है क्योंकि एनएमएपी रूट विशेषाधिकारों के बिना नहीं चल पाएगा।
  • निष्पादन प्रारंभ: यह निर्देश प्रोग्राम को ठीक से काम करने के लिए आवश्यक सभी आवश्यक झंडे या तर्कों के साथ निष्पादित किए जाने वाले प्रोग्राम का पूर्ण पथ रखता है।
  • वांटेडबाय=बहु-उपयोगकर्ता.लक्ष्य: सेवा फ़ाइल में यह पैरामीटर निर्दिष्ट करता है कि किस लक्ष्य में सेवा शामिल होनी चाहिए या "चाहिए"। जब किसी सेवा को लक्ष्य में शामिल किया जाता है, तो इसका मतलब है कि सेवा तब शुरू होनी चाहिए जब सिस्टम बूट प्रक्रिया के दौरान उस लक्ष्य तक पहुंच जाए। इस मामले में, सेवा तब शुरू होनी चाहिए जब सिस्टम बहु-उपयोगकर्ता मोड में प्रवेश करता है। बहु-उपयोगकर्ता मोड एक ऐसी स्थिति है जहां सिस्टम पूरी तरह से बूट होता है और कई उपयोगकर्ताओं को लॉग इन करने और सिस्टम का उपयोग करने की अनुमति देता है।

चरण 3: सेवा को सक्षम करना और प्रारंभ करना

अब जब आपने यूनिट फ़ाइल बना ली है, तो आपकी सेवा को सक्रिय करने के लिए एकमात्र चरण इसे सक्षम करना और चलाना है। आप systemctl कमांड का उपयोग करके अपनी सेवा को सक्षम और प्रारंभ कर सकते हैं।

अपनी सेवा को सक्षम करने, प्रारंभ करने और उसकी स्थिति जांचने के लिए systemctl का उपयोग करने का तरीका यहां बताया गया है:

sudo systemctl सक्षम करें ।सेवा
sudo systemctl प्रारंभ ।सेवा
sudo systemctl स्थिति ।सेवा

अब, आपकी कस्टम सेवा चालू होनी चाहिए! इस मामले में, आपको हर तीस सेकंड में एक एनएमएपी स्कैन चलता हुआ दिखना चाहिए और आउटपुट इसमें संग्रहीत होता जाएगा परिणाम.txt होम निर्देशिका में फ़ाइल.

लिनक्स पर सिस्टमडी सेवा स्थापित करना आसान है!

हालाँकि शुरू से ही एक कस्टम सेवा स्थापित करना कठिन लग सकता है, लेकिन इसे सेट करना काफी आसान तरीका है आपके लिए दोहराए जाने वाले कार्यों को पूरा करने और आपको बढ़ावा देने के लिए एक स्व-निष्पादित, अप्राप्य प्रक्रिया उत्पादकता.

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

यदि किसी सेवा को स्थापित करना और उसका रखरखाव करना आपके लिए बहुत बड़ा काम लगता है, तो लिनक्स पर दोहराए जाने वाले कार्यों को स्वचालित करने के वैकल्पिक तरीके की जाँच करने पर विचार करें।