संपादित 2 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
आरंभ करनासेवाएंकमांड लाइनसिस्टम्डप्रबंधननियंत्रणस्टार्टअप स्क्रिप्टसिस्टम एडमिनकॉन्फ़िगरेशननिगरानी
अनुवाद अपडेट किया गया 6 दिन पहले
किसी भी लिनक्स-आधारित प्रणाली में, सेवाएँ एक अभिन्न पहलू होती हैं। ये सेवाएँ बैकग्राउंड प्रक्रियाएँ होती हैं जो निरंतर चलती रहती हैं और नेटवर्किंग, डेटाबेस होस्टिंग, वेब सर्वर आदि जैसे विभिन्न कार्यात्मकताओं में योगदान करती हैं। इन सेवाओं को कुशलतापूर्वक प्रबंधित करना प्रणाली प्रशासन का एक महत्वपूर्ण हिस्सा है। यह गाइड समझाएगा कि systemctl
का उपयोग करके सेवाओं को कैसे प्रबंधित किया जाए, जो कि सिस्टमड सिस्टम और सेवा प्रबंधक की निगरानी और नियंत्रण के लिए एक कमांड-लाइन यूटिलिटी है।
systemctl
पर गहराई में जाने से पहले, यह समझना महत्वपूर्ण है कि systemd क्या है। Systemd लिनक्स के लिए एक सिस्टम और सेवा प्रबंधक है जो समानांतर क्षमताएँ प्रदान करता है, सॉक्ट्स और डी-बस सक्रियण का उपयोग करके सेवाएँ शुरू करता है, ऑन-डिमांड डेमन शुरू करने की सुविधा प्रदान करता है, लिनक्स नियंत्रण समूहों का उपयोग करके प्रक्रियाओं पर नजर रखता है, और माउंट और ऑटोमाउंट पॉइंट्स को बनाए रखता है।
systemctl
एक कमांड-लाइन यूटिलिटी है जिसका उपयोग systemd को प्रबंधित करने में किया जाता है। यह सेवाओं और इकाइयों को नियंत्रित करने और प्रबंधित करने के लिए बहुत सारे विकल्प प्रदान करता है। इकाइयाँ वे संसाधन हैं जिन्हें systemd प्रबंधित करना जानता है; इनमें आमतौर पर सेवाएँ शामिल होती हैं, लेकिन अन्य प्रकार जैसे माउंट पॉइंट्स और सॉक्ट्स भी शामिल होते हैं।
सेवाओं को प्रबंधित करने से पहले, उन्हें सूचीबद्ध करना अच्छा होता है ताकि वर्तमान में चल रही सेवाओं को समझा जा सके। निम्नलिखित आदेश मदद करेंगे:
systemctl list-units --type service --all
यह कमांड सभी सेवाओं को सूचीबद्ध करता है, और प्रत्येक की स्थिति दर्शाता है। आउटपुट दिखाएगा कि क्या प्रत्येक सेवा सक्रिय है, निष्क्रिय है, या विफल हुई है।
यदि कोई सेवा वर्तमान में नहीं चल रही है, तो उसे शुरू करने के लिए start
कमांड का उपयोग करें:
sudo systemctl start <service-name>
उदाहरण के लिए, Apache HTTP सर्वर शुरू करने के लिए, आप चलाएँगे:
sudo systemctl start httpd
यदि आपको कोई सेवा रोकने की आवश्यकता है, तो stop
कमांड का उपयोग किया जाता है। यह विभिन्न परिस्थितियों में उपयोगी होता है, जैसे रखरखाव या अपडेट के समय:
sudo systemctl stop <service-name>
उदाहरण:
sudo systemctl stop httpd
यह Apache HTTP सर्वर को चलने से रोक देता है।
कभी-कभी, किसी सेवा को रोकने और पुनः शुरू करने के बजाय, आप उसे सीधे पुनः प्रारंभ कर सकते हैं। यह restart
कमांड से किया जा सकता है:
sudo systemctl restart <service-name>
उदाहरण:
sudo systemctl restart httpd
यह Apache HTTP सर्वर को पुनः प्रारंभ करता है। यह विशेष रूप से उपयोगी होता है जब आपने कॉन्फ़िगरेशन फ़ाइल में परिवर्तन किए हैं और चाहते हैं कि सेवा इन परिवर्तनों को पुनः लोड करे।
यह जांचने के लिए कि क्या कोई सेवा चल रही है, आप status
कमांड का उपयोग कर सकते हैं। ऐसा करने पर, आपको सेवा की मौजूदा स्थिति, किसी भी त्रुटि संदेश, और लॉग आउटपुट की जानकारी मिलती है:
systemctl status <service-name>
उदाहरण:
systemctl status httpd
यह httpd सेवा के बारे में विस्तृत जानकारी प्रदर्शित करेगा, यह दिखाते हुए कि क्या यह सक्रिय है, सक्षम है, या इसके अंतिम स्टार्टअप के दौरान कोई समस्या हुई है।
किसी सेवा को सक्षम करने से यह सुनिश्चित होता है कि यह बूट समय पर स्वचालित रूप से शुरू हो। इसके विपरीत, किसी सेवा को अक्षम करने का अर्थ होता है कि यह स्वचालित रूप से शुरू नहीं होगी:
sudo systemctl enable <service-name>
sudo systemctl disable <service-name>
उदाहरण के लिए, Apache HTTP सर्वर को सक्षम करने के लिए:
sudo systemctl enable httpd
इसी तरह, इसे स्वचालित रूप से शुरू होने से रोकने के लिए:
sudo systemctl disable httpd
सक्षम करना विशेष रूप से उन सेवाओं के लिए लाभकारी होता है जिन्हें आप चाहते हैं कि आपका सिस्टम चालू होने पर हमेशा चलती रहें, जैसे वेब या डेटाबेस सर्वर।
किसी सेवा को मास्क करना यह सुनिश्चित करने का एक शक्तिशाली तरीका है कि सेवा बिल्कुल भी न चले। एक बार सेवा मास्क की जाती है, तो यह किसी भी तरह से चालू नहीं की जा सकती जब तक कि इसे अनमास्क ना किया जाए:
sudo systemctl mask <service-name>
sudo systemctl unmask <service-name>
उदाहरण:
sudo systemctl mask httpd
यह कमांड सुनिश्चित करता है कि भले ही आप Apache HTTP सर्वर को शुरू करने की कोशिश करें, यह नहीं चलेगा। इसे पुनः चलने देने के लिए, इसे अनमास्क करें:
sudo systemctl unmask httpd
यदि आप systemd-संबंधित कॉन्फ़िगरेशन फ़ाइलों में परिवर्तन करते हैं, तो आपको निम्नलिखित का उपयोग करके systemd प्रबंधक कॉन्फ़िगरेशन को पुनः लोड करना होगा:
sudo systemctl daemon-reload
यह कमांड विशेष रूप से महत्वपूर्ण होती है जब आप नई कॉन्फ़िगरेशन फ़ाइलें जोड़ते हैं या /etc/systemd/system
या /lib/systemd/system
निर्देशिकाओं में मौजूदा फ़ाइलों में परिवर्तन करते हैं।
कभी-कभी, आपको सेवा इकाई फ़ाइलों को संपादित करने की आवश्यकता हो सकती है ताकि सेवा के व्यवहार को अनुकूलित किया जा सके। systemctl के साथ, आप सेवा फ़ाइलों का सीधे पहुंच के बिना ऐसा कर सकते हैं:
sudo systemctl edit <service-name>
यह आपकी डिफ़ॉल्ट पाठ संपादक में इकाई फ़ाइल को खोलता है। एक बार जब आप अपने परिवर्तनों को सहेज लेते हैं और संपादक को बंद कर देते हैं, तो systemctl एक ओवरराइड बना देगा। उसके बाद systemd प्रबंधक कॉन्फ़िगरेशन को पुनः लोड करना न भूलें।
systemctl
का उपयोग करके सेवाओं को प्रबंधित करना किसी भी लिनक्स सिस्टम व्यवस्थापक के लिए एक आवश्यक कौशल है। यह शक्तिशाली यूटिलिटी प्रणाली पर चलने वाली सेवाओं को नियंत्रित करने के लिए सरल कमांड प्रदान करती है। चाहे आप सेवाओं को शुरू कर रहे हों, रोक रहे हों, सक्षम कर रहे हों या अक्षम कर रहे हों, systemctl
इन प्रक्रियाओं को आसान बनाता है, प्रणाली की विश्वसनीयता और प्रदर्शन को बढ़ाता है।
यह सेवा प्रबंधन के स्तरों को समझना भी महत्वपूर्ण है, सरल क्रियाओं जैसे कि शुरू और रोकने से लेकर जटिल क्रियाओं तक जैसे मास्क करना या इकाई फ़ाइलों को संपादित करना। जैसे-जैसे आप systemctl का उपयोग करने के लिए अधिक सहज होते जाते हैं, आप लिनक्स प्रणाली पर सेवाओं को अधिक प्रभावी ढंग से प्रबंधित करने में सक्षम होंगे, जो समग्र प्रणाली स्थिरता और दक्षता में योगदान करेगी।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं