+++ title = 'Linux για τους νοητικά ασθενείς part II' date = '1999-03-01T00:00:00Z' description = '' author = 'Κοτσιφάκης Θρασύβουλος' issue = ['Magaz 13'] issue_weight = 4 +++ ---------------------------------------------------------------------------------------------------------------------------------------------------------------- *Συνέχεια του άρθρου του προηγούμενου μήνα. Τα πρώτα σας βηματάκια στο Linux και στα τερτίπια του .**Strictly for beginers**.* ---------------------------------------------------------------------------------------------------------------------------------------------------------------- **1. Ό LI.LO. (άκου όνομα κι αυτός).** ------------------------------------------------------------------------- **2. Τα αρχεία συστήματος** -------------------------------------------------------------- - [2.1 /etc/fstab](#ss2.1) - [2.2 /etc/profile](#ss2.2) - [2.3 /etc/printcap](#ss2.3) - [2.4 /etc/rc.config](#ss2.4) - [2.5 /etc/inittab](#ss2.5) - [2.6 /etc/conf.modules](#ss2.6) - [2.7 Τα αρχεία autoexec.bat και config.sys](#ss2.7) **3. Επίλογος (άντε γιατί βαρεθήκαμε).** --------------------------------------------------------------------------- ### [1. Ό LI.LO. (άκου όνομα κι αυτός).]{#s1} Χαιρετώ τα πλήθη και μπαίνω κατ\' ευθείαν στο ψητό. LI.LO. εστί **Linux Loader**, και τι κάνει αυτός ε; λοιπόν αυτός φροντίζει να ξεκινήσει(σουν) το(τα) λειτουργικό(ά) μας. Προφανώς όταν κάνατε εγκατάσταση του Linux, σας ζητήθηκε να τον εγκαταστήσετε κάπου. 'ν δεν έχετε κάποιο λειτουργικό με δικό του loader (π.χ. OS/2) εγκαταστήστε τον στο MBR (master boot record).Φτιάξτε τα boot volumes μέσα από τις ρουτίνες που διαθέτει κάθε Distribution, δώστε τους ονομασία και όταν ξεκινήσει ο κουβάς σας θα δείτε ένα μήνυμα μετά από την εκκίνηση του bios όπως το παρακάτω: **LΙLO:** Δώστε τώρα το όνομα που δώσατε στο boot volume του Linux και συνεχίστε με τα βήματα που διαβάσατε στο πρώτο άρθρο της σειράς για να κάνετε login. Πάμε τώρα να βγάλουμε τα μάτια στον lilo και να μάθουμε μερικά ψιλά για το πως θα τον κάνουμε να δουλεύει όπως θέλουμε εμείς. Κατά την εγκατάσταση του συστήματος σας στο σημείο που εγκαταστήσατε τον lilo συνέβησαν τα εξής: α. Καθορίστηκαν οι εγγραφές για το τι λειτουργικά συστήματα πρέπει να είναι έτοιμος ο lilo να ξεκινήσει. β. Καθορίστηκαν οι ονομασίες αυτών (boot labels) γ. Καθορίστηκε η θέση τους (σε ποιο δίσκο, σε ποιο partition ) δ. Καθορίστηκε ποιο λειτουργικό θα είναι το default. ε. Τροποποιήθηκε το MBR στ. Γράφτηκαν οι αλλαγές στο configuration file του LILO. Αυτά βέβαια με απλά λόγια διότι οι διαδικασίες αυτές είναι much much more complicated απ\' όσον ακούγονται, (διαβάστε το /usr/doc/lilo/README και θα καταλάβετε τι εννοώ.) Πάμε τώρα να αλλάξουμε τα φώτα στον lilo. Μεταφερθείτε στο /etc directory και ψάξτε για ένα αρχείο με το όνομα **lilo.conf**. Ανοίξτε το με κάποιον editor (vi, pico, joe ή όποιον άλλο εσείς πλέον χρησιμοποιείτε -συνιστώ ανεπιφύλακτα τον pico). Αυτό που θα δείτε είναι περίπου το παρακάτω : # LILO global section start boot=/dev/hda prompt timeout=100 vga = normal # End LILO global section # # Linux bootable partition config begins image = /boot/vmlinuz root = /dev/hda6 label = linux # Linux bootable partition config ends # # Winblows bootable partition config begins other = /dev/hda1 label = w95 table = /dev/hda # Winblows bootable partition config ends Νομίζω ότι με κάποια προσεκτική ανάγνωση καταλαβαίνετε τι κάνει αυτό το αρχείο αλλά και πως το κάνει.Βέβαια εδώ δεν διαβάζουμε για να γίνουμε Πυθίες γι αυτό ας εξηγήσουμε μερικά πράγματα. Προσέξτε τις εγγραφές ανάμεσα από τα σχόλια \"\#LILO global section start\" και \"\# End LILO global section\". Εδώ βρίσκονται οι γενικές (σφαιρικές) καταχωρίσεις για την αρχική συμπεριφορά του συστήματος μας. **boot=\...** : Εδώ καθοδηγούμε το σύστημα για το που βρίσκεται το boot record. Συνήθως είναι /dev/hda ή /dev/sda (αν ξεκινάμε τον lilo από hard-disk ) ή και /dev/fd0 (αν ξεκινάμε από δισκέττα -ναι, και αυτό γίνεται). **prompt** : Ενεργοποιείται το LILO prompt που βλέπουμε στην εκκίνηση και μας καλεί να επιλέξουμε λειτουργικό για την εκκίνηση. **timeout=\...tenthsofsecs** : Εδώ βάζουμε τον χρόνο που θα καθυστερήσει ο lilo στο prompt πριν ξεκινήσει το default λειτουργικό.Το 100 που έχει το lilo.conf παραπάνω σημαίνει 10 seconds. **vga=\...** : Εδώ μπορούμε να χρησιμοποιήσουμε μία τιμή ανάλυσης σε χαρακτήρες για την απεικόνιση των τερματικών μας. Οι επιλογές που έχουμε είναι normal (80x25) ext (80x50) ή ask όπου ερωτούμαστε για την ανάλυση (στο 2.2 kernel η παράμετρος ask δείχνει τον πραγματικό της εαυτό αφού μπορούμε να εκκινήσουμε σε SVGA Mode). Προς στιγμήν ας αφήσουμε το global section στο οποίο θα επιστρέψουμε δριμύτεροι για να του αλλάξουμε τα φώτα, και ας ρίξουμε μία ματιά στο section **\# Linux bootable partition config begins** **image=**/boot/vmlinuz : Εδώ λέμε στον lilo πού θα βρεί τον πυρήνα (vmlinuz είναι το όνομα που θα συναντήσετε και που αργότερα θα χρησιμοποιείτε κι εσείς για την ονομασία των custom kernel που θα φτιάχνετε, π.χ. vmlinuz\_2\_0\_36 vmlinuz\_2\_2 κ.λ.π. /boot φυσικά είναι το directory όπου αποθηκεύετε τους πυρήνες σας. **root =**/dev/hda6 : Έδώ φυσικά καθοδηγούμε τον lilo για το που κάνουμε mount το root (/) **label** = linux : Έδω του λέμε τι entry να περιμένει στο prompt. Πληκτρολογώντας δηλαδή linux και πατώντας το enter θα ξεκινήσει να φορτώνει το Linux του οποίου το loadable kernel βρίσκεται στο /boot ,ονομάζεται vmlinuz και το root directory του \"κάθεται\" στο /dev/hda6 Ας πειράξουμε τώρα λίγο το συγκεκριμένο αρχείο.Μπείτε σε μια άλλη κονσόλα και ανοίξτε τον editor της αρεσκείας σας. Πληκτρολογείστε ότι σας κατέβει για μήνυμα έναρξης και σώστε το π.χ. με ένα όνομα όπως my\_welcome\_msg. Γυρίστε τώρα στο τερματικό που έχετε ανοιχτό το lilο.conf και γράψτε στο global section την εξής εγγραφή. **message**=\.../my\_welcome\_msg όπου έχω τελείες εσείς βάλτε το path για το my\_welcome\_msg π.χ. /boot/my\_welcome\_msg Επειδή όμως εσείς είσαστε και ολίγον τί αργόστροφοι και όταν ξεκινάτε τον υπολογιστή το μυαλό σας στέλνει τις εντολές στα χέρια σας για πληκτρολόγηση με τεράστια χρονοκαθυστέρηση, ο χρόνος των 10 δευτερολέπτων είναι λίγος. Ας βάλουμε κι εδώ 30 δευτερόλεπτα. **timeout=** 300 Επειδή όμως και αυτός ο χρόνος είναι μικρός για το επίσης μικρό και νωθρό νευρικό σας σύστημα ας ανατρέξουμε στις παρακάτω ενότητες για να αλλάξουμε και τα labels και να τα κάνουμε μικρότερα **label=**l **label=**w Αλλά επειδή αν και πτωχοί τω πνεύματι είμαστε ανήσυχοι και διαβάσαμε το άρθρο του φίλου μου Βαγγέλη στο προηγούμενο τεύχος και έχουμε κάνει complile έναν kernel τον οποίο θέλουμε να δοκιμάσουμε για να καμαρώσουμε τι ωραία και γρήγορα που (δεν) ξεκινάει το μασίνι μας αφού απαντήσαμε αρνητικά σε ότι μας ρώτησε κατά την διάρκεια του config ας φτιάξουμε και ένα section για το δικό μας kernel που με περηφάνεια ονομάσαμε vmlinuz\_siga\_kai\_8a\_bootarei. # LILO global section start boot=/dev/hda message=/boot/my_welcome_msg prompt timeout=300 vga = normal # End LILO global section # # Linux bootable partition config begins image = /boot/vmlinuz root = /dev/hda6 label = l # Linux bootable partition config ends # # Winblows bootable partition config begins other = /dev/hda1 label = w table = /dev/hda # Winblows bootable partition config ends # #to neo section me to kernel poy ftiajame jekina edw image= /boot/vmlinuz_siga_kai_8a_bootarei #elpizw oti to antigrapsate sto /boot root = /dev/hda6 label = l1 #elpizw na prolauete na to plhktrologhsete #edw teleiwnoume (ponhroulia mou!) Αφού κάναμε τις αλλαγές μας σώζουμε το lilo.conf και περήφανοι για την πρόοδο μας επανεκκινούμε τον κουβά μας, βλέπουμε το LILO prompt και γράφουμε **l**, πατάμε το enter και παίρνουμε τ\' \_ \_ \_ \_ \_ια μας ,μας λέει ο lilos ότι λέει δεν υπάρχει τέτοιο πράμα. Πατάμε το Tab για να δούμε τι επιλογές έχουμε και τι θωρούν τα μάτια μας; **linux** και **w95** μα αφού τα αλλάξαμε με τα ίδια τα χεράκια μας , και το καινούριο kernel που είναι; Well αφήστε το linux να μπουτάρει όσο θα σας εξηγώ. Όταν μετατρέπουμε το αρχείο lilo.conf πρέπει να εγκαταστήσουμε τον lilo ξανά για να αλλάξουν τα settings του **/boot/map** το οποίο δεν μεταβάλλεται αν δεν τρέξουμε το : **/sbin/lilo** Αφού τώρα το ξέρουμε πάμε να εφαρμόσουμε την γνώση μας. Tο μήνυμα που θα πάρουμε μετά από την εκτέλεση του /sbin/lilo θα είναι Added l* Added w Added l1 Ο αστερίσκος που βλέπετε πλάι στο **l** δείχνει ότι το l είναι το image που θα φορτώσει σε (πολύ) πιθανό timeout . Αν τώρα θέλετε να ξεκινά by default τα **ΑΚΑΤΑΝΟΜΑΣΤΑ(c)** τότε κάντε σκάντζα το linux section με το Winblows section (το Winblows πρώτο) και ξανατρέξτε το /sbin/lilo, να πάτε τώρα τρέχοντας να εξομολογηθείτε την αμαρτία σας σ\' ένα παπά (τον αφορισμό τον έχετε σίγουρο, μόνο ο Χριστοδου(λοπου)λος σας σώζει που αυτός όλα τα συγχωρεί). Τέλος πάντων ξεκινήστε τον κουβά και βλέπουμε.Και τώρα όπως βλέπετε και το μηνυματάκι σας φαίνεται στην οθόνη έναρξης και το νέο kernel δεν μπουτάρει και γενικώς τα κάνατε θάλασσα. ### [2. Τα αρχεία συστήματος]{#s2} Τα αρχεία συστήματος είναι κάτι αρχεία τα οποία διαβάζει ο κουβάς μας κατά την διαδικασία εκκίνησης του για να πάρει γενικές κατευθύνσεις και για να ξέρει τι υπηρεσίες θα ξεκινήσει.Τα αρχεία αυτά θα τα συναντήσετε μέσα στο **/etc** και στα directories των εκάστοτε user (/root , /home/\...).Γενικά οι τροποποιήσεις αυτών των αρχείων (ειδικά των γενικών αρχείων που βρίσκονται στο **/etc**) κρίνεται απαγορευμένη για μωρά και ηλιθίους αλλά μάλλον -με πάσα επιφύλαξη- εσείς δεν ανήκετε σε καμμία από τις δύο παραπάνω κατηγορίες.Έχοντας υπ\' όψιν τα παραπάνω λοιπόν συνιστώ ανεπιφύλακτα να κάνετε ένα **backup** των αρχείων πριν ξεκινήσετε να τα τσακίζετε στις αλλαγές προς το καλύτερο -κούνια που σας κούναγε. Αρχεία συστήματος στο **LINUX**, λοιπόν, είναι τα κάτωθι - **/etc/fstab** - **/etc/profile** - **/etc/printcap** - **/etc/rc.config** - **/etc/inittab** - **/etc/conf.modules** Αυτά είναι τα σπουδαιότερα από τα γενικά αρχεία που και θα εξηγήσουμε διεξοδικά. Εκτός όμως από αυτά υπάρχουν και άλλα που δεν είναι του παρόντος να τα εξηγήσουμε. Επειδή όμως εγώ είμαι καλός άνθρωπος και σας πάω θα τα αναφέρω εν περιλήψη. - **/etc/DIR COLORS** Αναθέτει τα χρώματα στην εντολή ls - **/etc/XF86Config** Το configuration για το παραθυρικό περιβάλλον - **/etc/passwd** Πληροφορίες για τους χρήστες (ονόματα, τα shell, τα user ID τους κ.λ.π.) - **/etc/shadow** Τα passwords Φυσικά config file είναι και το lilo.conf αλλά και τα παρακάτω που βρίσκονται στους καταλόγους του κάθε χρήστη (συνήθως /home/{username}). - **.profile** το προσωπικό script του κάθε χρήστη (για το **bash**) - **.bashrc** το configuration του bash - **.xinitrc** Ένα script για να εκκινείτε τα Χ WINDOWS με τα δικά σας γούστα (γραμματοσειρές, προγράμματα που θα ξεκινούν, ο WINDOW MANAGER της αρεσκείας σας κ.λ.π). ### [2.1 /etc/fstab]{#ss2.1} Λοιπόν αυτό το αρχείο είναι ίσως το πιο απλό στο editing αφού διαβάζεται πανεύκολα. Ας εξηγήσουμε όμως τι κάνει. Με απλά λόγια **καθοδηγεί στην εκκίνηση** το linuxoboxo μας για το τι **filesystems** υπάρχουν στον κουβά μας, για το που γίνονται **mount** και τις **διαδικασίες ελέγχου** για κάθε ένα απ\' αυτά. Η μορφή του είναι ως κάτω: Συσκευή mount-point filesystem-type mount-options dumps(backups) fschk - **Συσκευή** . Εδώ ορίζουμε τις συσκευές μας (hard-drives και partitions π.χ. /dev/hda6, floppy-disks π.χ./dev/fd0, cdrom π.χ. /dev/hdc) - **mount-point**.Εδώ ορίζουμε κάτω από ποιον κατάλογο θα γίνεται mount η κάθε συσκευή (/ , /usr , /opt , /cdrom , /mnt/floppy κ.λ.π.) - **filesystem-type**.Εδώ ορίζουμε το είδος του filesystem για την κάθε συσκευή (ext2 , msdos , vfat , iso9660 , hpfs κ.λ.π.) - **mount-options**.Εδώ ορίζουμε με τι επιλογές θα γίνει mount το κάθε σύστημα αρχείων. Αυτό λέει στο σύστημα για το αν το filesystem είναι read-write (rw), read-only (ro) κλπ. Συχνά θα συναντήσετε εδώ και τον ορισμό default , αυτό σημαίνει ότι κατά την εκκίνηση θα χρησιμοποιηθούν οι default επιλογές του συστήματος για το συγκεκριμένο filesystem-type. - **dumps**. Εδώ καλούμαστε να ορίσουμε αν θα ζητήσουμε να γίνει backup της μορφής του filesystem κατά την εκκίνηση.Οι επιλογές είναι δύο α. μηδέν(0) και β. ένα (1) .Με μηδέν το filesystem δεν θα γίνει backup. Με ένα (1) θα αναγκάσει να γραφτεί ένα backup του συστήματος. - **fschk**. Εδώ ορίζουμε αν θα ελέγχεται η συσκευή για λάθη. Οι επιλογές είναι τρείς. α. Μηδέν (0) δεν γίνεται έλεγχος δηλαδή β. Ένα (1) αφορά το root filesystem **(/)** και κάνει ένα εκτεταμένο fschk . γ. Δύο (2) ένα λιγότερο thorough fschk. ```{=markdown} ``` Ας δώσουμε όμως και δύο-τρία παραδειγματάκια :
Για ένα filesystem ext2 στο πρώτο partition του πρώτου IDE harddisk που θέλουμε να χρησιμοποιήσουμε σαν root οι εγγραφές στο fstab θα είναι :