Page 45 - Linux_7

Basic HTML Version

Linux Inside
45
Runlevel 3:
Ομοίως με το runlevel 2, μόνο που εδώ πλέον
το σύστημά μας έχει και ενεργοποιημένο δίκτυο.
Runlevel 4:
Κενό – μπορεί ο διαχειριστής να το τροποποι-
ήσει κατάλληλα ώστε να ξεκινά συγκεκριμένες διεργασίες σε
όποια σειρά επιθυμεί.
Runlevel 5:
Ομοίως με το runlevel 3, μόνο που εδώ πλέον
το σύστημά μας ξεκινά με ενεργοποιημένο γραφικό περιβάλ-
λον.
Runlevel 6:
Το σύστημά μας κάνει επανεκκίνηση.
Στις μέρες μας, τα runlevels δεν χρησιμοποιούνται όπως
παλαιότερα. Αρκετές διανομές έχουν το ίδιο runlevel (δηλα-
δή, το ίδιο προφίλ) από το 2 έως και το 5. Τα υπόλοιπα
runlevels (0, 1 & 6) χρησιμοποιούνται κανονικά από όλες τις
διανομές.
Μπορεί να μπερδέψει τους χρήστες το ότι υπάρχει διαφο-
ρετικό προεπιλεγμένο runlevel (2, 3, 4 ή 5) ανάμεσα στις δια-
νομές. Μπορεί μάλιστα να βρεθείτε σε διανομή που να σηκώ-
νει γραφικό περιβάλλον ακόμη και από το 2!
Για να δούμε ποιο είναι το runlevel στο οποίο έχουμε μετα-
βεί, πληκτρολογούμε την εντολή:
$ runlevel
N 3
Το runlevel εκτελείται μέσω της διεργασίας init. Μπορούμε,
όμως, να το προσθέσουμε και στο μενού επιλογών που εμφα-
νίζεται μέσω του GRUB.
Στο αρχείο /boot/grub/menu.lst και στη δήλωση του kernel
(kernel /boot/vmlinuz), μπορούμε να προσθέσουμε το runlevel
που επιθυμούμε να εκκινήσουμε τη διανομή μας. Εάν, για πα-
ράδειγμα, προσθέσουμε το 1 ή το S (single), τότε ο πυρήνας
θα εκκινηθεί σε single mode (runlevel 1).
Όπως αναφέραμε, στο runlevel 1 θα γίνει η προσάρτηση
των δίσκων μας και των κατατμήσεων της διανομής μας. Εάν
θέλουμε να διορθώσουμε προβλήματα που αφορούν στις κα-
τατμήσεις ή κάποιο πρόβλημα στη διανομή μας, καλό θα είναι
να μην γίνει η προσάρτηση. Σε αυτή την περίπτωση μεταβαί-
νουμε σε rescue mode και αυτό γίνεται εάν τροποποιήσουμε
την εγγραφή του πυρήνα στο GRUB, ώστε να δείχνει ως
εξής:
kernel /boot/vmlinuz init=/bin/sh
Σε αυτή την περίπτωση, η διεργασία init δεν θα φορτώσει
κάποιο runlevel, αλλά θα τρέξει το /bin/sh (στα περισσότερα
συστήματα αυτό «δείχνει» στο /bin/bash) και θα μας δώσει μία
κονσόλα (τερματικό) για να μπορούμε να επιδιορθώσουμε το
σύστημά μας.
rs.sysinit - rc.local
Κατά τη διαδικασία εκκίνησης, η διεργασία init πριν από
όλα θα τρέξει το αρχείο /etc/rc.sysinit. Μέσω αυτού του αρ-
χείου γίνεται η αρχικοποίηση του συστήματος και ανάλογα με
τη διανομή εκτελούνται κάποια αρχεία είτε για cleanup είτε
για αρχικοποίηση.
Το τελευταίο αρχείο το οποίο εκτελεί η διεργασία init, είναι
το /etc/rc.local, το οποίο συνήθως είναι άδειο. Σε αυτό ο δια-
χειριστής συνήθως περνά τις δικές του παραμέτρους ή εντο-
λές που επιθυμεί να εκτελεστούν κατά τη διαδικασία εκκίνη-
σης της διανομής.
Στο αρχείο inittab δηλώνεται επίσης και το αντίστοιχο αρ-
χείο (ή αρχεία) που έχουμε ορίσει να εκτελούνται ανάλογα με
το επιλεγμένο runlevel.
Display managers
Εάν η διανομή μας φορτώνει γραφικό περιβάλλον, τότε η
διεργασία init θα προσπαθήσει να εντοπίσει έναν display
manager. Με τον όρο display manager ορίζονται τα προγράμ-
ματα που αναλαμβάνουν γραφικά την αυθεντικοποίηση των
χρηστών στο σύστημα, καθώς και την επιλογή της συνεδρίας.
Συνεδρία είναι η επιλογή του γραφικού περιβάλλοντος που
έχουμε ή θέλουμε να επιλέξουμε. Οι δημοφιλέστεροι display
managers είναι οι εξής:
• xdm
• gdm
• kdm
• slim
• lxdm
• wdm
Εάν δεν υπάρχει κάποιο από τα παραπάνω προγράμματα
και η διανομή μας δεν «σηκώνει» αυτόματα γραφικό περιβάλ-
λον, μπορούμε να φορτώσουμε το γραφικό περιβάλλον με
την εντολή:
startx
εάν, φυσικά, έχουμε ήδη εγκαταστήσει κάποιον X server
(π.χ., xorg-server).
Αντί επιλόγου
Φθάνοντας στο τέλος του άρθρου, θέλω να πιστεύω ότι
σας βοήθησε λίγο να καταλάβετε τη διαδικασία εκκίνησης
μίας διανομής Linux, από το Power On μέχρι την οθόνη σύν-
δεσης. Η διαδικασία εκκίνησης αποτελεί πολύ «καυτό» θέμα
αυτόν τον καιρό, καθώς νέες τεχνολογίες (όπως το trusted
boot, το uefi, systemd και, φυσικά, το grub2) έχουν εισβάλει
στη ζωή μας. Και, φυσικά, οι developers των μεγάλων διανο-
μών Linux εργάζονται πυρετωδώς, ώστε να κάνουν αυτή τη
διαδικασία πιο εύκολη, πιο γρήγορη και πιο ασφαλή για τους
χρήστες τους.
Η βασική ιδέα, όμως, δεν έχει ακόμη αλλάξει ριζικά. Ακόμη
και ένα Windows λειτουργικό bootάρει με παρόμοιο τρόπο.
Εάν έχετε διαβάσει αναλυτικά το άρθρο, θα είστε σε θέση να
επιλύσετε τυχόν προβλήματα που μπορεί να προκύψουν κατά
την εκκίνηση της διανομής σας.
Θα πρέπει να έχετε αποκρυπτογραφήσει (έστω και λίγο) τι
γίνεται πίσω από τη splash οθόνη που βλέπεται μέχρι να φορ-
τωθεί η διανομή που χρησιμοποιείτε.
Περιμένουμε το δικό σας feedback!
Για περισσότερες διευκρινίσεις, μη διστάσετε να επικοινω-
νήσετε με το forum του περιοδικού ή ακόμη και με εμένα
προσωπικά. Εάν σας άρεσε το άρθρο, μοιραστείτε το μαζί
μας για να πάρουμε θάρρος και να γράψουμε και άλλα μίνι
αφιερώματα όπως αυτό. Ακόμα και αν δεν σας άρεσε, περι-
μένουμε τις παρατηρήσεις σας για να βελτιωθούμε!
Linux Boot Process
Σύνδεσμοι:
[1] http://en.wikipedia.org/wiki/BIOS
[2] http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_
Interface
[3] http://en.wikimedia.org/wiki/Master_boot_record
[4] http://en.wikipedia.org/wiki/Dd_(Unix)
[5] http://www.gnu.org/software/grub/grub-legacy.en.html
[6] http://en.wikipedia.org/wiki/Cylinder-head-sector
[7] http://wikipedia.org/wiki/Universally_unique_identifier