systemctl: 12 कमांड जो लिनक्स को मास्टर करते हैं 🚀
systemctl कमांड में कई विशेषताएं हैं जिन्हें अक्सर अनदेखा कर दिया जाता है। लिनक्स में सेवाओं को शुरू करने और रोकने के अलावा, आप स्थापित सेवाओं को सूचीबद्ध भी कर सकते हैं और उनकी स्थिति की जांच भी कर सकते हैं। आइये एक त्वरित समीक्षा करें! 🚀
Systemctl कमांड क्या है?
systemctl कमांड systemd init सिस्टम के लिए केंद्रीय प्रबंधन उपकरण है, जिसे मुख्य रूप से सेवाओं को शुरू करने और रोकने के लिए उपयोग किए जाने वाले उपकरण के रूप में जाना जाता है। लेकिन इसमें और भी बहुत कुछ है, जैसा कि उनके लेख से प्रमाणित होता है। मैन पेज जिसमें 1600 से अधिक पंक्तियाँ हैं। 📖
क्योंकि systemctl एक प्रबंधन उपकरण है, न कि केवल एक सेवा लांचर, आप इसका उपयोग अपने सिस्टम और इसकी systemd सेवाओं के बारे में उपयोगी जानकारी तक पहुंचने के लिए कर सकते हैं। 💻
अधिकांश लिनक्स वितरणों ने systemd को अपना लिया है, लेकिन कुछ ने पारंपरिक SystemV init सिस्टम को बनाए रखना चुना है। यदि आप निश्चित नहीं हैं कि आपका वितरण किसका उपयोग करता है, तो इसका पता लगाना आसान है। हम init फ़ाइल को देखने के लिए stat कमांड का उपयोग करेंगे।
स्टेट /एसबीएन/आरंभ

/sbin/init निष्पादन योग्य फ़ाइल, SystemV-आधारित वितरणों में शुरू की जाने वाली पहली प्रक्रिया है। systemd-आधारित वितरण में, उस नाम वाला प्रतीकात्मक लिंक systemd की ओर संकेत करता है।
आउटपुट की पहली पंक्ति हमें दिखाती है कि इस उबंटू परीक्षण मशीन पर, /sbin/init फ़ाइल /lib/systemd/systemd का एक प्रतीकात्मक लिंक है। स्पष्टतः, यह लिनक्स इंस्टॉलेशन systemd का उपयोग करता है। यदि यह सिस्टमV-आधारित वितरण होता, तो पंक्ति में केवल “फ़ाइल: /sbin/init” होता।
systemctl के साथ पूछताछ सेवाएँ
सेवाओं को यूनिट फाइलों में परिभाषित किया जाता है, और आप systemctl विकल्पों में यूनिट शब्द को बिखरा हुआ देखेंगे। उदाहरण के तौर पर, हम –type विकल्प का उपयोग करके list-units कमांड के साथ सेवाओं की एक सूची प्राप्त कर सकते हैं।
सिस्टमसीटीएल सूची-इकाइयाँ --प्रकार=सेवा

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

यदि सब कुछ देखना मुश्किल हो जाए, तो हम –state विकल्प से आउटपुट को फ़िल्टर कर सकते हैं।
सिस्टमसीटीएल सूची-इकाइयाँ --प्रकार=सेवा --स्थिति=चल रही है

स्थिति विकल्प चालू, रुका हुआ, सक्षम, अक्षम और विफल को स्वीकार करेगा।
विफल सेवाओं पर ध्यान केंद्रित करने के लिए –failed विकल्प का उपयोग करें।
सिस्टमसीटीएल सूची-इकाइयाँ --विफल

इस कंप्यूटर पर कोई भी ड्राइव विफल नहीं है.
यदि आपको कोई विफल सेवा दिखाई दे, तो अपूर्ण निर्भरताओं की जांच के लिए सूची-निर्भरता विकल्प का उपयोग करें।
सिस्टमसीटीएल सूची-निर्भरताएँ sshd.service

निर्भरताओं में एक रंग-कोडित वृत्त होता है जो उनकी स्थिति को दर्शाता है। हो सकता है:
- सफेद वृत्त: निष्क्रिय या रखरखाव के अधीन
- हरा बिंदु: संपत्ति।
- सफेद बिंदु: निष्क्रिय किया जा रहा है.
- रेड डॉट: विफल या त्रुटि.
यह जांचने के लिए कि क्या कोई एकल सेवा सक्षम है, is-enabled कमांड का उपयोग करें और सेवा की यूनिट फ़ाइल का नाम प्रदान करें।
सिस्टमसीटीएल तों-सक्षम htg-example.service

systemctl के साथ सेवाओं को नियंत्रित करना
सेवाओं के प्रबंधन के लिए systemctl का उपयोग करना बहुत सरल है और यह उन आदेशों के प्रारूप का अनुसरण करता है जिन्हें हमने अब तक देखा है। सबसे बड़ा अंतर यह है कि आपको सेवा स्थिति में परिवर्तन करने के लिए sudo का उपयोग करना होगा। हमने अब तक ऐसा नहीं किया है, क्योंकि हम केवल सेवाओं की स्थिति पर ही रिपोर्टिंग करते रहे हैं।
किसी सेवा को प्रारंभ करने के लिए, सेवा नाम के बाद start कमांड का उपयोग करें।
मुझे पसीना आता है सिस्टमसीटीएल शुरू htg-उदाहरण।सेवा

यदि सब कुछ ठीक रहा तो आप चुपचाप कमांड प्रॉम्प्ट पर वापस आ जाएंगे। यदि आप सकारात्मक पुष्टि चाहते हैं, तो आप इसे स्टेटस कमांड से सत्यापित कर सकते हैं।
मुझे पसीना आता है सिस्टमसीटीएल स्थिति htg-उदाहरण।सेवा

किसी सेवा को रोकना उसे शुरू करने जितना ही आसान है।
मुझे पसीना आता है सिस्टमसीटीएल रुकना htg-उदाहरण।सेवा

आप किसी सेवा को रोकने और फिर शुरू करने की दो-चरणीय प्रक्रिया से गुजरे बिना उसे पुनः आरंभ कर सकते हैं। वह पुनः आरंभ आदेश यह सब आपके लिए करता है.
मुझे पसीना आता है सिस्टमसीटीएल पुनः आरंभ करें htg-उदाहरण।सेवा

यदि आप चाहते हैं कि कोई सेवा बूट के समय शुरू हो जाए तो आपको उसे सक्षम करना होगा।
मुझे पसीना आता है सिस्टमसीटीएल सक्षम htg-उदाहरण।सेवा

ध्यान दें कि यह केवल बूट के समय सेवा को प्रारंभ करने के लिए चिह्नित करता है, इसे तुरंत प्रारंभ नहीं करता है। यदि आप यही चाहते हैं, तो मैंने –now विकल्प जोड़ दिया है।
मुझे पसीना आता है सिस्टमसीटीएल सक्षम --अब htg-उदाहरण।सेवा

जब आपको बूट के समय किसी सेवा को शुरू करने की आवश्यकता न हो, तो उसे अक्षम कर दें।
मुझे पसीना आता है सिस्टमसीटीएल अक्षम करना htg-उदाहरण।सेवा

आप अपनी सेवा से संबंधित प्रविष्टियों को देखने के लिए systemd के दूसरे भाग, journalctl कमांड का उपयोग कर सकते हैं। -u (यूनिट) विकल्प आपको उस सेवा को निर्दिष्ट करने की अनुमति देता है जिसमें आप रुचि रखते हैं। -S (जबसे) विकल्प के साथ, आप उन प्रविष्टियों को प्रदर्शित कर सकते हैं जो आपके द्वारा प्रदान किए गए समय के बाद हुई हैं।
जर्नलctl -एस "08:00:00" -या htg-उदाहरण।सेवा

कोई भी उपकरण जो आपकी मदद करता है ऑपरेशन के बारे में जानकारी प्राप्त करें आपके लिनक्स वितरण के आंतरिक भाग, दिन-प्रतिदिन के प्रबंधन और समस्याओं के निवारण एवं निदान दोनों के लिए अमूल्य होंगे। systemctl कमांड एक एकल उपकरण नहीं है। यह एक विशेष औजार संदूक की तरह है, और इससे परिचित होना लाभदायक है। 🔧🛠️