सेवा बनाम Systemctl

Seva Banama Systemctl



सर्विस और सिस्टमसीटीएल दो कमांड-लाइन उपयोगिताएँ हैं जिनका उपयोग सिस्टम सेवाओं को प्रबंधित करने के लिए किया जाता है। दोनों उपयोगिताएँ क्रमशः दो अलग-अलग init सिस्टम, SysV और systemd से संबंधित हैं।

इस गाइड में, मैं सेवा और सिस्टमसीटीएल कमांड पर चर्चा करूंगा, और जब सेवा प्रबंधन की बात आती है तो वे कैसे भिन्न होते हैं।

आगे बढ़ने से पहले, आइए पहले दो लोकप्रिय Linux init सिस्टम को समझें; सिस्टम और सिस्टमडी.







सिस्टम वी बनाम सिस्टमडी

Linux पर init सिस्टम बूट प्रक्रिया का एक महत्वपूर्ण हिस्सा है। यह पीआईडी ​​1 के साथ पहली प्रक्रिया है जो सिस्टम बूट होने पर शुरू होती है। इसके बाद यह inittab फ़ाइल में मौजूद प्रक्रियाओं को प्रारंभ करता है। सिस्टम V यह भी जानता है कि SysV और systemd लोकप्रिय Linux init सिस्टम हैं।



SysV एक पुराना इनिट सिस्टम है और पुराने यूनिक्स और लिनक्स वितरण का हिस्सा रहा है। यह /etc/init.d में स्थित स्क्रिप्ट का उपयोग करके सिस्टम सेवाओं का प्रबंधन करता है। कुछ लिनक्स वितरण जो अभी भी SysV का उपयोग कर रहे हैं वे स्लैकवेयर, जेंटू और एंटीएक्स लिनक्स हैं।



वहीं दूसरी ओर, systemd 2010 में लॉन्च किया गया और कई लिनक्स वितरणों द्वारा इसे तुरंत अपनाया गया। Systemd init सिस्टम .service फ़ाइलों के माध्यम से सेवाओं का प्रबंधन करता है। यह अब सभी आधुनिक लिनक्स वितरणों का एक हिस्सा है, जिसमें रेड हैट एंटरप्राइज लिनक्स, सेंटओएस, अमेज़ॅन लिनक्स, फेडोरा, डेबियन, उबंटू और इन ऑपरेटिंग सिस्टम पर आधारित वितरण शामिल हैं।





SysV की तुलना में सिस्टमडी बहुत अधिक कुशल है। यह तेज़ बूटिंग समय, कुशल सेवा प्रबंधन और निर्भरता प्रबंधन प्रदान करता है।

दोनों init सिस्टम सेवा प्रबंधन के लिए दो कमांड-लाइन उपयोगिताएँ प्रदान करते हैं।



गाइड के निम्नलिखित अनुभागों में, मैं इन दो उपयोगिताओं पर चर्चा करूंगा।

सेवा कमान

सेवा कमांड एक स्क्रिप्ट रैपर है जो में स्थित स्क्रिप्ट को चलाता है /etc/init.d निर्देशिका। की सेवा को प्रबंधित करने के लिए इसे विकसित किया गया था SysV या सिस्टम वी init प्रणाली. लिनक्स वितरण जो SysV को init सिस्टम के रूप में उपयोग करते हैं सेवा सेवा प्रबंधन के लिए आदेश.

सर्विस कमांड का उपयोग करने का सामान्य सिंटैक्स नीचे दिया गया है।

सेवा [ सेवा का नाम ] [ कार्रवाई ]

सिस्टम V द्वारा नियंत्रित सेवाओं की स्थिति प्राप्त करने के लिए, सर्विस कमांड का उपयोग करें -स्थिति-सभी विकल्प।

सेवा --स्थिति-सभी

+ इंगित करता है कि सेवा चल रही है, और दिखाता है कि सेवा निष्क्रिय है.

किसी विशिष्ट सेवा की वर्तमान स्थिति को सेवा के नाम का उल्लेख करके भी जांचा जा सकता है।

सेवा [ सेवा का नाम ] स्थिति

कुछ अन्य उपयोगी सेवा आदेश जैसे किसी सेवा को प्रारंभ करना, रोकना और पुनः प्रारंभ करना नीचे सूचीबद्ध हैं।

सेवा [ सेवा का नाम ] शुरू

सेवा [ सेवा का नाम ] रुकना

सेवा [ सेवा का नाम ] पुनः आरंभ करें

यह सेवा कमांड सेवाओं को प्रबंधित करने के लिए बुनियादी नियंत्रण प्रदान करता है। अधिकांश Linux वितरणों ने SysV को init सिस्टम के रूप में प्रतिस्थापित कर दिया है, लेकिन विरासत अनुकूलता के कारण, यह कमांड अभी भी कई नवीनतम Linux वितरणों में आउट-ऑफ-द-बॉक्स आता है।

systemctl कमांड

Systemctl कमांड का उपयोग करके, आप सेवाओं को नियंत्रित कर सकते हैं /lib/systemd/system और /etc/systemd/system निर्देशिकाएँ यह systemd का एक घटक है; अधिकांश समकालीन Linux वितरणों में पाया जाने वाला एक init सिस्टम।

Systemctl को सिस्टम सेवा प्रबंधन पर अधिक नियंत्रण प्रदान करने के लिए डिज़ाइन किया गया है। Systemctl कमांड का उपयोग करने का सामान्य सिंटैक्स नीचे दिया गया है:

systemctl [ विकल्प ] [ सेवा का नाम ]

सभी सेवाओं की स्थिति जांचने के लिए, निम्न आदेश का उपयोग करें।

systemctl सूची-इकाइयाँ --प्रकार =सेवा --सभी

किसी विशिष्ट सेवा के उपयोग के लिए:

systemctl स्थिति [ सेवा का नाम ]

Systemctl का उपयोग करके सेवा के बुनियादी प्रबंधन के लिए आदेश नीचे दिए गए हैं:

systemctl सक्षम [ सेवा का नाम ]

systemctl प्रारंभ [ सेवा का नाम ]

systemctl बंद करो [ सेवा का नाम ]

systemctl अक्षम करें [ सेवा का नाम ]

systemctl पुनरारंभ करें [ सेवा का नाम ]

जब सेवाओं को नियंत्रित करने की बात आती है तो systemctl कमांड उससे भी आगे निकल जाता है। नीचे दी गई तालिका में कुछ उन्नत systemctl कमांड शामिल हैं।

सूची-पथ मेमोरी में सभी सेवाओं के पथ को सूचीबद्ध करना
सक्रिय है [service_name] यह जांचने के लिए कि सेवा या इकाई चल रही है या नहीं
सूची-निर्भरताएं [सेवा_नाम] निर्दिष्ट सेवा की निर्भरताओं की सूची मुद्रित करने के लिए
रीसेट-असफल उन सेवाओं को रीसेट करने के लिए जो किसी असामान्यता के कारण लोड होने में विफल हैं
मुखौटा [सेवा_नाम] सेवा को अक्षम करना और इसे प्रारंभ करने में असमर्थ बनाना
डिफ़ॉल्ट प्राप्त करें डिफ़ॉल्ट रन स्तर या लक्ष्य को प्रिंट करने के लिए
सेट-डिफ़ॉल्ट [लक्ष्य] डिफ़ॉल्ट रन स्तर या लक्ष्य निर्धारित करने के लिए
है-सिस्टम-रनिंग सिस्टम की परिचालन स्थिति की जाँच करने के लिए
रिबूट सिस्टम को रीबूट करने के लिए
बिजली बंद सिस्टम को बंद करने के लिए

सिस्टमड इनिट सिस्टम के साथ लिनक्स डिस्ट्रीब्यूशन में अभी भी एक सर्विस कमांड क्यों है?

सर्विस कमांड अभी भी कई लिनक्स वितरणों का हिस्सा है क्योंकि यह एक रैपर स्क्रिप्ट है और अंतर्निहित इनिट सिस्टम को अमूर्त करता है, चाहे वह SysV हो या systemctl। उदाहरण के लिए, उबंटू पर, सर्विस कमांड systemctl पर रीडायरेक्ट करता है।

निष्कर्ष

सेवा और systemctl क्रमशः SysV और systemd init सिस्टम से संबंधित दो कमांड लाइन उपयोगिताएँ हैं। आधुनिक लिनक्स वितरणों में सर्विस कमांड के प्रतिस्थापन के बावजूद, यह सरलता और अनुकूलता के कारण सेवाओं को बनाए रखने के लिए एक महत्वपूर्ण उपकरण बना हुआ है। दूसरी ओर, systemctl, सभी मौजूदा Linux वितरणों का एक हिस्सा है और सेवा प्रशासन के लिए उन्नत विकल्प प्रदान करता है।