Αρχική σελίδα » πως να » Τι είναι τα Runlevels στο Linux;

    Τι είναι τα Runlevels στο Linux;

    Όταν ένα σύστημα Linux εκκινήσει, εισέρχεται στο προεπιλεγμένο επίπεδο εκτέλεσης και εκτελεί τα σενάρια εκκίνησης που σχετίζονται με αυτό το επίπεδο εκτέλεσης. Μπορείτε επίσης να κάνετε εναλλαγή μεταξύ επιπέδων εκτέλεσης - για παράδειγμα, υπάρχει ένα επίπεδο εκτέλεσης σχεδιασμένο για εργασίες ανάκτησης και συντήρησης.

    Παραδοσιακά, το Linux χρησιμοποίησε δέσμες ενεργειών του συστήματος V-style - ενώ τα νέα συστήματα init τελικά θα ξεπεράσουν τα παραδοσιακά runlevels, δεν έχουν ακόμη. Για παράδειγμα, το σύστημα Upstart του Ubuntu εξακολουθεί να χρησιμοποιεί παραδοσιακά σενάρια τύπου System V.

    Τι είναι το Runlevel?

    Όταν ένα σύστημα Linux εκκινεί, ξεκινά το μέσα σε αυτό διαδικασίες. Το init είναι υπεύθυνο για την έναρξη των άλλων διαδικασιών στο σύστημα. Για παράδειγμα, όταν ξεκινάτε τον υπολογιστή σας Linux, ο πυρήνας ξεκινά init και ο init εκτελεί τα scripts εκκίνησης για να προετοιμάσει το υλικό σας, να φέρει σε επαφή τη δικτύωση, να ξεκινήσει τον γραφικό σας υπολογιστή.

    Ωστόσο, δεν υπάρχει μόνο ένα σύνολο εντολών εκκίνησης init executes. Υπάρχουν πολλά επίπεδα εκτέλεσης με τα δικά τους σενάρια εκκίνησης - για παράδειγμα, ένα επίπεδο εκτέλεσης μπορεί να αναδείξει τη δικτύωση και να ξεκινήσει την γραφική επιφάνεια εργασίας, ενώ ένα άλλο επίπεδο εκτέλεσης ενδέχεται να αφήσει απενεργοποιημένη τη δικτύωση και να παραλείψει τη γραφική επιφάνεια εργασίας. Αυτό σημαίνει ότι μπορείτε να περάσετε από "γραφική επιφάνεια εργασίας" σε "λειτουργία κονσόλας κειμένου χωρίς δικτύωση" με μία μόνο εντολή, χωρίς να ξεκινήσετε και να σταματήσετε με το χέρι διαφορετικές υπηρεσίες.

    Πιο συγκεκριμένα, το init εκτελεί τα σενάρια που βρίσκονται σε έναν συγκεκριμένο κατάλογο που αντιστοιχεί στο επίπεδο εκτέλεσης. Για παράδειγμα, όταν εισάγετε το επίπεδο εκτέλεσης 3 στο Ubuntu, το init εκτελεί τα σενάρια που βρίσκονται στον κατάλογο /etc/rc3.d.

    Τουλάχιστον, αυτό είναι το πώς λειτουργεί με ένα παραδοσιακό σύστημα System V init - Οι διανομές Linux αρχίζουν να αντικαθιστούν το παλιό σύστημα System V init. Ενώ το Upstart του Ubuntu διατηρεί αυτήν τη στιγμή συμβατότητα με τα σενάρια SysV init, αυτό είναι πιθανό να αλλάξει στο μέλλον.

    Τα επίπεδα εκτέλεσης

    Ορισμένες runlevels είναι τυπικές μεταξύ των διανομών του Linux, ενώ ορισμένες runlevels διαφέρουν από τη διανομή στη διανομή.

    Τα ακόλουθα επίπεδα εκτέλεσης είναι στάνταρ:

    • 0 - Παύση (Απενεργοποιεί το σύστημα.)
    • 1 - Λειτουργία ενός χρήστη (Το σύστημα εκκινεί σε λειτουργία υπερ-χρηστών χωρίς να ξεκινά δαίμονες ή δικτύωση. Ιδανικό για εκκίνηση σε περιβάλλον ανάκτησης ή διάγνωσης.)
    • 6 - Επανεκκινήστε

    Τα επίπεδα λειτουργίας 2-5 διαφέρουν ανάλογα με τη διανομή. Για παράδειγμα, στο Ubuntu και στο Debian, οι runlevels 2-5 είναι οι ίδιες και παρέχουν μια πλήρη λειτουργία πολλαπλών χρηστών με τη δικτύωση και τη γραφική σύνδεση. Στις εφαρμογές Fedora και Red Hat, το runlevel 2 παρέχει λειτουργία πολλαπλών χρηστών χωρίς δικτύωση (μόνο για σύνδεση με κονσόλα), το επίπεδο εκτέλεσης 3 παρέχει λειτουργία πολλαπλών χρηστών με δικτύωση (μόνο σύνδεση με κονσόλα), το επίπεδο εκτέλεσης 4 δεν χρησιμοποιείται και το επίπεδο εκτέλεσης 5 παρέχει λειτουργία πολλαπλών χρηστών τη δικτύωση και τη γραφική σύνδεση.

    Μετάβαση σε διαφορετικό επίπεδο εκτέλεσης

    Για να μεταβείτε σε διαφορετικό επίπεδο εκτέλεσης ενώ το σύστημα εκτελείται ήδη, χρησιμοποιήστε την ακόλουθη εντολή:

    sudo telinit #

    Αντικαταστήστε το # με τον αριθμό του επιπέδου εκτέλεσης στο οποίο θέλετε να μεταβείτε. Παραλείψτε sudo και εκτελέστε την εντολή ως root αν τρέχετε μια διανομή που δεν χρησιμοποιεί sudo.

    Εκκίνηση απευθείας σε συγκεκριμένο επίπεδο εκτέλεσης

    Μπορείτε να επιλέξετε ένα επίπεδο εκτέλεσης για εκκίνηση από τον φορτωτή εκκίνησης - Grub, για παράδειγμα. Στην αρχή της διαδικασίας εκκίνησης, πατήστε ένα πλήκτρο για να αποκτήσετε πρόσβαση στο Grub, επιλέξτε την καταχώρηση εκκίνησης και πατήστε e για να την επεξεργαστείτε.

    Μπορείς να προσθέσεις μονόκλινο μέχρι το τέλος του linux για να εισαγάγετε το επίπεδο εκτέλεσης ενός χρήστη (επίπεδο εκτέλεσης 1). (Πατήστε Ctrl + x για εκκίνηση μετά.) Αυτό είναι το ίδιο με την επιλογή λειτουργίας αποκατάστασης στο Grub.

    Παραδοσιακά, θα μπορούσατε να ορίσετε έναν αριθμό ως παράμετρο του πυρήνα και θα εκκινήσετε σε αυτό το επίπεδο εκτέλεσης - για παράδειγμα, χρησιμοποιώντας 3 αντί μονόκλινο για την εκκίνηση στο runlevel 3. Ωστόσο, αυτό δεν φαίνεται να λειτουργεί στις πιο πρόσφατες εκδόσεις του Ubuntu - το Upstart δεν φαίνεται να το επιτρέπει. Ομοίως, ο τρόπος με τον οποίο αλλάζετε το προεπιλεγμένο επίπεδο εκτέλεσης θα εξαρτηθεί από τη διανομή σας.


    Ενώ ο δαίμονας Upstart του Ubuntu εξακολουθεί να μιμείται το σύστημα SystemV init, μεγάλο μέρος αυτών των πληροφοριών θα αλλάξει στο μέλλον. Για παράδειγμα, το Upstart βασίζεται σε συμβάντα - μπορεί να σταματήσει και να ξεκινήσει υπηρεσίες όταν συμβαίνουν συμβάντα (για παράδειγμα, μια υπηρεσία θα μπορούσε να ξεκινήσει όταν μια συσκευή υλικού είναι συνδεδεμένη στο σύστημα και να σταματήσει όταν αφαιρεθεί η συσκευή.) Η Fedora έχει επίσης τον δικό της διάδοχο να αρχίσει, systemd.