सिस्टम की मरम्मत: HowTo chroot

कई बार, विशेष रूप से जब गड़बड़ करते हैं, तो हमने खुद को इसे ठीक करने के लिए सिस्टम तक पहुंचने में सक्षम नहीं होने की भविष्यवाणी में पाया है, लेकिन समाधान आसान है: कमांड का उपयोग करें चुरोट किसी भी LiveCD / RepairCD से।

कई स्थानों (फोरम, ब्लॉग ...) में इस कमांड का उल्लेख किया गया है और कोड की एक "कॉपी / पेस्ट" दी गई है, लेकिन इस पोस्ट के साथ मेरा इरादा उन चरणों को थोड़ा समझाने का है, ताकि इसका अच्छा उपयोग किया जा सके उपकरण, कारण के ज्ञान के साथ।

परिचय

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

समस्या यह है कि यह उपयोग करने के लिए पर्याप्त नहीं है चुरोट जैसे, इससे पहले कि हम कुछ विभाजन को ठीक से माउंट करें।

कैसे

पहले हमें एक टर्मिनल शुरू करने की आवश्यकता है, या तो एक और स्थापित सिस्टम (दूसरे विभाजन / डिस्क पर) या एक लाइवसीडी से। महत्वपूर्ण: LiveCD के आर्किटेक्चर को उस सिस्टम से मेल खाना चाहिए (32 या 64 बिट्स)।
एक बार जब हम टर्मिनल में होंगे, हम अपने विभाजन की पहचान करके शुरू करेंगे:
fdisk -l

  • इस कमांड के साथ हम अपने सभी पार्टिशन / डिस्क को सूचीबद्ध करेंगे। हमें यह पहचानना चाहिए कि कौन सा लक्ष्य विभाजन है, जहां मरम्मत के लिए हमारी प्रणाली स्थापित है, अब से हम इसे कॉल करेंगे टूटी हुई प्रणाली.

इस उदाहरण के लिए हम विचार करेंगे कि हमारी टूटी हुई प्रणाली अंदर है / / देव sda1 .

हम सिस्टम को इकट्ठा करने के लिए आगे बढ़ते हैं। पहले हम उस फ़ोल्डर का निर्माण करेंगे, जहाँ हम काम करने जा रहे हैं और बाद में हम उस विभाजन को माउंट करते हैं जहाँ हमारा टूटा हुआ सिस्टम उस फ़ोल्डर में स्थित है
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

अगर आपके पास फोल्डर है / होम o / var या किसी अन्य विभाजन पर अन्य, आपको इसे माउंट करना चाहिए:
mount /dev/sda2 /mnt/my_linux/var

  • नोट: मैंने / देव / sda2 विभाजन को / var फ़ोल्डर के लिए एक उदाहरण के रूप में लिया है, प्रत्येक को अपनी विशेषताओं के लिए कोड समायोजित करने दें।

आम तौर पर यह पर्याप्त होगा यदि आपको केवल हाथों से फाइलें संपादित करने की आवश्यकता होती है, लेकिन अगर हम सिस्टम को कॉन्फ़िगर करने वाले कुछ आदेशों को निष्पादित करना चाहते हैं, तो हमें कुछ विशेष सिस्टम फ़ोल्डर्स को माउंट करने की आवश्यकता है: / dev, / proc/ sys
mount -t proc proc /mnt/my_linux/proc
mount -t sysfs sys /mnt/my_linux/sys
mount -o bind /dev /mnt/my_linux/dev

  • विकल्प के साथ -t हम कहते हैं माउंट "फाइलसिस्टम" का प्रकार हम माउंट करना चाहते हैं। फ़ोल्डर्स की विशेष प्रकृति के कारण इसे निर्दिष्ट करना आवश्यक है / proc y / sys.
  • विकल्प के साथ -o हम के विकल्प निर्दिष्ट करते हैं माउंट। विकल्प बाँध यह "लिंक" करने के लिए कार्य करता है। UNIX में सभी हार्डवेयर डिवाइस फ़ोल्डर के माध्यम से पहुंच योग्य हैं / dev, इसीलिए हमें अपने करंट को माउंट करना चाहिए / dev उस फ़ोल्डर में जहाँ हमारा टूटा हुआ सिस्टम है। जैसा कि यह फ़ोल्डर पहले से ही माउंट है, यह केवल बताना आवश्यक है माउंट जहां यह मूल रूप से घुड़सवार है।

यह इस तरह से किया जाता है ताकि चुरोट इन फ़ोल्डरों तक पहुंच है जैसे कि वे टूटी हुई प्रणाली हैं, हालांकि वे वर्तमान प्रणाली (उदाहरण: LiveCD सत्र) से होने चाहिए क्योंकि वे सिस्टम, प्रक्रियाओं और हार्डवेयर की स्थिति से संबंधित हैं।

अब उपयोग का समय है चुरोट:
chroot /mnt/my_linux/ /bin/bash

  • कमांड को नए रूट «/» (जो हमारे मामले में है) के मार्ग के रूप में पारित किया गया है / mnt / my_linux) और जिस कंसोल का आप उपयोग करना चाहते हैं (इस मामले में हमने अच्छी तरह से ज्ञात बैश का विकल्प चुना है, जिसमें पाया गया है / बिन / बैश) है। यदि हम कंसोल को निर्दिष्ट नहीं करते हैं, तो हम कुछ हद तक पुरातन कमांड दुभाषिया से पहले खुद को पाएंगे (यह टैब को दबाते समय नहीं भरता है, आदि)।

अब हम कंसोल का उपयोग कर सकते हैं जैसे कि हमने अपने टूटे सिस्टम पर रूट सत्र शुरू किया था (फ़ाइलों को संपादित करें, स्क्रिप्ट की जांच करें, पैकेज स्थापित / अनइंस्टॉल करें ...)। चेतावनी! प्रभावी होने के लिए किए गए परिवर्तनों के लिए, आपको बाहर निकलने के बाद फ़ाइल सिस्टम को अनमाउंट करना होगा चुरोटनीचे दिए गए उदाहरण को देखें।

अधिक जानकारी के https://wiki.archlinux.org/index.php/Change_Root (अनुशंसित पढ़ने से अधिक)।

उपयोग उदाहरण: GRUB2 को पुनर्स्थापित करें

के सबसे व्यापक उपयोगों में से एक चुरोट यह GRUB की मरम्मत के लिए एक उपकरण के रूप में है। चूंकि अगर ग्रब टूट जाता है, तो इसे ठीक करने के लिए हमारे सिस्टम को बूट करना व्यावहारिक रूप से असंभव है।

सूचना: यह छोटा सा ट्यूटोरियल एक मात्र उदाहरण है, यह डेबियन, उबंटू और अन्य लोगों के बीच ओपन से प्राप्त विभिन्न वितरणों पर काम करता है। फिर भी, अपने वितरण के दस्तावेज़ीकरण की जाँच करें, क्योंकि कई कमांड में नहीं मिला है अद्यतन-ग्रब।
# नोट: ये कमांड चेरोट के अंदर एक बार चलते हैं।update-grub
grub-install /dev/sda

  • साथ अद्यतन-कोड़ना हम GRUB2 के इनपुट मेनू को अपडेट करते हैं, इस प्रकार किसी भी लापता इनपुट को जोड़ते हैं। बाद में हम अपनी डिस्क पर GRUB को पुनर्स्थापित करते हैं, क्योंकि यह क्षतिग्रस्त हो गई है।

इस मामले में मैंने लिया है देव / / sda एल्बम की तरह जहां हमारे पास हमारा सिस्टम है, यह आपके मामले के अनुकूल होना चाहिए।

हमारे GRUB की पहले से ही मरम्मत की जानी चाहिए, इसलिए हमें बाहर निकलना चाहिए चुरोट, फाइल सिस्टम (महत्वपूर्ण) को अनमाउंट करें और प्रभावी होने के लिए परिवर्तनों के लिए रिबूट करें। यदि हम फाइल सिस्टम को अनमाउंट करना भूल जाते हैं, तो संभव है कि फाइल को रिबूट करने से सही तरीके से अनमाउंट नहीं होगा और इसलिए कुछ बदलाव प्रभावी नहीं होंगे।
# हमने चुरोट छोड़ दियाexit
# फाइलसिस्टम को अनमाउंट करें और रिबूट करेंumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

और बस यही। मुझे आशा है कि आप इसका आनंद लेंगे और यह आपकी मदद करेगा। अभिनंदन!


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   कोढ़ी_इवन कहा

    मैं इसका उपयोग कर सकता हूं .. किसी समय मुझे इसका उपयोग करना होगा।

  2.   मारियो कहा

    क्या आप में से किसी ने चक्र बेंज का इस्तेमाल किया है? यदि हां, तो क्या आप मुझे बता सकते हैं
    क्या यह आम उपयोगकर्ता के लिए आसान है? मैं SolydK का उपयोग करता हूं जो बहुत सरल है लेकिन
    मैं समझता हूं कि चक्र शुद्ध केडीई है और यह मुझे दिलचस्पी देता है।

    1.    वोकर कहा

      हां, चक्र बहुत अच्छा है और कम या ज्यादा आसान है, बात यह है कि पैकेज स्थापित करने / स्थापना रद्द करने के लिए आपको इसे कंसोल के साथ करना होगा, क्योंकि वे अभी भी एक ग्राफिकल पैकेज प्रबंधक पर काम कर रहे हैं। यह कोशिश करो क्योंकि यह इसके लायक है। यह आर्किलिनक्स से विरासत में मिला पैक्मैन पैकेज मैनेजर का उपयोग करता है, लेकिन सावधान रहें, यह आर्क के साथ रिपॉजिटरी साझा नहीं करता है और यह उनके साथ संगत नहीं है। यदि आप पैक्मैन के बारे में अधिक जानना चाहते हैं, तो आर्क विकी पर एक नज़र डालें https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp कहा

        Oktopi पहले से ही स्थिर है और एक औसत उपयोगकर्ता के लिए काफी अच्छी तरह से काम करता है, इसके साथ ही आपको pacman का उपयोग करने के लिए टर्मिनल की आवश्यकता नहीं है।

  3.   x11tete11x कहा

    मुझे उम्मीद है कि इस पोस्ट को कई लोगों द्वारा देखा जाएगा, फिर वे अपने सिर को किसी भी चीज के लिए फिर से इंस्टॉल करना शुरू कर देंगे जब एक चेरोट के साथ आप सिस्टम को लगभग हमेशा मरम्मत कर सकते हैं, चेरोट आपको बहुत सारी संभावनाओं को सक्षम करता है, जिसमें जेंटू xD hahaha स्थापित करना शामिल है

  4.   अल्नाडो कहा

    अच्छा, धन्यवाद ... मैंने इसे कभी नहीं दिया क्योंकि मरम्मत के लिए कुछ लाइव-सीडी मुझे लगता है कि वे इसे डिफ़ॉल्ट रूप से उठाते हैं, लेकिन अब यह स्पष्ट है, फिर से धन्यवाद।

  5.   लोलो कहा

    इसे पूरा करने के लिए, यह स्पष्ट करना अच्छा होगा कि एलवीएम विभाजन, एन्क्रिप्टेड विभाजन और RAID सिस्टम कैसे माउंट करें।

    1.    वोकर कहा

      mmm मैंने लंबे समय में LVM और RAID को नहीं छुआ है, लेकिन क्या आप मुझे इसे पूरा करने के लिए थोड़ा सूचित कर सकते हैं ... टिप के लिए धन्यवाद!

      1.    लोलो कहा

        वैसे सच्चाई यह है कि मैं बहुत अच्छा इस्तेमाल कर सकता था।

        यह बहुत सराहना की जाएगी।

        1.    वोकर कहा

          इस विकी पर एक नज़र डालें, यह बहुत अच्छा है http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   मोडम कहा

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

    यह विषय मेरी "जानकारी संकलन" फाइलों में जाएगा

  7.   कुकी कहा

    एक आर्क लाइवसीडी (इस टूल के साथ) वह सब है जो आपके सिस्टम को ठीक करने के लिए आवश्यक है जब आप इसे तोड़ते हैं।

    1.    कच्चे बुनियादी कहा

      बिल्कुल सही! .. .. यह सब की जरूरत है .. यहां तक ​​कि अपने डब्ल्यू $ के साथ किसी की मदद करने के लिए जिसने शुरू नहीं करने का फैसला किया।

      मैं हमेशा मेरे साथ आर्क 1 जी के साथ एक 10 जीबी पेनड्राइव रखता हूं ... और चेरोट वह सब है जो जरूरी है ताकि किसी भी समस्या के तहत, XNUMX मिनट में आपके पास सब कुछ हो, बिना अलार्म के।

    2.    izzyvp कहा

      आपको बस यह जानना है कि यह कैसे करना है।

    3.    पाब्लो कहा

      हैलो, ध्यान दें कि मुझे सेंटो के साथ समस्या है, यह मुझे कर्नेल आतंक आदि भेजता है। और मैं इसे हल नहीं कर पाया, मेरे पास मेरी वेबसाइट और डेटाबेस है। मुझे नहीं पता कि और क्या करना है।

  8.   jony127 कहा

    अच्छी पोस्ट, मैंने कुछ चुरोट सुना था, लेकिन मुझे नहीं पता था कि इसका उपयोग कैसे किया जाता है, निश्चित रूप से मुझे इसकी कभी आवश्यकता नहीं थी और इसीलिए मैंने विशेष रूप से कुछ नहीं पढ़ा था। अब आपकी पोस्ट के साथ बहुत स्पष्ट रूप से समझाया गया है, मुझे पता है कि मामले में इसका उपयोग कैसे करना है।

    बहुत बहुत धन्यवाद और वैसे भी, लंबे समय से एलईडी ज़ेपेलिन हेहे।

  9.   कमला कहा

    धन्यवाद मैं अंत में ग्रब बचाव दुःस्वप्न से बाहर निकल गया

    वास्तव में मैंने umount / mnt / my_linux को छोड़कर सभी चरणों का पालन किया, क्योंकि इसने मुझे बताया कि यह व्यस्त था, और मैं फ्यूज़र-किमी, लेकिन ऐसा भी नहीं, और उछाल ...

    मुझे आशा है कि यह महत्वपूर्ण नहीं है ...

    एक बार फिर धन्यवाद…
    एक ग्रीटिंग

  10.   जोस एंटोनियो कहा

    हालांकि यह लेख पहले से ही कुछ साल पुराना है, मैं लेखक को अपनी उदारता के लिए धन्यवाद देना चाहता हूं क्योंकि यह एक बेहतरीन लेख है क्योंकि इस सप्ताह के अंत में इसने मेरी जान बचाई। अनजाने में मैंने एक पैकेज स्थापित करने वाले सर्वर को लोड किया और फिर से शुरू करने पर इसे लोड नहीं किया। इसे ठीक करने और विभिन्न लेखों को पढ़ने के तीन दिनों के बाद, मैं संयोग से यहां पहुंचने में कामयाब रहा और आखिरकार ग्रब को पुनर्स्थापित करने और सर्वर को ठीक करने में सक्षम था।

    आपको बहुत बहुत धन्यवाद!

    1.    वोकर कहा

      मुझे खुशी है कि इसने आपकी मदद की। टिप्पणी के लिए धन्यवाद!

  11.   हेलीओ कहा

    नमस्कार, मुझे पता है कि यह पोस्ट वर्षों पहले, इसे साझा करने के लिए यह बहुत धन्यवाद। और मुझे संदेह था, मेरे मामले में इसने सिस्टम और नेटवर्क ड्राइवरों को भी नुकसान पहुंचाया है, इसलिए मैंने चरणों का पालन किया लेकिन यह मुझे पैकेज डाउनलोड करने की अनुमति नहीं देता है, क्या लाइव नेटवर्क को टर्मिनल से जोड़ने का कोई तरीका है

    1.    वोकर कहा

      मैं वास्तव में आपकी समस्या को नहीं समझता ... जब आप LiveCD के साथ लॉग इन करते हैं, तो जो कर्नेल लोड होता है, वह LiveCD से होता है, इसलिए आपको इंटरनेट कनेक्शन को पूरी तरह से कॉन्फ़िगर करने में सक्षम होना चाहिए। एक बार जब कनेक्शन हो जाता है, तो यह देखने के लिए कि क्या आप इसे बनाए रखना जारी रखते हैं, यदि नहीं, तो आपको इसे फिर से कॉन्फ़िगर करना पड़ सकता है, लेकिन यह देखने के लिए कि क्रोकेट सत्र को प्रभावित न करे।
      यदि आप अधिक निर्दिष्ट नहीं करते हैं, तो मैं आपको बता सकता हूं ...

  12.   डच कहा

    उत्कृष्ट पोस्ट ... इंटरनेट पर पाए जाने वाले कुछ उपयोगी लेखों में से एक।
    योगदान के लिए बहुत बहुत धन्यवाद.

  13.   ज़ोपेक कहा

    हैलो, उत्कृष्ट ट्यूटोरियल! शानदार ढंग से समझाया, हमारे लिए केवल नश्वर!

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

    धन्यवाद.

  14.   ऑर्लैंडो कहा

    बहुत बहुत धन्यवाद!!!!