हमें अलग-अलग बायनेरिज़ में रिबूट फ़ंक्शन की आवश्यकता क्यों है?
shutdown -r
तथा
reboot
या वे किसी चीज में भिन्न हैं?
हमें अलग-अलग बायनेरिज़ में रिबूट फ़ंक्शन की आवश्यकता क्यों है?
shutdown -r
तथा
reboot
या वे किसी चीज में भिन्न हैं?
जवाबों:
जरूरी नहीं कि हमें उन दोनों की आवश्यकता है, लेकिन यूनिक्स के इतिहास और संस्करणों की बहुलता के कारण हम दोनों हैं।
उनके संबंधित मैन पेज से:
शटडाउन अधिक सामान्य-उद्देश्य है, और अधिक शक्तिशाली है, जबकि रिबूट मित्रवत और याद रखने में आसान है।
शटडाउन आपको एक अस्थायी तर्क निर्दिष्ट करने की अनुमति देता है (उदाहरण के लिए, 5 मिनट में पुनः आरंभ करने के लिए) और आपको छूट के अलावा कई काम करने की अनुमति देता है, जिसमें शामिल हैं:
हालाँकि, यदि आप अभी सिस्टम को रिबूट करना चाहते हैं, तो टाइप करना आसान reboot
है shutdown -r now
।
shutdown
अब डिफ़ॉल्ट के रूप में उपयोग होते हैं। shutdown -h
कभी भी शटडाउन के लिए मदद लेने की कोशिश न करें , विशेष रूप से डेटासेंटर में कहीं सर्वर पर नहीं।
दो आदेशों कुछ अलग करना है, लेकिन वे एक दूसरे को जो बुला खत्म कर सकते हैं कि वे क्यों लग रहे हैं एक ही बात करने के लिए!
reboot
वास्तव में एक हार्डवेयर रिबूट ट्रिगर करने के लिए कर्नेल को आमंत्रित करेगा। हालाँकि, यह केवल ऐसा करेगा यदि सिस्टम शटडाउन के लिए तैयार है - सभी डेमोंस और उपयोगकर्ता प्रक्रियाओं को बंद कर दिया जाना चाहिए, फ़ाइल सिस्टम अनमाउंट किया गया है, आदि, इसलिए यह सिस्टम रनलेवल की जांच करता है, और यदि यह 0 या 6 नहीं है, तो यह वास्तव में बंद हो जाएगा। आपके लिए shutdown
कमान।
shutdown
सिस्टम रनलेवल को बदलने का कारण बनता है। रनलेवल परिवर्तन (रिबूट के लिए 6 या रुकने के लिए 6) /etc/rc0.d या rc6.d में बहुत सी स्क्रिप्ट चलाता है जो डेमॉन, अनमाउंट फाइलसिस्टम आदि को बंद कर देता है। अंत में ये स्क्रिप्ट इनवॉइस करते हैं halt
या reboot
- इस समय सिस्टम चालू है। सही रनलेवल और वे कर्नेल को रिबूट (या रोकने) के लिए निर्देश देते हैं।
आइकोनक्लास्ट ने जो लिखा उसके अलावा, दो कार्यक्रमों के बीच एक महत्वपूर्ण अंतर है: shutdown
अंदर है /sbin
, जबकि reboot
है /usr/bin
।
यह क्यों बात करता है, तुम पूछते हो मै तुम्हे बताऊंगा।
इसके तहत चीजें /usr
ऐसी हैं जो तब तक उपलब्ध नहीं होती हैं जब तक सिस्टम बूट नहीं होता है कि सिस्टम न्यूनतम रूप से कार्यात्मक है। उच्च-स्तरीय निर्देशिका कि परंपरागत रूप से अलग फ़ाइल सिस्टम पर रखा कभी नहीं कर रहे हैं - /bin
, /etc
, /sbin
, आदि - जबकि प्रणाली इस न्यूनतम उपयोगी राज्य तक पहुंच रहा है उपलब्ध होने की उम्मीद कर रहे हैं। इस डिजाइन के विभिन्न निहितार्थ हैं; उदाहरण के लिए, SysV init स्क्रिप्ट के "स्टॉप" क्लॉज को लिखना बुरा है जो प्रोग्राम का उपयोग करता है /usr/bin
यदि इसमें कोई विकल्प है /bin
या /sbin
।
shutdown
मुख्य उपयोगिता है, हमेशा उपलब्ध है। reboot
केवल एक सुविधा उपयोगिता है।
reboot
में है /sbin
डेबियन (SysVinit के साथ) और Ubuntu (नवोदय साथ) में।