6Jul
Όταν εκκινείται ένα σύστημα Linux, εισέρχεται στο προεπιλεγμένο επίπεδο εκτέλεσης και εκτελεί τα σενάρια εκκίνησης που σχετίζονται με αυτό το επίπεδο εκτέλεσης.Μπορείτε επίσης να αλλάξετε μεταξύ επιπέδων εκτέλεσης - για παράδειγμα, υπάρχει ένα επίπεδο εκτέλεσης σχεδιασμένο για εργασίες ανάκτησης και συντήρησης.
Παραδοσιακά, το Linux χρησιμοποίησε σενάρια init τύπου System V - ενώ τα νέα συστήματα init τελικά θα ξεπεράσουν τα παραδοσιακά runlevels, δεν έχουν ακόμα.Για παράδειγμα, το σύστημα Upstart του Ubuntu εξακολουθεί να χρησιμοποιεί παραδοσιακά σενάρια τύπου System V.
Τι είναι το Runlevel;
Όταν ένα σύστημα Linux εκκινήσει, εκκινεί τις διαδικασίες init .Το init είναι υπεύθυνο για την έναρξη των άλλων διαδικασιών στο σύστημα.Για παράδειγμα, όταν ξεκινάτε τον υπολογιστή Linux, ο πυρήνας εκκινεί init και ο init εκτελεί τα σενάρια εκκίνησης για να προετοιμάσει το υλικό σας, να αναδείξει τη δικτύωση, να ξεκινήσει τη γραφική σας επιφάνεια εργασίας.
Ωστόσο, δεν υπάρχει μόνο ένα σύνολο εντολών εκκίνησης init executes.Υπάρχουν πολλά επίπεδα εκτέλεσης με τα δικά τους σενάρια εκκίνησης - για παράδειγμα, ένα επίπεδο εκτέλεσης μπορεί να αναδείξει τη δικτύωση και να εκκινήσει την γραφική επιφάνεια εργασίας, ενώ ένα άλλο επίπεδο εκτέλεσης ενδέχεται να αφήσει απενεργοποιημένη τη δικτύωση και να παραλείψει την γραφική επιφάνεια εργασίας.Αυτό σημαίνει ότι μπορείτε να περάσετε από "γραφική επιφάνεια εργασίας" σε "λειτουργία κονσόλας κειμένου χωρίς δικτύωση" με μία μόνο εντολή, χωρίς να ξεκινήσετε και να σταματήσετε με το χέρι διαφορετικές υπηρεσίες.
Πιο συγκεκριμένα, το init εκτελεί τα σενάρια που βρίσκονται σε έναν συγκεκριμένο κατάλογο που αντιστοιχεί στο επίπεδο εκτέλεσης.Για παράδειγμα, όταν εισάγετε το επίπεδο εκτέλεσης 3 στο Ubuntu, το init εκτελεί τα σενάρια που βρίσκονται στον κατάλογο rc3.d /etc/.
Τουλάχιστον, έτσι λειτουργεί με ένα παραδοσιακό σύστημα System init - Οι διανομές του Linux αρχίζουν να αντικαθιστούν το παλιό σύστημα System V init.Ενώ η Upstart του Ubuntu διατηρεί αυτήν τη στιγμή συμβατότητα με τα σενάρια SysV init, αυτό είναι πιθανό να αλλάξει στο μέλλον.
Οι Runlevels
Ορισμένα runlevels είναι στάνταρ μεταξύ των διανομών Linux, ενώ ορισμένα runlevels διαφέρουν από τη διανομή στη διανομή.
Τα
- 0 - Σταματάν ( Απενεργοποιεί το σύστημα.)
- 1 - Ενιαία Χρήση ( Το σύστημα ξεκινάει σε λειτουργία superuser χωρίς ξεκινώντας δαίμονες ή δικτύωση.) Ιδανικό για εκκίνηση σε περιβάλλον ανάκτησης ή διάγνωσης.)
- 6 - Επανεκκίνηση
Τα επίπεδα λειτουργίας 2-5 διαφέρουν ανάλογα με τη διανομή.Για παράδειγμα, στο Ubuntu και στο Debian, οι runlevels 2-5 είναι οι ίδιες και παρέχουν μια πλήρη λειτουργία πολλαπλών χρηστών με τη δικτύωση και τη γραφική σύνδεση.Στις εφαρμογές Fedora και Red Hat, το runlevel 2 παρέχει λειτουργία πολλαπλών χρηστών χωρίς σύνδεση( κονσόλα μόνο για σύνδεση), το επίπεδο εκτέλεσης 3 παρέχει λειτουργία πολλαπλών χρηστών με δικτύωση( μόνο για την κονσόλα), το επίπεδο εκτέλεσης 4 δεν χρησιμοποιείται και το επίπεδο εκτέλεσης 5 παρέχει λειτουργία πολλαπλών χρηστώντη δικτύωση και τη γραφική σύνδεση.
Αλλαγή σε διαφορετικό επίπεδο εκτέλεσης
Για να μεταβείτε σε διαφορετικό επίπεδο εκτέλεσης ενώ το σύστημα εκτελείται ήδη, χρησιμοποιήστε την ακόλουθη εντολή:
sudo telinit #
Αντικαταστήστε το # με τον αριθμό του επιπέδου εκτέλεσης στο οποίο θέλετε να μεταβείτε.Παραλείψτε sudo και εκτελέστε την εντολή ως root αν τρέχετε μια διανομή που δεν χρησιμοποιεί sudo.
Εκκίνηση απευθείας σε συγκεκριμένο
Runlevel Μπορείτε να επιλέξετε ένα επίπεδο εκτέλεσης για εκκίνηση από τον φορτωτή εκκίνησης - Grub, για παράδειγμα.Στην αρχή της διαδικασίας εκκίνησης, πατήστε ένα πλήκτρο για πρόσβαση στο Grub, επιλέξτε την καταχώρηση εκκίνησης και πατήστε e για να την επεξεργαστείτε.
Μπορείτε να προσθέσετε single στο τέλος της γραμμής linux για να εισέλθετε στο επίπεδο εκτέλεσης ενός χρήστη( runlevel 1).(Πατήστε Ctrl + x για εκκίνηση μετά.) Αυτή είναι η ίδια με την επιλογή λειτουργίας αποκατάστασης στο Grub.
Παραδοσιακά, θα μπορούσατε να ορίσετε έναν αριθμό ως μια παράμετρο του πυρήνα και θα εκκινήσετε σε εκείνο το επίπεδο εκτέλεσης - για παράδειγμα, χρησιμοποιώντας το 3 αντί single για την εκκίνηση στο runlevel 3. Ωστόσο, αυτό δεν φαίνεται να λειτουργεί στις πιο πρόσφατες εκδόσειςτου Ubuntu - Upstart δεν φαίνεται να το επιτρέπει.Ομοίως, ο τρόπος με τον οποίο αλλάζετε το προεπιλεγμένο επίπεδο εκτέλεσης θα εξαρτηθεί από τη διανομή σας.
Ενώ ο δαίμονας Upstart του Ubuntu εξακολουθεί να μιμείται το σύστημα SystemV init, μεγάλο μέρος αυτών των πληροφοριών θα αλλάξει στο μέλλον.Για παράδειγμα, το Upstart βασίζεται σε συμβάντα - μπορεί να σταματήσει και να ξεκινήσει υπηρεσίες όταν προκύψουν συμβάντα( για παράδειγμα, μια υπηρεσία θα μπορούσε να ξεκινήσει όταν μια συσκευή υλικού είναι συνδεδεμένη στο σύστημα και σταματά όταν αφαιρεθεί η συσκευή.) Η Fedora έχει επίσης τον δικό της διάδοχονα αρχίσει, systemd.