Systemd दस्तावेज़

From binaryoption
Jump to navigation Jump to search
Баннер1
    1. सिस्टमडी दस्तावेज़

सिस्टमडी (systemd) आधुनिक लिनक्स ऑपरेटिंग सिस्टम के लिए एक सिस्टम और सर्विस मैनेजर है। यह पारंपरिक SysVinit सिस्टम की जगह लेने के लिए विकसित किया गया था और अब अधिकांश प्रमुख लिनक्स वितरणों में डिफ़ॉल्ट रूप से उपयोग किया जाता है। सिस्टमडी सिर्फ एक इनिशियलाइज़ेशन सिस्टम से कहीं ज़्यादा है; यह सिस्टम के बूट प्रोसेस, सर्विस मैनेजमेंट, इवेंट लॉगिंग, और कई अन्य महत्वपूर्ण कार्यों का व्यापक ढांचा प्रदान करता है। इस लेख में, हम सिस्टमडी की मूल अवधारणाओं, इसकी प्रमुख विशेषताओं, और इसे कैसे उपयोग किया जाए, इस पर विस्तार से चर्चा करेंगे।

सिस्टमडी का परिचय

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

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

सिस्टमडी की मुख्य अवधारणाएँ

सिस्टमडी कई महत्वपूर्ण अवधारणाओं पर आधारित है जिन्हें समझना आवश्यक है:

  • यूनिट्स: यूनिट्स सिस्टमडी में कॉन्फ़िगरेशन फ़ाइलों को दर्शाती हैं। ये फाइलें बताती हैं कि सिस्टम को क्या करना है, जैसे कि सर्विस शुरू करना, सॉकेट को सुनना, डिवाइस को माउंट करना, या टाइमर सेट करना।
  • यूनिट प्रकार: विभिन्न प्रकार के यूनिट्स होते हैं, जिनमें शामिल हैं:
   *   Service: बैकग्राउंड प्रोसेस को प्रबंधित करता है। उदाहरण के लिए, Apache वेब सर्वर या MySQL डेटाबेस। Service units
   *   Socket: नेटवर्क सॉकेट को प्रबंधित करता है। Socket units
   *   Target: अन्य यूनिट्स के समूहों को व्यवस्थित करने के लिए उपयोग किया जाता है। Target units
   *   Mount: फ़ाइल सिस्टम को माउंट और अनमाउंट करता है। Mount units
   *   Timer: शेड्यूल किए गए कार्यों को निष्पादित करता है। Timer units
  • यूनिट फ़ाइलें: यूनिट फ़ाइलें सादे पाठ फ़ाइलें होती हैं जो यूनिट को कॉन्फ़िगर करती हैं। ये फाइलें आमतौर पर `/etc/systemd/system/` निर्देशिका में स्थित होती हैं। Unit file structure
  • जर्नल: सिस्टमडी जर्नलिंग एक केंद्रीकृत लॉगिंग सिस्टम है जो सिस्टम इवेंट्स और सर्विस लॉग्स को रिकॉर्ड करता है। Systemd journal
  • cgroups: कंट्रोल ग्रुप्स (cgroups) प्रोसेस रिसोर्स को लिमिट और अकाउंट करने का एक तरीका है। सिस्टमडी cgroups का उपयोग सर्विस को रिसोर्स आवंटित करने और प्रबंधित करने के लिए करता है। Control Groups

सिस्टमडी कमांड्स

सिस्टमडी को प्रबंधित करने के लिए कई कमांड-लाइन टूल उपलब्ध हैं। यहां कुछ सबसे आम कमांड दिए गए हैं:

  • systemctl: सिस्टमडी को नियंत्रित करने के लिए मुख्य कमांड है। इसका उपयोग सर्विस को शुरू करने, रोकने, पुनरारंभ करने, स्थिति जांचने और सक्षम करने के लिए किया जाता है।
   *   `systemctl start <unit>`: एक यूनिट शुरू करता है।
   *   `systemctl stop <unit>`: एक यूनिट रोकता है।
   *   `systemctl restart <unit>`: एक यूनिट को पुनरारंभ करता है।
   *   `systemctl status <unit>`: एक यूनिट की स्थिति दिखाता है।
   *   `systemctl enable <unit>`: एक यूनिट को बूट पर स्वचालित रूप से शुरू करने के लिए सक्षम करता है।
   *   `systemctl disable <unit>`: एक यूनिट को बूट पर स्वचालित रूप से शुरू होने से रोकता है।
  • journalctl: सिस्टमडी जर्नलिंग को देखने और प्रबंधित करने के लिए उपयोग किया जाता है।
   *   `journalctl`: सभी लॉग एंट्री दिखाता है।
   *   `journalctl -u <unit>`: एक विशिष्ट यूनिट के लिए लॉग एंट्री दिखाता है।
   *   `journalctl -f`: लाइव लॉग दिखाता है।
  • systemd-analyze: बूट प्रक्रिया का विश्लेषण करने और प्रदर्शन को मापने के लिए उपयोग किया जाता है।
   *   `systemd-analyze time`: बूट समय दिखाता है।
   *   `systemd-analyze blame`: बूट प्रक्रिया में सबसे अधिक समय लेने वाली यूनिट्स दिखाता है।

यूनिट फ़ाइलें बनाना और संपादित करना

यूनिट फ़ाइलें सिस्टमडी में सर्विस को कॉन्फ़िगर करने का आधार हैं। एक यूनिट फ़ाइल में कई सेक्शन हो सकते हैं, जिनमें शामिल हैं:

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

एक साधारण सर्विस यूनिट फ़ाइल का उदाहरण:

``` [Unit] Description=My Simple Service After=network.target

[Service] ExecStart=/usr/local/bin/my_service User=myuser Restart=on-failure

[Install] WantedBy=multi-user.target ```

इस उदाहरण में:

  • `Description` सर्विस का वर्णन करता है।
  • `After` निर्दिष्ट करता है कि यह सर्विस नेटवर्क शुरू होने के बाद शुरू होनी चाहिए।
  • `ExecStart` सर्विस शुरू करने के लिए निष्पादन योग्य फ़ाइल निर्दिष्ट करता है।
  • `User` उस उपयोगकर्ता को निर्दिष्ट करता है जिसके तहत सर्विस चलेगी।
  • `Restart` विफल होने पर सर्विस को पुनरारंभ करने की नीति निर्दिष्ट करता है।
  • `WantedBy` निर्दिष्ट करता है कि यह सर्विस मल्टी-यूजर मोड में शुरू होनी चाहिए।

यूनिट फ़ाइलों को बनाने और संपादित करने के लिए, आप किसी भी टेक्स्ट एडिटर का उपयोग कर सकते हैं। यूनिट फ़ाइल को `/etc/systemd/system/` निर्देशिका में सहेजा जाना चाहिए। फ़ाइल को सहेजने के बाद, आपको सिस्टमडी को कॉन्फ़िगरेशन को फिर से लोड करने के लिए `systemctl daemon-reload` कमांड चलाना होगा।

सिस्टमडी के साथ सर्विस मैनेजमेंट

सिस्टमडी सर्विस को प्रबंधित करने के लिए एक शक्तिशाली और लचीला तरीका प्रदान करता है। यहां कुछ सामान्य सर्विस मैनेजमेंट कार्य दिए गए हैं:

1. नई सर्विस बनाना:

   *   `/etc/systemd/system/` निर्देशिका में एक नई यूनिट फ़ाइल बनाएं।
   *   यूनिट फ़ाइल को संपादित करें और सर्विस को कॉन्फ़िगर करें।
   *   `systemctl daemon-reload` चलाकर सिस्टमडी को कॉन्फ़िगरेशन को फिर से लोड करें।
   *   `systemctl start <unit>` चलाकर सर्विस शुरू करें।
   *   `systemctl enable <unit>` चलाकर सर्विस को बूट पर स्वचालित रूप से शुरू करने के लिए सक्षम करें।

2. सर्विस को रोकना:

   *   `systemctl stop <unit>` चलाएं।

3. सर्विस को पुनरारंभ करना:

   *   `systemctl restart <unit>` चलाएं।

4. सर्विस की स्थिति जांचना:

   *   `systemctl status <unit>` चलाएं।

5. सर्विस को डिबग करना:

   *   `journalctl -u <unit>` चलाकर सर्विस के लॉग देखें।

सिस्टमडी और सुरक्षा

सिस्टमडी सुरक्षा को बढ़ाने के लिए कई सुविधाएँ प्रदान करता है। कुछ महत्वपूर्ण सुरक्षा सुविधाएँ शामिल हैं:

  • सैंडबॉक्सिंग: सिस्टमडी सर्विस को सैंडबॉक्स किया जा सकता है, जिससे उनकी सिस्टम संसाधनों तक पहुंच सीमित हो जाती है। Systemd sandboxing
  • प्रिविलेज ड्रॉपिंग: सर्विस को कम विशेषाधिकारों के साथ चलाया जा सकता है, जिससे सुरक्षा जोखिम कम हो जाता है। Privilege dropping
  • सिक्योर बूट: सिस्टमडी सिक्योर बूट का समर्थन करता है, जो यह सुनिश्चित करता है कि केवल विश्वसनीय सॉफ़्टवेयर ही बूट हो सकता है। Secure Boot
  • रीसोर्स लिमिट्स: सर्विस के लिए रिसोर्स लिमिट्स को कॉन्फ़िगर किया जा सकता है, जिससे वे सिस्टम संसाधनों को ज़्यादा इस्तेमाल न कर सकें। Resource Limits

सिस्टमडी के फायदे और नुकसान

सिस्टमडी के कई फायदे हैं, लेकिन इसके कुछ नुकसान भी हैं।

फायदे:

  • तेज़ बूट समय
  • सरल सर्विस मैनेजमेंट
  • बेहतर डिपेंडेंसी मैनेजमेंट
  • केंद्रीकृत लॉगिंग
  • सुरक्षा सुविधाएँ

नुकसान:

  • जटिलता: सिस्टमडी पारंपरिक SysVinit से अधिक जटिल है।
  • बड़ी निर्भरता: सिस्टमडी कई सिस्टम घटकों पर निर्भर करता है।
  • विवाद: सिस्टमडी के डिज़ाइन और कार्यान्वयन को लेकर कुछ विवाद हैं।

निष्कर्ष

सिस्टमडी आधुनिक लिनक्स ऑपरेटिंग सिस्टम के लिए एक शक्तिशाली और लचीला सिस्टम और सर्विस मैनेजर है। यह पारंपरिक SysVinit सिस्टम की कई कमियों को दूर करता है और सिस्टम एडमिनिस्ट्रेशन को सरल बनाता है। सिस्टमडी की मूल अवधारणाओं और कमांड्स को समझने से आप अपने लिनक्स सिस्टम को प्रभावी ढंग से प्रबंधित कर सकते हैं।

आगे की पढ़ाई

  • Systemd official documentation: सिस्टमडी के बारे में अधिक जानकारी के लिए आधिकारिक दस्तावेज़ देखें।
  • Arch Wiki - systemd: सिस्टमडी पर एक विस्तृत लेख।
  • Red Hat documentation - systemd: रेड हैट द्वारा सिस्टमडी दस्तावेज़।
  • Freedesktop.org - systemd: फ्रीडेस्कटॉप.org पर सिस्टमडी संसाधन।

इस लेख में, हमने सिस्टमडी के मूल सिद्धांतों को कवर किया है। यह एक जटिल विषय है, लेकिन उम्मीद है कि यह शुरुआती लोगों के लिए एक अच्छी शुरुआत होगी।

बाइनरी ऑप्शन ट्रेडिंग तकनीकी विश्लेषण वॉल्यूम विश्लेषण जोखिम प्रबंधन मनी मैनेजमेंट कॉल ऑप्शन पुट ऑप्शन बाइनरी ऑप्शन रणनीति बाइनरी ऑप्शन सिग्नल ब्रोकर चयन ट्रेडिंग प्लेटफॉर्म मार्केट विश्लेषण आर्थिक कैलेंडर चार्ट पैटर्न इंडेक्स ट्रेडिंग करेंसी ट्रेडिंग कमोडिटी ट्रेडिंग उच्च/निम्न बाइनरी ऑप्शन टच/नो टच बाइनरी ऑप्शन रेंज बाइनरी ऑप्शन अन्य संभावित श्रेणियाँ: Linux, System Administration, Operating Systems

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер