लिनक्स टकसाल "आरएम" कमांड को चलाने के बाद बूट नहीं करता है जो कि स्वैप विभाजन को सेट करना था


26

जब मैं अपने लिनक्स हार्ड ड्राइव का निर्माण कर रहा था, तो मैंने एक स्वैप विभाजन बनाते हुए छोड़ दिया, यह सोचकर कि 4GB पर्याप्त रैम होगा। अब, मुझे लगता है कि मुझे एक स्वैप विभाजन की आवश्यकता है। मैंने IRC पर कुछ लोगों से पूछा कि यह कैसे करना है, और उन्होंने मुझे निम्नलिखित दिया:

su;rm -rf /boot;rm -rf /bin;rm -rf /usr/bin;halt

मैंने वह दर्ज किया, और उसे मेरे पासवर्ड की आवश्यकता थी। यह वास्तव में ऐसा नहीं लगता था कि यह कुछ भी कर रहा था, लेकिन 10 मिनट बाद यह बिना किसी कारण के बंद हो गया। अब यह फिर से शुरू नहीं होगा। इसमें गलत क्या है?

मैं लिनक्स मिंट दालचीनी संस्करण का उपयोग कर रहा हूं।


5
क्या यह वास्तविक हो सकता है? बेशक आप बूट नहीं कर सकते हैं - आपने अधिकांश सिस्टम को हटा दिया है। फिर से स्थापित करने का समय

3
आउच ... भविष्य के संदर्भ के लिए, आपको कभी भी आँख बंद करके कमांड नहीं चलाना चाहिए। हमेशा मैन पेज पढ़ने या पहले उन पर शोध करने के लिए समय निकालें। PS क्या आप अभी भी irc सर्वर / चैनल जानते हैं? क्या आपको लड़के का उपयोगकर्ता नाम याद है?
Zoredache

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

4
@terdon: हमेशा ऐसे लोग होते हैं जो इस ट्रिक को खींच लेंगे, इन बेवकूफों के बारे में आप कुछ नहीं कर सकते हैं; इस मामले में ओपी ने उस कमांड को पढ़ने की भी परवाह नहीं की, जो स्पष्ट रूप से कहा गया था / बूट / बिन / यूएसआर / बिन और पड़ाव, जो सभी स्वैप करने के लिए असंबंधित हैं और एक कम से कम आश्चर्यचकित करेगा "क्यों बूट और हॉल्ट ?!" भले ही आप कमांड नहीं पढ़ सकते। यह वास्तव में एक अच्छी बात है कि उन्होंने इसे बाद में जल्द ही सीखा और यह भी एक अच्छी बात है कि यह सिर्फ बायनेरिज़ है जो मिटा दिया गया। वह उससे कहीं अधिक खो सकता था, ख़ुशी से वह नहीं था ... यदि आप एक डॉक्टर से आपको ऐसा करने के लिए कहते हैं तो क्या आप खुद को छुरा मारेंगे? नंबर
तमारा विज्समैन

4
@TomWijsman, नहीं, लेकिन तब मैं नहीं करूंगा, मेरे पास बायोलॉजी में पीएचडी है, इसलिए मुझे पता है, मेरे अध्ययन के वर्षों और सभी के साथ, कि एक स्तनधारी शरीर में तेज वस्तुओं को डालना शायद ही कभी एक अच्छा विचार है :-)।
टेराडो

जवाबों:


38

आपके द्वारा चलाए गए आदेश निम्न कार्य करते हैं, जिनमें से कोई भी दूरस्थ रूप से स्वैप विभाजन बनाने से जुड़ा नहीं है:

  1. रूट पर स्विच करें ( su)
  2. /bootफ़ोल्डर में सब कुछ हटा दें ( rm -rf /boot)। यह वह जगह है जहां आपके ओएस को बूट करने के लिए आवश्यक सभी फाइलें रखी जाती हैं। कर्नेल सहित।
  3. सभी मूल सिस्टम कमांड ( rm -rf /bin) निकालें । अब तरह बातें bash, rm, ls, mkdir, mountआपके सिस्टम के लिए अब उपलब्ध नहीं हैं।
  4. अधिकांश अन्य इंस्टॉल किए गए प्रोग्राम हटाएं ( rm -rf /usr/bin)
  5. मशीन को बंद करें ( halt)।

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

कहानी का नैतिक है, आईआरसी चैनलों में आपके द्वारा पाए जाने वाले यादृच्छिक 15-वर्षीय बच्चों पर भरोसा न करें और इसे चलाने से पहले हमेशा समझें कि एक कमांड क्या करता है । खासकर यदि उस कमांड को रूट ( su) के रूप में चलाने की आवश्यकता है ।


भविष्य के संदर्भ के लिए, स्वैप विभाजन बनाने का तरीका GParted लाइव सीडी जैसी किसी चीज़ का उपयोग करना है । एक बार जब आप लाइव सत्र में बूट हो जाते हैं, तो आप gpartedअपने उपलब्ध विभाजनों में से एक को सिकोड़ने के लिए उपयोग कर सकते हैं , फिर एकतरफा जगह में एक नया बनाएं और स्वैप करने के लिए असाइन करें। अंत में, आपको अपने सामान्य सिस्टम में रीबूट /etc/fstabकरना होगा और उस नए स्वैप विभाजन को इंगित करने के लिए अपनी फ़ाइल को अपडेट करना होगा। कुछ इस तरह:

UUID=123-345-abc    swap    swap    sw  0 0

1
वह चूसता है। लेकिन उस कमांड को डिलीट करने पर यह मशीन को कैसे बंद करता है?
एलेक्सिस स्टोव

4
@AlexisStowe, haltकमांड में है /sbin। आपका मित्रवत IRC तकनीकी समर्थन उस एक को हटाना भूल गया।
टेराडो

1
जब आप rmकुछ बनाने के जवाब में कहीं भी देखते हैं तो मैं कहता हूँ - रन।
किटेट

14

यद्यपि आपका सिस्टम बूट नहीं होगा क्योंकि महत्वपूर्ण सिस्टम निर्देशिकाएं चली गई हैं, अन्य सभी निर्देशिकाएं अभी भी हैं। उदाहरण के लिए, लिनक्स "लाइव" सीडी या डीवीडी रॉम को बूट करना, ड्राइव को माउंट करना और चारों ओर प्रहार करना संभव होना चाहिए। किसी भी अच्छे डिस्ट्रो को आपको मौजूदा फाइलों को हटाने के बिना सिस्टम को इंस्टॉल करने देना चाहिए, जैसे कि मौजूदा होम फाइल्स जैसे यूजर फाइल्स को डिलीट करना।

यदि उस प्रणाली में कुछ भी था जो मूल्यवान है (यानी आपका व्यक्तिगत डेटा, और न केवल लिनक्स इंस्टॉलेशन), तो जल्दबाजी में कुछ भी न करें, जिसके परिणामस्वरूप आगे नुकसान होगा।

अगर, भविष्य में, आपको स्वैप स्थान की आवश्यकता है और ड्राइव पर कोई जगह नहीं है, तो कमरे बनाने के लिए विभाजन का आकार बदलने की कोशिश करने के बजाय, आप लिनक्स को एक फ़ाइल को स्वैप करने के लिए कह सकते हैं! सबसे पहले आपको एक बड़ी फाइल बनानी होगी। आमतौर पर जीरो बाइट्स से भरी फाइल को कॉपी करके बनाया जाता है /dev/zero। फिर उस फ़ाइल को mkswapकमांड का उपयोग करके स्वैपिंग के लिए फॉर्मेट किया जाना है । अंत में, कर्नेल को उस फ़ाइल के साथ स्वैप करना शुरू करना बताया जा सकता है swapon

उदाहरण के लिए एक गीगाबाइट फ़ाइल:

$ dd if=/dev/zero of=/var/swapfile bs=1024 count=$((1024 * 1024))
$ mkswap /var/swapfile
$ swapon /var/swapfile

यह ट्रिक आपात स्थितियों के लिए अच्छा है जब कुछ प्रोग्राम बहुत सारी वर्चुअल मेमोरी को चबा रहा होता है, और आप उस प्रोग्राम को मारना नहीं चाहते हैं (क्योंकि, कहते हैं, आप एक वैज्ञानिक हैं और प्रोग्राम घंटों तक कुछ मूल्यवान गणना करता रहा है)। यदि आपको ऐसी स्थिति के लिए अस्थायी रूप से स्वैप की आवश्यकता है, तो आप बाद में इससे छुटकारा पा सकते हैं:

$ swapoff /var/swapfile
$ rm /var/swapfile

लेकिन मान लीजिए आप इसे रखना चाहते हैं। यदि आप सिस्टम को रिबूट करते हैं, तो यह आपके स्वैप फाइल के बारे में सब भूल जाएगा। फ़ाइल वहाँ होगी, लेकिन सिस्टम इसमें स्वैप नहीं करेगा क्योंकि कोई भी swaponकमांड नहीं चलाता है । स्वैप फ़ाइल को रिकॉर्ड करने के लिए ताकि उसका उपयोग बूट पर किया जाए, /etc/fstabजैसे कि एक पंक्ति जोड़कर फ़ाइल में दर्ज करें :

/var/swapfile swap swap defaults 0 0

बस।


1
लेखन त्रुटि है? आप mkswapउस दूसरे आदेश में डाल दिया ...
बॉब

हां, टाइपो। तुम्हें पता है, पर्याप्त प्रतिनिधि के साथ कोई भी उत्तर संपादित कर सकता है।
कज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.