संपादित 4 महीने पहले द्वारा ExtremeHow संपादकीय टीम
फेडोरासिस्टम्डसेवाएंप्रबंधनकमांड लाइनटर्मिनलसॉफ्टवेयरसिस्टम प्रशासनकॉन्फ़िगरेशनकंप्यूटर
अनुवाद अपडेट किया गया 4 महीने पहले
आधुनिक लिनक्स वितरणों पर सेवाओं का प्रबंधन करना सिस्टम प्रशासकों और किसी भी उपयोगकर्ता के लिए महत्वपूर्ण है जो मशीन पर चल रही सेवाओं पर नियंत्रण बनाए रखने की आवश्यकता है। फेडोरा, एक लोकप्रिय लिनक्स वितरण, अपने सिस्टम और सेवा प्रबंधक के रूप में सिस्टमड का उपयोग करता है। यह लेख समझाता है कि फेडोरा में सिस्टमड का उपयोग करके सेवाओं का प्रभावी ढंग से प्रबंधन कैसे किया जा सकता है। हम सेवाओं के शुरू, बंद, सक्षम, अक्षम करने और उनकी स्थिति की जाँच करने जैसे विषयों को कवर करेंगे, साथ ही अनुकूलित सेवा इकाइयों को बनाने का तरीका भी। चाहे आप फेडोरा या सामान्य रूप से लिनक्स सिस्टम के लिए नए हों, या आपको याद दिलाने की आवश्यकता वाले अनुभवी उपयोगकर्ता हों, यह व्यापक गाइड सभी के लिए उपयोगी है।
सिस्टमड एक उपकरण है जो पारंपरिक यूनिक्स सिस्टम V
(sysv
) और बीएसडी इनिट
को प्रतिस्थापित करने के लिए डिज़ाइन किया गया सिस्टम और सेवा प्रबंधक प्रदान करता है। यह डिमनों का ऑन-डिमांड स्टार्ट, सेवा निगरानी, स्नैपशॉट समर्थन, और अधिक प्रदान करता है। सिस्टमड का कोर systemctl
कमांड के माध्यम से प्रबंधित होता है, जो सिस्टमड सिस्टम और सेवा प्रबंधक की स्थिति की जांच और नियंत्रण के लिए जिम्मेदार है।
सिस्टमड के व्यावहारिक उपयोग में जाने से पहले, इसके मुख्य घटकों को समझना सहायक होता है:
सिस्टमड में सेवा इकाइयाँ सबसे सामान्य प्रकार की इकाई हैं। ये इकाइयाँ सेटिंग्स को समाहित करती हैं जो सेवाओं की क्या हैं, उन्हें कैसे शुरू या बंद किया जाना चाहिए, वे किस पर निर्भर हैं, और अन्य विशेष व्यवहार को परिभाषित करती हैं।
सेवा इकाई फ़ाइल आमतौर पर /etc/systemd/system
या /usr/lib/systemd/system
में स्थित होती है और इसमें निम्नलिखित सिंटैक्स होता है:
[Unit]
Description=My Sample Service
[Service]
ExecStart=/usr/bin/my-service
ExecStop=/usr/bin/my-service-stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
प्रत्येक सेवा फ़ाइल में आमतौर पर निम्नलिखित खंड होते हैं:
systemctl
कमांड का उपयोग सिस्टमड की निगरानी और नियंत्रण के लिए किया जाता है। नीचे सामान्य कार्य और systemctl
का उपयोग करके उन्हें कैसे किया जा सकता है:
किसी सेवा की स्थिति की जांच करने के लिए, इसका उपयोग करें:
systemctl status my-service.service
यह कमांड सेवा की स्थिति, हाल के लॉग्स और अधिक जानकारी प्रदान करेगा।
सेवा शुरू करने के लिए निम्नलिखित का उपयोग करें:
systemctl start my-service.service
किसी सेवा को मैन्युअली शुरू करना इसका मतलब नहीं है कि वह बूट के समय स्वतः शुरू हो जाएगी।
किसी सेवा को बंद करने के लिए निम्नलिखित कमांड का उपयोग करें:
systemctl stop my-service.service
यह कमांड सेवा को मैन्युअली रिस्टार्ट करने या रिबूट होने तक बंद कर देती है।
किसी सेवा को पुनः शुरू करने के लिए, इसका उपयोग करें:
systemctl restart my-service.service
यह ऑपरेशन सेवा को (यदि वह चल रही है) बंद कर फिर से शुरू करता है।
सिस्टम बूट पर स्वचालित रूप से सेवा शुरू करने के लिए, उसे इस प्रकार सक्षम करें:
systemctl enable my-service.service
इसके विपरीत, सेवा को अक्षम करने के लिए ताकि वह स्वतः शुरू न हो, इसका उपयोग करें:
systemctl disable my-service.service
किसी सेवा को सक्षम करना सेवा की यूनिट फ़ाइल से सिस्टम के बूट-अप कॉन्फ़िगरेशन के लिए एक सांकेतिक लिंक बनाता है।
यदि आप सिस्टमड ट्री में एक यूनिट फ़ाइल या कॉन्फ़िगरेशन को संशोधित करते हैं, तो अक्सर सिस्टमड को रीलोड करना आवश्यक होता है:
systemctl daemon-reload
इस कमांड से सिस्टमड को नई या संशोधित यूनिट फ़ाइलों के लिए स्कैन करने के लिए सूचना मिलती है।
एक अनुकूलित सेवा बनाना आपको अपनी खुद की एप्लिकेशन को प्रबंधित सेवाओं के रूप में चलाने की अनुमति देता है। इसे बनाने का सरल तरीक्के है:
एक टेक्स्ट एडिटर खोलें और /etc/systemd/system/
डायरेक्टरी में एक नई सेवा यूनिट फ़ाइल बनाएं:
sudo nano /etc/systemd/system/my-custom-service.service
इसे आवश्यक सेवा परिभाषा के साथ भरें:
[Unit]
Description=Custom Service Example
[Service]
ExecStart=/usr/bin/custom-script.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
सुनिश्चित करें कि ExecStart
में कहा गया स्क्रिप्ट या कार्यक्रम के पास उचित अनुमतियाँ हैं:
chmod +x /usr/bin/custom-script.sh
नई यूनिट फ़ाइल बनाने के बाद, सिस्टमड को रीलोड करें:
systemctl daemon-reload
अब अपनी अनुकूलित सेवा को शुरू और सक्षम करें:
systemctl start my-custom-service.service
systemctl enable my-custom-service.service
आपकी अनुकूलित सेवा अब किसी भी अन्य सिस्टम सेवा के रूप में प्रबंधित की जानी चाहिए।
लक्ष्य एंडपॉइंट्स कॉन्फ़िगरेशन होते हैं जो पारंपरिक इनिट सिस्टम में रनलेवल्स के अवधारणा को निरूपित करने की अनुमति देते हैं। वे सेवाओं और अन्य इकाइयों के बीच निर्भरताओं को प्रबंधित करने में मदद करते हैं, जो कई सेवाओं और इकाइयों को एक साथ समूहबद्ध करने का तरीका प्रदान करते हैं।
अपनी प्रणाली पर उपलब्ध लक्ष्यों का पता लगाने के लिए, इसका उपयोग करें:
systemctl list-units --type=target
लक्ष्य या रनलेवल बदलने के लिए, इसका उपयोग करें:
systemctl isolate multi-user.target
यह कमांड मल्टी-यूजर मोड में रनलेवल बदलने के लिए समकक्ष है।
सिस्टमड एक समाकलित प्रणाली जर्नलिंग उपकरण journalctl
के साथ आता है। यह लॉग प्रबंधन उपकरण सिस्टमड द्वारा प्रबंधित सभी सेवाओं के लॉग्स को एक केंद्रीय भंडार में संयोजित करता है।
किसी विशेष सेवा के लिए लॉग देखने के लिए, इसका उपयोग करें:
journalctl -u my-service.service
लॉग को वास्तविक समय में उन पर निगरानी करने के लिए जब वे उत्पन्न हो रहे हैं, निम्न ध्वज का उपयोग करें:
journalctl -u my-service.service -f
कभी-कभी सेवाओं के प्रबंधन में समस्याएँ हो सकती हैं। निवारण के तरीकों को जानना अमूल्य हो सकता है:
journalctl
का उपयोग करके उस सेवा के लिए लॉग प्रविष्टियों की जाँच करें ताकि विशिष्ट त्रुटि संदेशों की पहचान की जा सके।systemctl list-dependencies
कमांड का उपयोग करें।
सेवाओं का कुशल प्रबंधन फेडोरा और अन्य लिनक्स वितरणों में प्रणाली प्रशासन के लिए महत्वपूर्ण है जो सिस्टमड का उपयोग करते हैं। इस गाइड ने आपको systemctl
का उपयोग करके सेवाओं के विभिन्न पहलुओं का प्रबंधन करने का तरीका दिखाया है, जैसे कि सेवाओं को शुरू और बंद करने जैसी मूल बातें करना, अनुकूलित सेवा इकाइयाँ बनाना, और journalctl के साथ लॉग को संभालना। इन कौशल के साथ, आप सुनिश्चित कर सकते हैं कि आपकी प्रणालियाँ दक्षतापूर्वक और सुचारू रूप से चलती हैं, कार्यों को स्वचालित करते हैं, और प्रणाली सेवाओं का प्रभावी ढंग से प्रबंधन करते हैं।
याद रखें कि लिनक्स दुनिया में, किसी प्रणाली पर किया गया कोई भी कार्य रूट विशेषाधिकार की आवश्यकता हो सकता है। सुनिश्चित करें कि आपके पास सही अनुमतियाँ हैं और हमेशा महत्वपूर्ण फाइलों का बैक अप बनाएं इससे पहले कि आप महत्वपूर्ण प्रणाली कॉन्फ़िगरेशन में परिवर्तन करें। सिस्टमड और इसके द्वारा प्रदत्त उपकरणों को समझना प्रभावी लिनक्स सेवा प्रबंधन के लिए अमूल्य है।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं