लिनक्स पर रनलेवल्स क्या हैं?
जब एक लिनक्स सिस्टम बूट होता है, तो यह अपने डिफॉल्ट रनलेव में प्रवेश करता है और उस रनवेल से जुड़ी स्टार्टअप स्क्रिप्ट चलाता है। आप रनवे के बीच भी स्विच कर सकते हैं - उदाहरण के लिए, रिकवरी और रखरखाव कार्यों के लिए डिज़ाइन किया गया रनवे है.
परंपरागत रूप से, लिनक्स ने सिस्टम वी-स्टाइल इनिट स्क्रिप्ट्स का उपयोग किया है - जबकि नए इनिट सिस्टम अंततः पारंपरिक रनवेल्स को अप्रचलित करेंगे, उन्होंने अभी तक नहीं किया है। उदाहरण के लिए, उबंटू का अपस्टार्ट सिस्टम अभी भी पारंपरिक सिस्टम वी-शैली लिपियों का उपयोग करता है.
एक रनलेवल क्या है?
जब लिनक्स सिस्टम बूट होता है, तो यह लॉन्च होता है इस में प्रक्रियाओं। init सिस्टम पर अन्य प्रक्रियाओं को लॉन्च करने के लिए जिम्मेदार है। उदाहरण के लिए, जब आप अपना लिनक्स कंप्यूटर शुरू करते हैं, तो कर्नेल प्रारंभ होता है, और init आपके हार्डवेयर को इनिशियलाइज़ करने, नेटवर्किंग लाने, अपने ग्राफिकल डेस्कटॉप को शुरू करने के लिए स्टार्टअप स्क्रिप्ट को निष्पादित करता है।.
हालाँकि, स्टार्टअप स्क्रिप्ट्स का सिर्फ एक सेट सेट नहीं है। अपने स्वयं के स्टार्टअप स्क्रिप्ट के साथ कई रन स्तर हैं - उदाहरण के लिए, एक रनलेवल नेटवर्किंग ला सकता है और ग्राफिकल डेस्कटॉप लॉन्च कर सकता है, जबकि एक अन्य रनलेवल नेटवर्किंग को अक्षम कर सकता है और ग्राफिकल डेस्कटॉप को छोड़ सकता है। इसका मतलब है कि आप "ग्राफिकल डेस्कटॉप मोड" से "नेटवर्किंग के बिना टेक्स्ट कंसोल मोड" को एक ही कमांड से मैन्युअल रूप से अलग-अलग सेवाओं को शुरू करने और रोकने के बिना छोड़ सकते हैं।.
विशेष रूप से, init एक विशिष्ट निर्देशिका में स्थित स्क्रिप्ट को चलाता है जो रनवेल से मेल खाती है। उदाहरण के लिए, जब आप Ubuntu पर रनलेवल 3 में प्रवेश करते हैं, तो init /etc/rc3.d निर्देशिका में स्थित स्क्रिप्ट को चलाता है.
कम से कम, यह है कि यह पारंपरिक सिस्टम V init सिस्टम के साथ कैसे काम करता है - लिनक्स वितरण पुराने सिस्टम V init सिस्टम को बदलने के लिए शुरू हो रहा है। जबकि उबंटू का अपस्टार्ट वर्तमान में SysV इनिट स्क्रिप्ट के साथ संगतता बनाए रखता है, यह भविष्य में बदलने की संभावना है.
द रनवेल्स
कुछ रनलेवल्स लिनक्स वितरण के बीच मानक हैं, जबकि कुछ रनलेवल्स वितरण से वितरण में भिन्न होते हैं.
निम्नलिखित रनवे मानक हैं:
- 0 - पड़ाव (सिस्टम को बंद कर देता है।)
- 1 - एकल उपयोगकर्ता मोड (सिस्टम डेमन्स या नेटवर्किंग शुरू किए बिना सुपरयुसर मोड में बूट करता है। रिकवरी या डायग्नोस्टिक्स वातावरण में बूट करने के लिए आदर्श है।)
- 6 - रीबूट
वितरण के आधार पर रनवे 2-5 भिन्न होते हैं। उदाहरण के लिए, उबंटू और डेबियन पर, रनवेल्स 2-5 समान हैं और नेटवर्किंग और ग्राफिकल लॉगिन के साथ एक पूर्ण बहु-उपयोगकर्ता मोड प्रदान करते हैं। फेडोरा और रेड हैट पर, रनलेवल 2 बिना नेटवर्किंग (कंसोल लॉग इन) के मल्टी-यूज़र मोड प्रदान करता है, रनलेवल 3 नेटवर्किंग (कंसोल लॉग इन) के साथ मल्टी-यूज़र मोड प्रदान करता है, रनवे 4 अप्रयुक्त है, और रनलेवल 5 मल्टी-यूज़र मोड प्रदान करता है। नेटवर्किंग और ग्राफिकल लॉगिन.
एक अलग रनवे पर स्विच करना
सिस्टम के पहले से ही चालू होने पर एक अलग रनवे पर स्विच करने के लिए, निम्न कमांड का उपयोग करें:
सुडो टेलिनिट #
# जिस रनवे को बदलना चाहते हैं, उसकी संख्या से # बदलें। यदि आप किसी वितरण को चला रहे हैं जो sudo का उपयोग नहीं करता है, तो O sudo sudo और कमांड को रूट के रूप में चलाएं.
सीधे एक विशिष्ट रनवेल पर बूट करना
आप उदाहरण के लिए, बूट लोडर - ग्रब से बूट करने के लिए रनलेवल का चयन कर सकते हैं। बूट प्रक्रिया की शुरुआत में, ग्रब तक पहुंचने के लिए एक कुंजी दबाएं, अपने बूट प्रविष्टि का चयन करें, और इसे संपादित करने के लिए ई दबाएं.
आप जोड़ सकते हो एक के अंत तक linux एकल-उपयोगकर्ता रनलेवल (रनलेवल 1) दर्ज करने के लिए लाइन। (बाद में बूट करने के लिए Ctrl + x दबाएँ। यह Grub में पुनर्प्राप्ति मोड विकल्प के समान है.
परंपरागत रूप से, आप कर्नेल पैरामीटर के रूप में एक संख्या निर्दिष्ट कर सकते हैं और आप उस रनवे पर बूट करेंगे - उदाहरण के लिए, उपयोग करते हुए 3 के बजाय एक बूट टू रनलेवल 3. हालांकि, यह उबंटू के नवीनतम संस्करणों पर काम नहीं करता है - अपस्टार्ट इसे अनुमति नहीं देता है। इसी तरह, आप डिफ़ॉल्ट रनले को कैसे बदलते हैं, यह आपके वितरण पर निर्भर करेगा.
जबकि उबंटू का अपस्टार्ट डेमन अभी भी SystemV init सिस्टम का अनुकरण करता है, भविष्य में इस जानकारी में से बहुत कुछ बदल जाएगा। उदाहरण के लिए, अपस्टार्ट ईवेंट-आधारित है - यह ईवेंट्स होने पर सेवाओं को रोक सकता है और शुरू कर सकता है (उदाहरण के लिए, एक सेवा तब शुरू हो सकती है जब कोई हार्डवेयर डिवाइस सिस्टम से जुड़ा हो और डिवाइस को निकालने पर बंद हो जाए।) फेडोरा का भी अपना उत्तराधिकारी है init, systemd.