एक रनलेवल क्या है?

सितम्बर 23, 2025

रनलेवल, UNIX या Linux सिस्टम की पूर्वनिर्धारित ऑपरेटिंग स्थिति है जो यह निर्धारित करती है कि बूट के बाद कौन सी सेवाएं और प्रक्रियाएं उपलब्ध हैं।

रनलेवल क्या है?

रनलेवल क्या है?

रनलेवल एक अवधारणा है यूनिक्स और लिनक्स ऑपरेटिंग सिस्टम यह निर्धारित करके कि कौन सी प्रक्रियाएँ, सेवाएँ और सिस्टम संसाधन सक्रिय हैं, मशीन की एक विशिष्ट स्थिति को परिभाषित करता है। यह सिस्टम के स्टार्टअप और शटडाउन को नियंत्रित करने के लिए एक ढाँचे के रूप में कार्य करता है, जिससे प्रशासकों परिचालन आवश्यकताओं के अनुसार परिवेश का प्रबंधन करने के लिए। प्रत्येक रनलेवल एक विशिष्ट मोड से संबंधित होता है, जैसे सिस्टम रखरखाव, टेक्स्ट-आधारित बहु-उपयोगकर्ता संचालन, या पूर्ण ग्राफ़िकल इंटरफ़ेस उपलब्धता।

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

विभिन्न लिनक्स रनलेवल

यहां पारंपरिक लिनक्स SysV रनलेवल और उनके उद्देश्यों की एक संरचित तालिका दी गई है:

रनलेवलविवरणविशिष्ट उपयोग मामला
0रुकना (बंद करना)सिस्टम को सुरक्षित रूप से बंद कर देता है।
1एकल-उपयोगकर्ता मोडरखरखाव या आपातकालीन मोड के साथ मूल प्रवेश केवल, कोई नेटवर्किंग नहीं।
2नेटवर्किंग के बिना बहु-उपयोगकर्ता मोडएकाधिक उपयोगकर्ता लॉगिन प्रदान करता है लेकिन नेटवर्क सेवाओं को अक्षम करता है (वितरण के अनुसार भिन्न होता है)।
3नेटवर्किंग के साथ पूर्ण बहु-उपयोगकर्ता मोडसभी सेवाओं और नेटवर्किंग सक्षम के साथ मानक पाठ-आधारित, गैर-ग्राफ़िकल मोड।
4अपरिभाषित / उपयोगकर्ता-परिभाषितशायद ही कभी इस्तेमाल किया जाता है; कस्टम कॉन्फ़िगरेशन के लिए उपलब्ध है।
5नेटवर्किंग और GUI के साथ बहु-उपयोगकर्ता मोडपूर्ण नेटवर्किंग के साथ ग्राफिकल डेस्कटॉप वातावरण में बूट होता है।
6रीबूट करेंसिस्टम को सुरक्षित रूप से पुनः आरंभ करता है.

रनलेवल का उपयोग किस लिए किया जाता है?

रनलेवल का उपयोग किसी उपकरण की परिचालन स्थिति को नियंत्रित करने के लिए किया जाता है। Linux किसी भी समय कौन सी सेवाएँ, प्रक्रियाएँ और सिस्टम संसाधन सक्रिय होने चाहिए, यह निर्धारित करके या UNIX सिस्टम को नियंत्रित करके। ये प्रशासकों को स्टार्टअप, शटडाउन या संचालन के विभिन्न तरीकों के बीच संक्रमण के दौरान सिस्टम के व्यवहार को प्रबंधित करने की अनुमति देते हैं।

उदाहरण के लिए, किसी सिस्टम को समस्या निवारण के लिए एकल-उपयोगकर्ता मोड में रखा जा सकता है, सामान्य समस्याओं के लिए बहु-उपयोगकर्ता मोड में बदला जा सकता है server संचालन, या डेस्कटॉप उपयोग के लिए ग्राफ़िकल इंटरफ़ेस में बूट किया जा सकता है। रनलेवल सेट या बदलकर, व्यवस्थापक सेवाओं के समूहों को शीघ्रता से सक्षम या अक्षम कर सकते हैं, सिस्टम संसाधनों का संरक्षण कर सकते हैं, रखरखाव कार्य कर सकते हैं, या यह सुनिश्चित कर सकते हैं कि मशीन अपनी इच्छित भूमिका के लिए सबसे उपयुक्त कॉन्फ़िगरेशन में चले। यह संरचित दृष्टिकोण विभिन्न वातावरणों में एकरूपता, सुरक्षा और दक्षता बनाए रखने में मदद करता है।

रनलेवल कैसे जांचें?

आप सिस्टम की परिचालन स्थिति की रिपोर्ट करने वाले कमांड का उपयोग करके लिनक्स सिस्टम पर वर्तमान रनलेवल की जाँच कर सकते हैं। पारंपरिक लिनक्स सिस्टम पर sysvinit सिस्टम में, रनलेवल कमांड पिछले और वर्तमान रनलेवल को प्रदर्शित करता है, जबकि who -r कमांड वर्तमान रनलेवल को अधिक विस्तार से दिखाता है।

आधुनिक पर systemd-आधारित वितरण, जो रनलेवल को प्रतिस्थापित करते हैं लक्ष्य, डिफ़ॉल्ट लक्ष्य को देखने के लिए समतुल्य कमांड systemctl get-default है, और systemctl isolate दूसरे पर स्विच करने के लिए। इसके अतिरिक्त, systemctl list-units --type=target सक्रिय लक्ष्यों के बारे में जानकारी प्रदान करता है, जो multi-user.target या graphical.target जैसे रनलेवल से मेल खाते हैं।

लिनक्स में रनलेवल कैसे बदलें?

लिनक्स में रनलेवल कैसे बदलें?

लिनक्स में रनलेवल बदलना इस बात पर निर्भर करता है कि सिस्टम पुराने संस्करण का उपयोग करता है या नहीं। sysvinit ढांचा या आधुनिक systemd init प्रणाली.

SysVinit-आधारित प्रणालियाँ

रनलेवल को init या telinit कमांड के बाद रनलेवल संख्या द्वारा अस्थायी रूप से बदला जा सकता है। उदाहरण के लिए, init 3 चलाने पर सिस्टम बिना ग्राफ़िकल इंटरफ़ेस के बहु-उपयोगकर्ता मोड में चला जाता है, जबकि init 5 ग्राफ़िकल डेस्कटॉप वातावरण शुरू करता है। परिवर्तन को स्थायी बनाने के लिए, डिफ़ॉल्ट रनलेवल को /etc/inittab फ़ाइल में संशोधित करना होगा, जहाँ सिस्टम यह पढ़ता है कि किस रनलेवल को बदलना है। बूट डिफ़ॉल्ट रूप से.

सिस्टमड-आधारित प्रणालियाँ

रनलेवल को प्रतिस्थापित किया जाता है लक्ष्यअस्थायी रूप से किसी अन्य लक्ष्य पर स्विच करने के लिए, आप systemctl isolate का उपयोग करते हैं जैसे, टेक्स्ट मोड में प्रवेश करने के लिए systemctl isolate multi-user.target या GUI शुरू करने के लिए systemctl isolate graphical.target। भविष्य में बूट के लिए डिफ़ॉल्ट बदलने के लिए, आप systemctl set-default चलाएँ। , जो डिफ़ॉल्ट सिस्टम लक्ष्य के लिए प्रतीकात्मक लिंक को अद्यतन करता है।

रनलेवल क्यों महत्वपूर्ण है?

लिनक्स और यूनिक्स प्रणालियों में रनलेवल क्यों महत्वपूर्ण हैं, इसके कारणों की सूची यहां दी गई है:

  • तंत्र नियंत्रणरनलेवल यह परिभाषित करते हैं कि कौन सी सेवाएं और प्रक्रियाएं चलनी चाहिए, जिससे प्रशासकों को सिस्टम की परिचालन स्थिति पर सटीक नियंत्रण मिलता है।
  • Flexाबिलतावे विभिन्न मोड के बीच त्वरित स्विचिंग की अनुमति देते हैं, जैसे रखरखाव के लिए एकल-उपयोगकर्ता मोड या डेस्कटॉप उपयोग के लिए ग्राफिकल मोड।
  • समस्या निवारणव्यवस्थापक कॉन्फ़िगरेशन त्रुटियों को ठीक करने या विफलताओं से उबरने के लिए न्यूनतम वातावरण (जैसे रनलेवल 1) में बूट कर सकते हैं।
  • संसाधन प्रबंधनकुछ रनलेवल में अनावश्यक सेवाओं को अक्षम करके, सिस्टम सी पी यू, स्मृति, और शक्ति।
  • सुरक्षानिम्न रनलेवल उपयोगकर्ताओं और सेवाओं तक पहुंच को प्रतिबंधित कर सकते हैं, जो रखरखाव या संदिग्ध समझौता के दौरान सिस्टम को अलग करने में उपयोगी होता है।
  • कंसिस्टेंसी (Consistency) वे विभिन्न यूनिक्स-जैसी प्रणालियों में सिस्टम स्थितियों के लिए एक मानकीकृत संरचना प्रदान करते हैं, जिससे प्रशासन सरल हो जाता है।
  • स्वचालन. लिपियों और रनलेवल से जुड़े कॉन्फ़िगरेशन स्टार्टअप, शटडाउन और संक्रमण को सुव्यवस्थित करते हैं, जिससे मैनुअल काम कम हो जाता है।

रनलेवल समस्याएँ

यहां सामान्य रनलेवल समस्याओं का अवलोकन दिया गया है और बताया गया है कि वे क्यों महत्वपूर्ण हैं:

  • गलत कॉन्फ़िगर किया गया डिफ़ॉल्ट रनलेवलयदि सिस्टम का डिफ़ॉल्ट रनलेवल (या systemd लक्ष्य) गलत तरीके से सेट किया गया है, तो मशीन अवांछित स्थिति में बूट हो सकती है, जैसे कि ग्राफ़िकल मोड में server, या वर्कस्टेशन पर गैर-नेटवर्क मोड, जिसके परिणामस्वरूप संसाधनों की बर्बादी होती है या उपयोगिता सीमित हो जाती है।
  • महत्वपूर्ण सेवाओं को लोड करने में विफलताकिसी निश्चित रनलेवल पर, कुछ डेमॉन इनके स्वचालित रूप से प्रारंभ होने की अपेक्षा की जाती है। यदि कॉन्फ़िगरेशन त्रुटियाँ इन्हें प्रारंभ होने से रोकती हैं, तो सिस्टम में नेटवर्किंग, प्रदर्शन सेवाएँ, या यहाँ तक कि आवश्यक लॉगिन क्षमताएँ भी नहीं हो सकती हैं, जिससे यह आंशिक रूप से या पूरी तरह से अनुपयोगी हो सकता है।
  • रनलेवल बदलने में असमर्थता. प्रारंभ स्क्रिप्ट या सेवा के साथ समस्याएँ निर्भरता सिस्टम को गतिशील रूप से मोड बदलने से रोक सकता है। उदाहरण के लिए, यदि डिस्प्ले मैनेजर गलत तरीके से कॉन्फ़िगर किया गया है या गायब है, तो रनलेवल 3 (टेक्स्ट-आधारित बहु-उपयोगकर्ता) से रनलेवल 5 (ग्राफ़िकल) पर स्विच करना विफल हो सकता है।
  • बूट लूप या क्रैशएक गलत या टूटे हुए रनलेवल कॉन्फ़िगरेशन के कारण सिस्टम बार-बार असंगत सेवाओं को लोड करने का प्रयास कर सकता है, जिसके परिणामस्वरूप लगातार रीबूट या गिरी घबराहट होती है। ऐसा अक्सर तब होता है जब डिफ़ॉल्ट रनलेवल किसी ऐसे मोड की ओर इशारा करता है जो अनुपलब्ध होता है हार्डवेयर या सॉफ्टवेयर.
  • वितरणों में असंगत व्यवहार। सब नहीं लिनक्स वितरण रनलेवल के साथ भी ऐसा ही व्यवहार करें। उदाहरण के लिए, कुछ लोग रनलेवल 2 को डिफ़ॉल्ट मल्टी-यूज़र मोड के रूप में इस्तेमाल करते हैं, जबकि कुछ अन्य रनलेवल 3 या 5 का इस्तेमाल करते हैं। जब एडमिनिस्ट्रेटर कई सिस्टम पर काम करते हैं, तो इससे भ्रम और गलत कॉन्फ़िगरेशन की स्थिति पैदा हो सकती है।
  • systemd लक्ष्यों में संक्रमणआधुनिक लिनक्स सिस्टम ने रनलेवल को बड़े पैमाने पर systemd टारगेट से बदल दिया है। हालाँकि ये दोनों एक ही उद्देश्य पूरा करते हैं, लेकिन शब्दावली और कमांड में अंतर SysVinit के आदी प्रशासकों के लिए समस्याएँ पैदा कर सकता है, जिससे सेवा प्रबंधन और सिस्टम रिकवरी में गलतियाँ हो सकती हैं।

टारगेट और रनलेवल में क्या अंतर है?

यहाँ एक तुलना तालिका दी गई है जो इनके बीच अंतर स्पष्ट करती है रनलेवलों और लक्ष्य लिनक्स में:

पहलूरनलेवल (SysVinit)लक्ष्य (systemd)
परिभाषा एक पूर्वनिर्धारित संख्यात्मक स्थिति (0-6) जो निर्धारित करती है कि कौन सी सेवाएँ और प्रक्रियाएँ शुरू होंगी।systemd में एक नामित इकाई जो सेवाओं को समूहीकृत करती है और सिस्टम की स्थिति को परिभाषित करती है।
प्रारूपसंख्याओं द्वारा पहचाना जाता है (उदाहरण के लिए, रनलेवल 3 = GUI के बिना बहु-उपयोगकर्ता).वर्णनात्मक नामों से पहचाना जाता है (जैसे, multi-user.target, graphical.target).
विन्यास फाइल/etc/inittab के माध्यम से नियंत्रित./etc/systemd/system/ और /lib/systemd/system/ के अंतर्गत इकाई फ़ाइलों के साथ प्रबंधित।
Flexाबिलतासीमित अनुकूलन (अधिकतर 7 रनलेवल) के साथ निश्चित स्थितियाँ।अत्यधिक flexible, कस्टम लक्ष्य और निर्भरता की अनुमति देता है।
डिफ़ॉल्ट स्थिति/etc/inittab में सेट करें.systemctl set-default के साथ सेट करें .
आदेश बदलेंinit के साथ अस्थायी रूप से बदला गया या टेलिनिट .systemctl isolate के साथ अस्थायी रूप से परिवर्तित .
तानानाआसानी से विस्तार योग्य नहीं; विरासत SysVinit से बंधा हुआ।पूर्णतः विस्तार योग्य; प्रशासक विशिष्ट आवश्यकताओं के लिए नए लक्ष्य बना सकते हैं।
वर्तमान स्थिति की जाँचरनलेवल या who -r से जाँच की गई।systemctl get-default या systemctl list-units --type=target से जाँच की गई।

अनास्ताज़िजा
स्पासोजेविक
अनास्ताज़ीजा ज्ञान और जुनून के साथ एक अनुभवी सामग्री लेखक हैं cloud कंप्यूटिंग, सूचना प्रौद्योगिकी और ऑनलाइन सुरक्षा। पर phoenixNAP, वह डिजिटल परिदृश्य में सभी प्रतिभागियों के लिए डेटा की मजबूती और सुरक्षा सुनिश्चित करने के बारे में ज्वलंत सवालों के जवाब देने पर ध्यान केंद्रित करती है।