Επισκευή συστήματος: HowTo chroot

Πολλές φορές, ειδικά όταν αναστατώνουμε, βρισκόμαστε στην κατάσταση που δεν μπορούμε να έχουμε πρόσβαση στο σύστημα για να το επισκευάσουμε, αλλά η λύση είναι εύκολη: χρησιμοποιήστε την εντολή chroot από οποιοδήποτε LiveCD / RepairCD.

Σε πολλά μέρη (φόρουμ, ιστολόγια ...) αναφέρεται αυτή η εντολή και δίνεται μια "αντιγραφή / επικόλληση" του κώδικα, αλλά η πρόθεσή μου με αυτήν την ανάρτηση είναι να εξηγήσω αυτά τα βήματα λίγο, προκειμένου να κάνω καλή χρήση αυτού του εργαλείου, με γνώση της αιτίας.

Εισαγωγή

Η εντολή chroot Είναι γνωστό ως CHangeROOT, δηλαδή, μια εντολή που σας επιτρέπει να αλλάξετε τη ρίζα του συστήματος στο οποίο εργάζεστε. Με άλλα λόγια: εάν είστε από ένα LiveCD και θέλετε όλα όσα εργάζεστε στην κονσόλα να έχουν επίδραση στο εγκατεστημένο σύστημα, πρέπει πρώτα να χρησιμοποιήσετε chroot.

Το πρόβλημα είναι ότι δεν είναι αρκετό για χρήση chroot Ως εκ τούτου, πριν πρέπει να προσαρμόσουμε σωστά ορισμένα διαμερίσματα.

ΠΩΣ ΝΑ

Πρώτα πρέπει να ξεκινήσουμε ένα τερματικό, είτε από άλλο εγκατεστημένο σύστημα (σε άλλο διαμέρισμα / δίσκο) είτε από ένα LiveCD. ΣΗΜΑΝΤΙΚΟ: η αρχιτεκτονική του LiveCD πρέπει να ταιριάζει με αυτήν του προς επισκευή συστήματος (32 ή 64 bit).
Μόλις βρεθούμε στο τερματικό θα αρχίσουμε να αναγνωρίζουμε τα διαμερίσματα μας:
fdisk -l

  • Με αυτήν την εντολή θα παραθέσουμε όλα τα διαμερίσματα / δίσκους μας. Πρέπει να προσδιορίσουμε ποιο είναι το διαμέρισμα στόχος, όπου είναι εγκατεστημένο το σύστημα επισκευής μας, από τώρα και στο εξής θα το ονομάσουμε σπασμένο σύστημα.

Για αυτό το παράδειγμα θα θεωρήσουμε ότι το σπασμένο σύστημά μας είναι μέσα / dev / sda1 .

Συνεχίζουμε τη συναρμολόγηση του συστήματος. Πρώτα θα δημιουργήσουμε το φάκελο στον οποίο πρόκειται να εργαστούμε και αργότερα τοποθετούμε το διαμέρισμα όπου βρίσκεται το κατεστραμμένο σύστημά μας σε αυτόν τον φάκελο
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Εάν έχετε το φάκελο / Αρχική σελίδα o / var ή οποιοδήποτε άλλο σε άλλο διαμέρισμα, θα πρέπει να το προσαρτήσετε ως εξής:
mount /dev/sda2 /mnt/my_linux/var

  • ΣΗΜΕΙΩΣΗ: Έχω πάρει το διαμέρισμα / dev / 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 στο φάκελο όπου βρίσκεται το κατεστραμμένο σύστημά μας. Δεδομένου ότι αυτός ο φάκελος είναι ήδη τοποθετημένος, είναι απαραίτητο μόνο να το πούμε τοποθετήσετε όπου είναι αρχικά τοποθετημένο.

Γίνεται με αυτόν τον τρόπο έτσι chroot Αποκτήστε πρόσβαση σε αυτούς τους φακέλους σαν να ήταν το κατεστραμμένο σύστημα, αν και πρέπει να προέρχονται από το τρέχον σύστημα (π.χ. η συνεδρία LiveCD), καθώς σχετίζονται με την κατάσταση του συστήματος, των διαδικασιών και του υλικού.

Τώρα είναι η ώρα για χρήση chroot:
chroot /mnt/my_linux/ /bin/bash

  • Η εντολή μεταβιβάζεται ως ορίσματα η διαδρομή της νέας ρίζας «/» (που στην περίπτωσή μας είναι / mnt / my_linux) και την κονσόλα που θέλετε να χρησιμοποιήσετε (σε αυτήν την περίπτωση επιλέξαμε το γνωστό bash, που βρέθηκε στο / bin / bash). Εάν δεν καθορίσουμε την κονσόλα, θα βρεθούμε μπροστά σε έναν κάπως αρχαϊκό διερμηνέα εντολών (δεν γεμίζει όταν πατάμε την καρτέλα, κ.λπ.).

Τώρα μπορούμε να χρησιμοποιήσουμε την κονσόλα σαν να είχαμε ξεκινήσει η ριζική συνεδρία στο κατεστραμμένο σύστημά μας (επεξεργασία αρχείων, έλεγχος σεναρίων, εγκατάσταση / απεγκατάσταση πακέτων ...). ΠΡΟΕΙΔΟΠΟΙΗΣΗ! Για να εφαρμοστούν οι αλλαγές, πρέπει να αποσυνδέσετε το σύστημα αρχείων μετά την έξοδο chrootΔείτε το παρακάτω παράδειγμα.

Περισσότερες πληροφορίες σχετικά με το https://wiki.archlinux.org/index.php/Change_Root (περισσότερο από τη συνιστώμενη ανάγνωση).

Παράδειγμα χρήσης: επαναφορά GRUB2

Μία από τις πιο διαδεδομένες χρήσεις του chroot Είναι ως εργαλείο επισκευής του GRUB. Επειδή εάν το grub σπάσει, είναι σχεδόν αδύνατο να εκκινήσουμε το σύστημά μας για να το διορθώσουμε.

ΕΙΔΟΠΟΙΗΣΗ: αυτό το μικρό σεμινάριο είναι ένα απλό παράδειγμα, λειτουργεί σε διάφορες διανομές που προέρχονται μεταξύ άλλων από το Debian, το Ubuntu και το openSUSE. Παρόλα αυτά, ελέγξτε την τεκμηρίωση της διανομής σας, καθώς σε πολλές από τις εντολές δεν βρέθηκε ενημέρωση-grub.
# ΣΗΜΕΙΩΣΗ: αυτές οι εντολές εκτελούνται μία φορά μέσα στο chroot.update-grub
grub-install /dev/sda

  • με ενημέρωση-grub Ενημερώνουμε το μενού εισαγωγής του GRUB2, προσθέτοντας έτσι τυχόν εισόδους που λείπουν. Αργότερα επανεγκαθιστούμε το GRUB στο δίσκο μας, καθώς έχει καταστραφεί.

Σε αυτήν την περίπτωση έχω πάρει / dev / sda όπως ο δίσκος όπου έχουμε το σύστημά μας, αυτό πρέπει να προσαρμοστεί στην περίπτωσή σας.

Το GRUB μας πρέπει ήδη να επισκευαστεί, οπότε πρέπει να βγούμε chroot, αποσυνδέστε το σύστημα αρχείων (ΣΗΜΑΝΤΙΚΟ) και επανεκκινήστε για να ισχύσουν οι αλλαγές. Εάν ξεχάσουμε να αποσυνδέσουμε το σύστημα αρχείων, είναι πιθανό ότι η επανεκκίνηση των αρχείων δεν θα αποσυνδεθεί σωστά και ως εκ τούτου ορισμένες αλλαγές δεν θα εφαρμοστούν.
# αφήσαμε το chrootexit
# αποσυνδέστε το σύστημα αρχείων και επανεκκινήστεumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

Και αυτό είναι όλο. Ελπίζω να το απολαύσετε και να σας βοηθήσει. Ενας χαιρετισμός!


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Λέπερ_ Ιβάν dijo

    Θα μπορούσα να το χρησιμοποιήσω .. Σε κάποιο σημείο πρέπει να το χρησιμοποιήσω.

  2.   mario dijo

    Έχετε χρησιμοποιήσει το Chakra Benz; Εάν ναι, θα μπορούσατε να μου πείτε εάν
    είναι εύκολο για τον κοινό χρήστη; Χρησιμοποιώ το SolydK που είναι πολύ απλό αλλά
    Καταλαβαίνω ότι το Τσάκρα είναι καθαρό KDE και με ενδιαφέρει.

    1.    χαίρο dijo

      Ναι, το τσάκρα είναι καλό και λίγο πολύ εύκολο, το θέμα είναι ότι για να εγκαταστήσετε / απεγκαταστήσετε πακέτα, πρέπει να το κάνετε με την κονσόλα, καθώς εξακολουθούν να εργάζονται σε έναν διαχειριστή πακέτων γραφικών. Δοκιμάστε το γιατί αξίζει τον κόπο. Χρησιμοποιεί τον διαχειριστή πακέτων pacman, που κληρονομήθηκε από το Archlinux, αλλά προσέξτε, δεν μοιράζεται τα αποθετήρια με το arch και ΔΕΝ είναι συμβατό με αυτά. Αν θέλετε να μάθετε περισσότερα για το pacman, ρίξτε μια ματιά στο arch wiki https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    ιζυβπ dijo

        Το Oktopi είναι ήδη σταθερό και λειτουργεί αρκετά καλά για έναν μέσο χρήστη, με αυτό δεν χρειάζεστε το τερματικό για να χρησιμοποιήσετε το pacman.

  3.   x11tete11x dijo

    Ελπίζω ότι αυτή η ανάρτηση θα την επισκεφθούν πολλοί και στη συνέχεια θα ξεκινήσουν την επανεγκατάσταση για οτιδήποτε, όταν με ένα chroot μπορείτε να επισκευάσετε το σύστημα σχεδόν πάντα, το chroot σάς δίνει τη δυνατότητα σε πολλές δυνατότητες, μεταξύ των οποίων η εγκατάσταση του Gentoo xD hahaha

  4.   αλουνάδο dijo

    ωραία, ευχαριστώ ... Δεν το έδωσα ποτέ μπάλα γιατί μου φαίνεται ότι υπάρχει κάποιο live-cd για επισκευή ότι το ανεβάζουν από προεπιλογή, αλλά τώρα είναι ξεκάθαρο, ευχαριστώ και πάλι.

  5.   Lolo dijo

    Για να το ολοκληρώσετε, θα ήταν καλό να εξηγήσετε πώς να τοποθετήσετε διαμερίσματα LVM, κρυπτογραφημένα διαμερίσματα και συστήματα RAID.

    1.    χαίρο dijo

      mmm Δεν έχω αγγίξει το LVM και το RAID εδώ και πολύ καιρό, αλλά θα μπορούσατε να με ενημερώσετε λίγο για να το ολοκληρώσω ... ευχαριστώ για την συμβουλή!

      1.    Lolo dijo

        Λοιπόν η αλήθεια είναι ότι θα μπορούσα να χρησιμοποιήσω υπέροχα.

        Θα εκτιμούσα πολύ.

        1.    χαίρο dijo

          ρίξτε μια ματιά σε αυτό το wiki, είναι πολύ ωραίο http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Μοντέμ dijo

    Εάν μόνο αυτό το θέμα είχε υπάρξει λίγες εβδομάδες αργότερα, αποδείχθηκε ότι είχα πρόβλημα με το σύστημά μου και διάβασα και διάβασα και παντού βρήκα chroot και blablabla, αλλά δεν λειτούργησε για μένα με βάση αυτή τη σύσταση του live που είναι το ίδιο με το σύστημά σας , πολύ σημαντικό γιατί χρησιμοποιώ το x64, το άλλο είναι να προσαρτώ τα χωρίσματα του συστήματος, γιατί στην περίπτωσή μου όταν έκανα εφαρμογή chroot και μοντάροντας έριξε μια εντολή και απλά δεν αναγνώρισε την εντολή.

    Αυτό το θέμα θα μεταβεί στα αρχεία μου "συλλογή πληροφοριών"

  7.   κουλουράκι dijo

    Ένα Arch LiveCD (με αυτό το εργαλείο) είναι το μόνο που χρειάζεται για να διορθώσετε το σύστημά σας όταν το σπάσετε.

    1.    RAW-Βασικό dijo

      Ακριβώς! .. .. είναι αυτό που είναι απαραίτητο .. ακόμη και για να βοηθήσουμε κάποιον με το W $ που αποφάσισε να μην ξεκινήσει ..

      Πάντα έχω μαζί μου ένα 1db pendrive με Arch live ... και το chroot είναι το μόνο που χρειάζομαι, έτσι ώστε σε οποιοδήποτε πρόβλημα, σε 10 λεπτά να έχετε τα πάντα εντάξει χωρίς να ανησυχείτε .. 😉

    2.    ιζυβπ dijo

      Απλά πρέπει να ξέρετε πώς να το κάνετε.

    3.    Pablo dijo

      Γεια σας, παρατηρήστε ότι έχω πρόβλημα με τα centos, μου στέλνει πανικό πυρήνα κ.λπ. Και δεν μπόρεσα να το λύσω, έχω τον ιστότοπο και τη βάση δεδομένων μου εκεί. Δεν ξέρω τι άλλο να κάνω.

  8.   jony127 dijo

    Ωραία ανάρτηση, είχα ακούσει λίγο chroot, αλλά δεν ήξερα πώς χρησιμοποιήθηκε, φυσικά δεν το χρειαζόμουν ποτέ και γι 'αυτό δεν είχα διαβάσει κάτι συγκεκριμένα. Τώρα με την ανάρτησή σας να εξηγείται πολύ καθαρά, ξέρω πώς να το χρησιμοποιήσω σε περίπτωση.

    Σας ευχαριστώ πολύ και παρεμπιπτόντως, ζήστε το Led Zeppelin.

  9.   Καμάλα dijo

    ευχαριστώ, τελικά βγήκα από τον εφιάλτη διάσωσης grub

    στην πραγματικότητα ακολούθησα όλα τα βήματα εκτός από το umount / mnt / my_linux, γιατί μου είπε ότι ήταν απασχολημένο, και το έκανα -km, αλλά όχι ακόμη και αυτό, και αναπήδησα ...

    Ελπίζω να μην είναι σημαντικό….

    ευχαριστώ και πάλι…
    ένα χαιρετισμό

  10.   Jose Antonio dijo

    Αν και το άρθρο είναι δύο ετών, θέλω να ευχαριστήσω τον συγγραφέα για τη γενναιοδωρία του που το μοιράστηκε, είναι ένα υπέροχο άρθρο γιατί αυτό το Σαββατοκύριακο έσωσε τη ζωή μου. Ακούσια φόρτωσα έναν διακομιστή εγκαθιστώντας ένα πακέτο και κατά την επανεκκίνηση δεν φορτώθηκε. Μετά από τρεις μέρες προσπαθώντας να το διορθώσω και διαβάζοντας διαφορετικά άρθρα, κατάφερα να φτάσω εδώ κατά τύχη και τελικά κατάφερα να επανεγκαταστήσω το grub και να διορθώσω τον διακομιστή.

    Σας ευχαριστώ πολύ!

    1.    χαίρο dijo

      Χαίρομαι που σε βοήθησε. Ευχαριστώ για το σχόλιο!

  11.   Helio dijo

    Γεια σας, πώς ξέρω ότι αυτή η ανάρτηση πριν από χρόνια, αυτό το μεγάλο ευχαριστώ που το μοιραστήκατε. Και είχα μια αμφιβολία, στην περίπτωσή μου έβλαψε το σύστημα και επίσης τα προγράμματα οδήγησης δικτύου, οπότε ακολούθησα τα βήματα, αλλά δεν μου επιτρέπει να κατεβάσω πακέτα, υπάρχει τρόπος να συνδέσω το ζωντανό δίκτυο με το τερματικό

    1.    χαίρο dijo

      Δεν καταλαβαίνω πραγματικά το πρόβλημά σας ... Όταν συνδέεστε με το LiveCD, ο πυρήνας που φορτώνει είναι αυτός από το LiveCD, επομένως θα πρέπει να μπορείτε να ρυθμίσετε τέλεια μια σύνδεση στο Διαδίκτυο. Μόλις πραγματοποιηθεί η σύνδεση, προσπαθήστε να κάνετε chroot για να δείτε αν εξακολουθείτε να τη διατηρείτε, εάν όχι, ίσως χρειαστεί να τη διαμορφώσετε ξανά, αλλά ο κατεστραμμένος πυρήνας δεν θα πρέπει να επηρεάσει τη συνεδρία chroot.
      Εάν δεν προσδιορίσετε περισσότερα, μπορώ να σας πω ...

  12.   εξοχικό σπίτι dijo

    Εξαιρετική ανάρτηση… ένα από τα λίγα χρήσιμα άρθρα που βρέθηκαν στο Διαδίκτυο.
    Σας ευχαριστώ πολύ για τη συνεισφορά.

  13.   ζόμπεκ dijo

    Γεια σας, εξαιρετικό σεμινάριο! Εξαιρετικά εξηγηθεί, για εμάς απλούς θνητούς!

    Εχω μία ερώτηση:
    Όταν αναφέρατε ότι σε περίπτωση που χρειαστεί να εγκαταστήσετε πακέτα, να εκτελέσετε ενημερώσεις συστήματος ή άλλη ειδική δραστηριότητα και να απαιτήσετε την τοποθέτηση των φακέλων / dev / proc και / sys, δεν μου ήταν σαφές εάν αυτοί οι φάκελοι βρίσκονται στο σύστημα Live με το οποίο εμείς ξεκίνησε τον εξοπλισμό που θα επισκευαστεί, ή εάν είναι τοποθετημένοι πρώτα στο διαμέρισμα ρίζας.

    Σας ευχαριστώ.

  14.   Ορλάντο dijo

    ΕΥΧΑΡΙΣΤΩ ΠΟΛΥ!!!!