Κεφάλαιο 4: Ρύθμιση Συστήματος

Σχετικά έγγραφα
qemu img create linux.img f raw 2G

Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux

Μια εισαγωγή στο Linux με την διανομή Fedora. Βάιος Κολοφωτιάς MSc Informational Systems

ΑΝΑΠΤΥΞΗ ΔΙΑΝΟΜΗΣ LINUX ΠΡΟΣΑΡΜΟΣΜΕΝΗΣ ΣΤΙΣ ΑΝΑΓΚΕΣ ΤΟΥ ΤΜΗΜΑΤΟΣ Η.Υ.Σ.

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Open eclass Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016

Ελληνικός Οδηγός Εγκατάστασης Linux για Αρχάριους

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

Linux με τη χρήση κονσόλας

ΑΝΑΠΤΥΞΗ ΔΙΑΝΟΜΗΣ LINUX ΠΡΟΣΑΡΜΟΣΜΕΝΗΣ ΣΤΙΣ ΑΝΑΓΚΕΣ ΤΟΥ ΤΜΗΜΑΤΟΣ Η.Υ.Σ.

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) Αθήνα, 16 Μαρτίου Εισαγωγή

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

MultiBoot Οδηγός χρήσης

Ενημέρωση σε Windows 8.1 από τα Windows 8

% ls -l /usr/bin/wc -rwxr-xr-x 1 root bin 7368 Jul /usr/bin/wc

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΩΝ ΣΥΣΤΗΜΑΤΟΣ 2015

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Εδώ υπάρχει ένα παράδειγμα από ένα φανταστικό πρόγραμμα και το πακέτο του:

Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης eclass 2.0. Οδηγίες Αναβάθµισης (Upgrade) Αθήνα, 1 Ιουνίου Εισαγωγή

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Κεφάλαιο 10 Διαχείριση Αρχείων και Καταλόγων

Εγκατάσταση και Απεγκατάσταση Ubuntu 7.10

Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους:

Εισαγωγή στο λειτουργικό σύστηµα Unix

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

ΕΡΓΑΣΤΗΡΙΟ 2: Unix Tutorial

Ενσωματωμένα Συστήματα

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15

Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. USB 2.0 Adaptor. για συσκευές SATA ή IDE 2.5-ιντσών / 3.5-ιντσών / 5.25-ιντσών

Κεφάλαιο 16: Ο κειμενογράφος Vi

Κοινή χρήση πόρων με τα Windows XP

Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT)

Βοηθητικό πρόγραµµα Setup

Δραστηριότητα 3: Ρυθμίσεις Oικιακής Ομάδας Τοπικού Δικτύου Η/Υ σε WINDOWS 7 & 8

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

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

H A R D D I S K A D A P T E R I D E / S A T A T O U S B 3. 0 O N E T O U C H B A C K U P A I

Linux με τη χρήση κονσόλας

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

FB Κάρτα FireWire PCI 3 θυρών Sweex FB Κάρτα FireWire PCI 4 θυρών Sweex

Λειτουργικά Συστήματα

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

SingularLogic Σεπτέμβριος 2014

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης

O N E T OUC H B A C K U P 3 P O R T S U S B 2. 0 H U B Ε Γ Χ Ε Ι Ρ Ί Δ Ι Ο

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run

H A R D D I S K A D A P T E R I D E / S A T A T O U S B 2. 0 A I

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤΙΚΟ 1/53

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Hase οδηγίες χρήσης.

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

Unity Editor #04 Κεντρικό Μενού: Edit, Unity Preferences

Ενημερώσεις λογισμικού Οδηγός χρήσης

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53

Εισαγωγή. Περιεχόμενα της συσκευασίας. Τεχνικές Προδιαγραφές. Απαιτήσεις συστήματος. Ελληνική Έκδοση. IP002 Sweex USB Internet Phone

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

Boot Camp Οδηγός εγκατάστασης και διαμόρφωσης

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ , Ελλάδα, Τηλ Φαξ

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΓΡΑΜΜΑΤΕΙΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ESCHOOL

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Ενημερώσεις λογισμικού Οδηγός χρήσης

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΟΝΑΔΑ ΑΡΙΣΤΕΙΑΣ ΕΛ/ΛΑΚ

Σειριακό Τερματικό Serial Terminal (Dumb Terminal)

Υπηρεσία διαμοιρασμού αρχείων

Αναλυτικός οδηγός της ενημέρωσης των Windows 8.1

Κεφάλαιο 4: Λογισμικό Συστήματος

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

LINUX. Εισαγωγή. Τί είναι το Linux;

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI

Εισαγωγή. Περιεχόμενα της συσκευασίας. Τεχνικές Προδιαγραφές. Απαιτήσεις συστήματος. Ελληνική Έκδοση SWEEX.COM

Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα, τα σήματα της τροχαίας.

Εργαστήριο 4 Ασκήσεις: Διαχείριση Δικτύου (nmap, iptables) και Προχωρημένες Εντολές Unix (grep, ps, cut, find)

Βοηθητικό πρόγραµµα Setup Οδηγός χρήσης

Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R207

Εγχειρίδιο εγκατάστασης και βασικής παραμετροποίησης σεναρίου εστίασης

Εργαστηριακή εισήγηση. «Ψηφιακή τάξη και Linux Ubuntu: ξεκίνημα, χρήση, τεκμηρίωση, πλεονεκτήματα»

Hase οδηγίες χρήσης.

Εγχειρίδιο εγκατάστασης και χρήσης περιοδικών etwinning

Μερικές άλλες χρήσιμες εντολές

Σύντομο Εγχειρίδιο Linux. 1 ον Μέρος.

User Name : admin. XMEYE AHD_GN_AHR_short_manual_gr

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

Οδηγίες Εγκατάστασης της MySQL

Πώς να χρησιμοποιήσετε το Moodle

Transcript:

Κεφάλαιο 4: Ρύθμιση Συστήματος Πριν ρυθμίσετε τα πιο προχωρημένα μέρη του συστήματος σας, είναι καλό να γνωρίζεται για το πως το σύστημα είναι δομημένο και ποιες εντολές μπορούν να χρησιμοποιηθούν για την αναζήτηση αρχείων και προγραμμάτων. Είναι επίσης καλό να γνωρίζεται αν χρειάζεται να μεταγλωττίσετε τον πυρήνα και ποια βήματα πρέπει να ακολουθήσετε σε αυτή τη διαδικασία. Το κεφάλαιο αυτό θα σας κάνει οικία την οργάνωση του συστήματος και τη ρύθμιση των αρχείων. Τότε θα μπορείτε να ρυθμίσετε και τα ποιο απαιτητικά μέρη του συστήματος. 4.1 Περιληπτική ματιά Είναι σημαντικό να καταλάβετε πως ένα σύστημα Linux είναι δομημένο πριν αρχίσετε να ρυθμίζεται τα διάφορα ζητήματα. Το Linux διαφέρει από το DOS, τα Windows και τους Machintosh (με την εξαίρεση του Mac OS X το οποίο είναι βασισμένο στο Unix), και οι παρακάτω ενότητες θα σας βοηθήσουν να καταλάβετε τη δομή του και πως να ρυθμίσετε το σύστημα ώστε να έρχεται στα μέτρα σας. 4.1.1 Δομή φακέλων συστήματος Η πρώτη εμφανής διαφορά μεταξύ του Linux και του DOS ή των Windows, βρίσκεται στα αρχεία συστήματος. Για τους πρωτάρηδες, το Linux, όπως κάθε λειτουργικό βασισμένο στο Unix, δε χρησιμοποιεί γράμματα για τις διάφορες συσκευές αλλά σε κάθε συσκευή αντιστοιχεί μια διαδρομή καταλόγου η οποία θα βρίσκεται μέσα στον κύριο κατάλογο. Ο κύριος κατάλογος ονομάζεται root directory, και συμβολίζεται με το (/). Αυτή η ιδέα ίσως να φαίνεται παράξενη σε κάποιους, αλλά πραγματικά καθιστά πολύ εύκολη τη διαδικασία πρόσθεσης επιπλέον χώρου στο σύστημα. Για παράδειγμα, ας υποθέσουμε ότι δεν υπάρχει άλλος χώρος στον σκληρό που αντιστοιχείται στον κατάλογο /home. Μπορείτε λοιπόν να αγοράσετε ένα καινούργιο σκληρό και να τον αντιστοιχείσετε στον κατάλογο που θέλετε, μπορεί να είναι ο /home, τότε έχετε πολύ εύκολα περισσότερο. Παρακάτω ακολουθεί μια περιγραφή το βασικών καταλόγων του Slackware. bin boot dev Τα βασικά προγράμματα για τους χρήστες βρίσκονται σε αυτόν τον κατάλογο όπως το κέλυφος και οι βασικές εντολές του συστήματος (ls, cd κλπ). Συνήθως ο κατάλογος αυτός δεν αλλάζει ως προς το περιεχόμενό του μετά την εγκατάσταση. Εάν γίνει κάτι τέτοιο, τότε έχει να κάνει με το τι πακέτα εγκαταστήσατε στο σύστημά σας. Τα αρχεία τα οποία χρησιμοποιούνται από τον Linux Loader (LILO) περιέχονται σε αυτόν τον φάκελο. Και αυτός ο φάκελος δεν αλλάζει ιδιαίτερα μετά την εγκατάσταση εκτός και αν εσείς θέλετε να αλλάξετε κάτι συγκεκριμένο. Ο πυρήνας βρίσκεται επίσης σε αυτόν τον κατάλογο. Σε εκδόσεις του Slackware πριν την 8.1, ο πυρήνας βρίσκονταν στον γενικό κατάλογο /, αλλά είναι προτιμότερα να βρίσκεται στον κατάλογο όπου υπάρχουν αρχεία σχετικά με την εκκίνηση του υπολογιστή. Όπως είπαμε, το καθετί στο Linux αντιπροσωπεύεται από αρχεία, ακόμη και οι συσκευές όπως οι σειριακές θύρες, ο σκληρός δίσκος, οι σαρωτές κλπ. Προκειμένου να αποκτήσετε πρόσβαση

στις συσκευές αυτές πρέπει να υπάρχει το αντίστοιχο αρχείο, ένας device node όπως λέγεται. Όλα αυτά τα αρχεία βρίσκονται μέσα στον κατάλογο /bin. Το ίδιο συμβαίνει με όλα τα συστήματα Unix. etc home lib mnt opt proc root Εδώ βρίσκονται όλα τα αρχεία σχετικά με τις ρυθμίσεις του συστήματος. Ότι έχει να κάνει με τις ρυθμίσεις του X Window, τους χρήστες, τα αρχεία (script)s που τρέχουν κατά την εκκίνηση. Οι διαχειριστές συστημάτων θα εξοικειωθούν ιδιαίτερα με αυτό τον κατάλογο με το πέρασμα του χρόνου. Το Linux είναι ένα λειτουργικό που υποστηρίζει πολλούς χρήστες. Ο κάθε χρήστης έχει τον δικό του λογαριασμό και τον δικό του κατάλογο για τα προσωπικά του αρχεία. Αυτός ο κατάλογος ονομάζεται home και ο προσωπικός κατάλογος έχει το όνομα του χρήστη και βρίσκεται στον κατάλογο /home. Οι απαραίτητες βιβλιοθήκες συστήματος για τις βασικές λειτουργίες βρίσκονται σε αυτόν τον κατάλογο. Οι βιβλιοθήκες της C, ο δυναμικός φορτωτής (dynamic loader), η βιβλιοθήκη ncurses και οι μονάδες του πυρήνα βρίσκονται κάτω από αυτόν τον κατάλογο. Ο κατάλογος αυτός περιέχει όλα τα προσωρινά mount points, δηλαδή όσες εξωτερικές ή εσωτερικές συσκευές είναι αντιστοιχισμένες στο σύστημα όπως ο σκληρός δίσκος, το DVD- ROM, συσκευές USB κλπ. Περιέχει προαιρετικά πακέτα λογισμικού. Η ιδέα πίσω από τον κατάλογο /opt είναι η εγκατάσταση κάθε πακέτου λογισμικού να είναι της μορφής /opt/software-package, το οποίο σημαίνει ότι μπορεί να αφαιρεθεί εύκολα. Το Slackware εγκαθιστά διάφορα πακέτα σε αυτόν τον κατάλογο (για παράδειγμα το KDE βρίσκεται στο /opt/kde), αλλά εσείς είστε ελεύθεροι να προσθέσετε ότι επιπλέον θέλετε. Ο κατάλογος proc ξεχωρίζει από τους άλλους καταλόγους. Δεν είναι ακριβώς μέρος του συστήματος, αλλά είναι εικονικό σύστημα αρχείων το οποίο παρέχει πληροφορίες σχετικά με τον πυρήνα. Διάφορες πληροφορίες σχετικά με τον πυρήνα και χρειάζεται ο χρήστης να τις ξέρει βρίσκονται μέσα σε αυτόν τον κατάλογο. Υπάρχει επίσης η δυνατότητα αποστολής εντολής στον πυρήνα μέσα από κάποιο αρχεία του /proc προκειμένου να επιστρέψει κάποια στοιχεία. Για παράδειγμα εάν δώσετε στην κονσόλα την εντολή cat /proc/cpuinfo θα πληροφορηθείτε για το τι επεξεργαστή έχετε στο σύστημά σας. Ο διαχειριστής του συστήματος έχει το προσωπικό του φάκελο στον κατάλογο /root αντί του /home/root. Ο λόγος είναι απλός. Εάν ο κατάλογος /home είναι διαφορετική κατάτμηση και όχι μαζί με το / και δε μπορεί να προσαρτηθεί στο σύστημα; Ο υπερχρήστης θα χρεαστεί να

εισέλθει στο σύστημα και να διορθώσει το πρόβλημα. Εάν ο προσωπικός τους κατάλογος βρίσκονταν στη προβληματική κατάτμηση τότε δεν θα μπορούσε να εισέλθει στο σύστημα. sbin Βασικά προγράμματα στα οποία έχει δικαιώματα μόνο ο υπερχρήστης (root) και κατά τη διάρκεια της εκκίνησης του συστήματος κρατούνται εκεί. Οι απλοί χρήστες δεν έχουν τη δυνατότητα να τρέξουν τα προγράμματα από αυτόν τον κατάλογο. tmp Ένας κατάλογος για προσωρινά αρχεία όπου όλοι οι χρήστες έχουν το δικαίωμα εγγραφής σε αυτόν. usr Αυτός είναι ο μεγαλύτερος κατάλογος του Linux. Οτιδήποτε άλλο εκτός από τα όσα προαναφέρθηκαν βρίσκεται σε αυτόν τον κατάλογο όπως τα προγράμματα, οι τεκμηριώσεις, ο πηγαίος κώδικας του πυρήνα και το X Window. Σε αυτόν το κατάλογο θα εγκαταστήσετε τα περισσότερο από τα προγράμματα σας. var Αρχεία καταγραφής του συστήματος βρίσκονται σε αυτόν τον κατάλογο. Τα περισσότερα αρχεία εδώ αλλάζουν συχνά. Μετά από τις παραπάνω περιγραφές θα πρέπει να έχετε μαι καλή αίσθηση για το τι περιέχεται σε ένα σύστημα αρχείων του Linux. Περισσότερες πληροφορίες με περισσότερες λεπτομέρειες μπορείτε να βρείτε στη σελίδα man του hier(7). Η επόμενη ενότητα θα σας βοηθήσει να βρείτε συγκεκριμένα αρχεία εύκολα, επομένως δε χρειάζεται να το κάνετε από μόνοι σας. 4.1.2 Βρίσκοντας αρχεία Τώρα γνωρίζεται πάνω-κάτω τι περιέχει κάθε κύριος κατάλογος, αλλά ακόμη δεν σας πολυβοηθάει να βρείτε διάφορα αρχεία που χρειάζεστε για τον έναν ή άλλον λόγο. Θα μπορούσατε να κοιτάξετε όλα τα αρχεία μέσα στον κάθε κατάλογο προκειμένου να βρείτε αυτό το οποίο θέλετε αλλά υπάρχουν γρηγορότεροι τρόποι. Στο Slackware υπάρχουν τέσσερις βασικές εντολές για την εύρεση αρχείων. 4.1.2.1 which Η πρώτη εντολή είναι η which(1). Η εντολή αυτή χρησιμοποιείται συνήθως για να βρεθεί εύκολα η διαδρομή ενός προγράμματος. Ελένχει το PATH και επιστρέφει την πρώτη τιμή που θα αντιστοιχεί σε αυτή. Για παράδειγμα: % which bash /bin/bash Θα πρέπει να πούμε πως η εντολή αυτή είναι αρκετά περιορισμένη μιας και ελέγχει για τιμές μόνο το PATH.

4.1.2.2 whereis Η whereis(1) μοιάζει λειτουργικά με τη which, αλλά μπορεί να ψάξει επίσης για σελίδες man και αρχεία πηγαίου κώδικα. Ένα αντίστοιχο παράδειγμα με τη which: % whereis bash bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz Όπως η which, έτσι και αυτή η εντολή είναι περιορισμένη. Τι γίνεται στη περίπτωση που θέλετε να βρείτε ένα συγκεκριμένο αρχείο ρύθμισης κάποιου προγράμματος. Τότε καμία από τις παραπάνω εντολές δε μπορούν να σας βοηθήσουν. 4.1.2.3 find Η find(1) δίνει τη δυνατότητα στο χρήστη να ψάξει αρχεία μέσα σε όλους τους φακέλους όπου με διάφορες ρυθμίσεις μπορεί να δώσει καταπληκτικά αποτελέσματα. Ο χρήστης μπορεί να δώσει ένα μέρος του ονόματος του αρχείου που θέλει να βρει και στη συνέχεια να το ακολουθεί ένα * που υποδηλώνει να ψάξει για το αρχείο με το όνομα που έχει δοθεί και οτιδήποτε ακολουθεί μετά από αυτό. Υπάρχουν διάφορες τέτοιες δυνατότητες. Για παράδειγμα, η εύρεση του προ επιλεγμένου αρχείου xinitrc θα έχει ως εξής: % find / -name xinitrc /var/x11r6/lib/xinit/xinitrc Η εντολή αυτή όμως θα χρειαστεί λίγη ώρα μέχρι να επιστρέψει τα αποτελέσματα καθώς πρέπει να ψάξει όλους τους καταλόγους. Εάν αυτή η εντολή δοθεί από έναν απλό χρήστη, τότε θα εμφανιστούν αρκετά μηνύματα απαγόρευσης των δικαιωμάτων καταλόγων για τους οποίους μόνο ο υπερχρήστης έχει τη δυνατότητα να ανοίξει. Σημασία πάντως έχει ότι η εντολή find βρήκε το αρχείο που ζητούσαμε. Λίγο γρηγορότερη να ήτανε μόνο... 4.1.2.4 slocate Η slocate(1) ψάχνει και αυτή σε ολόκληρο το σύστημα αρχείων όπως και η find, αλλά ψάχνει μια βάση δεδομένων αντί για τους καταλόγους τους συστήματος.. Η βάση αυτή ανανεώνεται αυτόματα μόνη της κάθε ημέρα όποτε δε χρειάζεται να κάνετε κάτι. Μπορείτε όμως να τρέξετε την εντολή updatedb(1) για να ανανεώσετε τη βάση δεδομένων της slocate (πριν το κάνετε αυτό θα χρειαστεί να έχετε συνδεθεί ως υπερχρήστης). Ένα παράδειγμα στη πράξη: % slocate xinitrc # we don't have to go to the root /var/x11r6/lib/xinit/xinitrc /var/x11r6/lib/xinit/xinitrc.fvwm2 /var/x11r6/lib/xinit/xinitrc.openwin /var/x11r6/lib/xinit/xinitrc.twm Πήραμε πολύ περισσότερα αποτελέσματα από όσα ψάχναμε. Με αυτές τις δύο εντολές μπορούμε να βρούμε ότι είδους αρχείο θέλουμε από το σύστημά μας. 4.1.3 Ο κατάλογος /etc/rc.d Όλα τα αρχεία τα οποία χρησιμοποιούνται κατά την εκκίνηση του υπολογιστή για τις διάφορες υπηρεσίες και διεργασίες βρίσκονται στον κατάλογο /etc/rc.d. Το Slackware χρησιμοποιεί το μοτίβο του BSD σε αντίθεση αυτού του System V init scripts, το οποίο κάνει την αλλαγή ρυθμίσεων αρκετά πιο δύσκολη χωρίς να είναι δυνατή η χρήση ενός συγκεκριμένου προγράμματος. Στα BSD init scripts, κάθε επίπεδο φόρτωσης του συστήματος (runlevel) έχει τη μορφή rc.0, rc.4, rc.6, ενώ στο

System V, κάθε επίπεδο φόρτωσης έχει το δικό του κατάλογο, και ο κάθε κατάλογος περιέχει διάφορα init scripts. Υπάρχουν διάφορες κατηγορίες των αρχείων που χρησιμοποιούνται κατά την εκκίνηση του συστήματος. Αυτά είναι τα αρχεία συστήματος εκκίνησης, τα αρχεία φόρτωσης συστήματος, αρχεία εκκίνησης υπηρεσιών δικτύου και η συμβατικότητα με το System V. Όπως και στις προηγούμενες ενότητα, έτσι και εδώ θα αναλύσουμε παρακάτω αναλυτικότερα τι κάνει το κάθε τι. 4.1.3.1 Η εκκίνηση του συστήματος Το πρώτο πρόγραμμα το τρέχει στο Slackware, μετά το φόρτωση του πυρήνα, είναι το init(8). Το αρχείο αυτό, ένα μικρό πρόγραμμα είναι στην ουσία, διαβάζει το αρχείο /etc/inittab(5) προκειμένου να δει τι υπηρεσίες και προγράμματα πρέπει να φορτώσει. Αρχικά τρέχει το αρχείο /etc/rc.d/rc.s για να προετοιμάσει το σύστημα πριν μπεί στο κανονική επίπεδο φόρτωσης και λειτουργίας (runlevel). Tο αρχείο rc.s ενεργοποιεί την εικονική μνήμη, αντιστοιχεί τους σκληρούς δίσκους στο σύστημα, καθαρίζει τα αρχεία log, ελέγχει για συσκευές άμεσης τοποθέτησης και λειτουργίας (Plug and Play), φορτώνει τις μονάδες του πυρήνα (kernel modules), ρυθμίζει τις συσκευές PCMCIA, ενεργοποιεί τις σειριακές και παράλληλες θύρες του υπολογιστή και τρέχει τα System V init scripts (εάν υπάρχουν). Προφανώς όπως βλέπεται το rc.s εκτελεί πολλές βασικές λειτουργίες για την εκκίνηση του συστήματος αλλά υπάρχουν και άλλα αρχεία script στον κατάλογο /etc/rc.d τα οποία θα καλέσει το rc.s για να ολοκληρώσει τη δουλειά του: rc.s Το βασικό αρχείο αρχικοποίησης του συστήματος. rc.modules Φορτώνει τις μονάδες του πυρήνα. Συσκευές όπως η κάρτα δικτύου, υποστήριξη για PPP και άλλα διάφορα προγράματα υποστήριξης. Εάν το αρχείο αυτό εντοπίσει το rc.netdevice, θα το εκτελέσει αυτόματα. rc.pcmcia Ψάχνει και ρυθμίζει τις υπάρχουσες PCMCIA συσκεύες οι οποίες μπορεί να υπάρχουν στο σύστημα. Αυτό είναι χρήσιμο κυρίως για χειριστές φορητών υπολογιστών καθώς λογικά θα έχουν PCMCIA modem ή κάρτα δικτύου. rc.serial Ρυθμίζει τις σειριακές θύρες του υπολογιστή rc.sysvinit Ελέγχει για τα System V init scripts για το επιθυμητό επίπεδο φόρτωσης. Αυτή η λειτουργία περιγράφεται αναλυτικότερα παρακάτω. 4.1.3.3 Ρύθμιση δικτύου κατά την εκκίνηση Τα επίπεδα εκκίνησης και λειτουργίας 2,3 και 4 θα ξεκινήσουν τις υπηρεσίες δικτύου. Τα παρακάτω αρχεία είναι υπεύθυνα για την εκκίνηση των λειτουργιών του δικτύου. rc.inet1 Το αρχείο αυτό έχει δημιουργηθεί από το netconfig και είναι υπεύθυνο για βασικό στήσιμο του δικτύου.

rc.inet2 rc.atalk rc.httpd rc.news Τρέχει μετά το rc.inet1 και ξεκινά τις βασικές υπηρεσίες του δικτύου. Ξεκινά τις υπηρεσίες AppleTalk. Ξεκινά τον εξυπερετητή δικτύου Apache. Όπως και άλλα αρχεία rc, έτσι κι αυτό μπορεί να χρησιμοποιηθεί για να ξεκινήσει και να σταματήσει την αντίστοιχη υπηρεσία. Το rc.httpd δέχετε εντολές όπως stop, start και restart. Ξεκινά τον εξυπηρετητή δικτύου. 4.1.3.4 Συμβατικότητα με το System V Η συμβατικότητα με το System V init ξεκίνησε στο Slackware 7.0. Μπορεί άλλες διανομές Linux να χρησιμοποιούν αυτό το είδος αντί του BSD. Όπως είπαμε και προηγουμένως, το στυλ του System V δίνει τα αρχεία init ξεχωριστό φάκελο, ενώ το BSD δίνει για ένα init αρχείο για κάθε runlevel. Το αρχείο rc.susvinit ψάχνει για την ύπαρξη System V init scripts τα οποία μπορεί να υπάρχουν στο κατάλογο /etc/rc.d και στη συνέχεια τα τρέχει, εάν το επίπεδο λειτουργίας το επιτρέπει. Αυτό είναι χρήσιμο για εμπορικά λογισμικά πακέτα τα οποία εγκαθηστούν System V init scripts.

4.2 Επιλέγοντας τον Πυρήνα Ο πυρήνας είναι μέρος του λειτουργικού συστήματος και είναι αυτό ο οποίος παρέχει τη πρόσβαση στο υλικό του υπολογιστή, ελέγχει τις εργασίες και γενικότερα έχει τον έλεγχο πάνω στο σύστημα σας. Ο πυρήνας παρέχει την υποστήριξη στις συσκευές του υπολογιστής σας, πράγμα που σημαίνει ότι η επιλογή του πυρήνα είναι ένα σημαντικό βήμα στη διαδικασία της εγκατάστασης και ρύθμισης του συστήματος. Το Slackware σας παρέχει με αρκετούς έτοιμους, μεταγλωττισμένους,πυρήνες για να επιλέξετε έναν από αυτούς. Ο καθένας παρέχει επιπλέον υποστήριξη σε κάποιο συγκεκριμένο υλικό. Μπορείτε να εγκαταστήσετε αυτούς τους έτοιμους πυρήνες ή να μεταγλωττίσετε τον δικό σας με τις ρυθμίσεις που εσείς θέλετε. Όπως και να έχει όμως πρέπει να είστε σίγουροι πως ο πυρήνας υποστηρίζει το υλικό που έχετε στη κατοχή σας. 4.2.1 Ο κατάλογος /kernels στο CD/DVD-ROM του Slackware Οι ήδη μεταγλωττισμένοι πυρήνες βρίσκονται στον κατάλογο /kernels στο CD ή DVD του Slakcware όπως επίσης στο FTP site στο κύριο κατάλογο του Slackware. Η διαθεσιμότητα των πυρήνων αλλάζει καθώς κυκλοφορούν νέες εκδόσεις, πράγμα που σημαίνει πως οι οδηγίες που υπάρχουν σε αυτόν τον κατάλογο έχουν να κάνουν με τον κάθε πυρήνα ή σειρά πυρήνων (2.4.x ή 2.6.x). Ο κατάλογος /kernels έχει υποκαταλόγους για κάθε πυρήνα ξεχωριστά. Ο κάθε υποκοκατάλογος περιέχει τα παρακάτω αρχεία: Αρχείο System.map bzimage config Σκοπός Το system map αρχείο για τον πυρήνα Το ουσιαστικό image αρχείο του πυρήνα Οι ρυθμίσεις του πυρήνα Για να χρησιμοποιήσετε έναν πυρήνα, αντιγράψτε το αρχείο System.map και config στον κατάλογο /boot και το image αρχείο του πυρήνα στο /boot/vmlinuz. Τρέξτε το /sbin/lilo για να εγκαταστήσετε το LILO για τον νέο πυρήνα και στη συνέχεια κάντε επανεκκίνηση. Αυτό είναι όλο που χρειάζεται να να εγκαταστήσετε ένα νέο πυρήνα από το CD/DVD. Οι πυρήνες που έχουν κατάληξη.i υποστηρίζουν συσκευές IDE. Αυτό σημαίνει οτι δεν παρέχουν υποστήριξη SCSI. Υποστήριξη SCSI παρέχουν οι πυρήνες με κατάληξη.s. Παρέχουν όλη την υποστήριξη που παρέχουν και οι.i πυρήνες συν επιπλέον υποστήριξη SCSI. 4.2.2 Μεταγλώτιση ενός πυρήνα από τον πηγαίο κώδικα Η ερώτηση Πρέπει να μεταγλωττίσω ο ίδιος τον πυρήνα για το σύστημα μου είναι πολύ συχνή από τους νέους χρήστες. Η απάντηση είναι ίσως. Υπάρχουν κάποιες περιπτώσεις όπου θα χρειαστείτε να μεταγλωττίσετε τον πυρήνα μόνοι σας για να ταιριάζει με τις απαιτήσεις σας. Οι περισσότεροι χρήστες κάνουν χρήση κάποιου έτοιμοι πυρήνα με τις αντίστοιχες μονάδες του (modules) και έχουν ένα απολύτως σταθερό και λειτουργικό σύστημα. Θα χρειαστεί να μεταγλωττίσετε έναν πυρήνα σε περίπτωση που θέλετε να χρησιμοποιήσετε κάποιον που δεν προσφέρει έτοιμο το Slackware ή εάν, όπως είπαμε προηγουμένως, θέλετε υποστήριξη για κάποια συγκεκριμένη συσκευή η οποία δεν υποστηρίζεται εξ' αρχής. Οποιοςδήποτε με σύστημα SMP θα θέλει να έχει στήριξη του SMP που σημαίνει ότι θα πρέπει να ρυθμίσει αντίστοιχα τον πυρήνα και στη συνέχεια να τον μεταγλωττίσει. Επίσης, είναι πολλοί οι χρήστες όπου το σύστημα τους τρέχει πολύ γρηγορότερα με κάποιο πυρήνα ραμμένο στα μέτρα τους.

Το να ρυθμίσετε και μεταγλωττίσετε τον δικό σας πυρήνα δεν είναι δα και τόσο δύσκολο. Το πρώτο βήμα είναι να βεβαιωθείτε πως έχετε τον πηγαίο κώδικα του πυρήνα. Επίσης να σιγουρευτείτε ότι έχετε εγκαταστήσει τα πακέτα της σειράς K κατά τη διάρκεια εγκατάστασης του Slackware, όπως επίσης τη σειρά D και συγκεκριμένα τον μεταγλωττιστή C, GNU make και GNU binutils. Γενικά, είναι καλό να έχετε εγκαταστήσει όλα τα πακέτα της σειρά D εάν έχετε σκοπό να κάνετε κάθε είδους ανάπτυξη στο σύστημα σας. Μπορείτε επίσης να κατεβάσετε τον πηγαίο κώδικα του τελευταία πυρήνα από το http://www.kernel.org/mirrors. 4.2.2.1 Μεταγλώττιση πυρήνα της σειράς 2.4.x % su - Password: # cd /usr/src/linux Το πρώτο βήμα είναι να φέρεται τον πυρήνα στην βασική του κατάσταση. Αυτό γίνεται δίνοντας τη παρακάτω εντολή (προσέξτε όμως πως εάν θέλετε να σώσετε το προηγούμενο.config αρχείο του πυρήνα θα πρέπει να το σώσετε πριν την εντολή αυτή μιας και θα το διαγράψει χωρίς προειδοποίηση. # make mrproper Τώρα μπορείτε να ρυθμίσετε τον πυρήνα για το σύστημα σας. Ο τρέχοντας πυρήνας παρέχει τρεις τρόπους για να κάνετε κάτι τέτοιο. Ο πρώτος είναι ο κλασσικός τρόπος μέσα από τη κονσόλα/κέλυφος (console/shell) με το σύστημα ερωτήσεων απαντήσεων. Σας ρωτάει διάφορες ερωτήσεις και στη συνέχεια δημιουργεί το.config αρχείο βάση των απαντήσεών σας. Το πρόβλημα με αυτό το σύστημα είναι πως εάν κάτι πάει στραβά τότε πρέπει να ξεκινήσετε από την αρχή. Οι περισσότεροι χρήστες ακολουθούν όμως τη μέθοδο με τα μενού. Τέλος, υπάρχει και ένας γραφικό σύστημα ρυθμίσεις του πυρήνα. Διαλέξτε ότι σας ταιριάζει περισσότερο με μία από τις παρακάτω εντολές: # make config (κονσόλα, ερωτήσεις και απαντήσεις) # make menuconfig (κονσόλα με μενού) # make xconfig (γραφική έκδοση, πρέπει να τρέχετε τo X)

Figure 4-1. Kernel Configuration Menu Οι νέοι χρήστες θα βρουν ευκολότερο στη χρήση το menuconfig. Δίνονται και επεξηγήσεις για τα διάφορα μέρη του πύρινα. Αφού ρυθμίσετε τον πυρήνα σας, κλείστε το πρόγραμμα ρύθμισης. Θα δημιουργήσει αυτόματα το αρχείο.config. Τώρα χρειάζεται απλώς ετοιμάσετε τον κατάλογο που περιέχει τον κώδικα του πυρήνα: # make dep # make clean Το επόμενο βήμα είναι η μεταγλώττιση του πυρήνα. Αρχικά δοκιμάστε να δώσετε την εντολή με το bzimage: # make bzimage Αυτό ίσως πάρει λίγη ώρα, εξαρτάται από τη ταχύτητα του επεξεργαστή. Κατά τη διάρκεια της μεταγλώττισης του πυρήνα θα βλέπετε διάφορα μηνύματα. Αφού έχει γίνει η μεταγλώττιση θα χρειαστεί να συνεχίσετε με όσα μέρη του πυρήνα έχουν χαρακτηριστεί ως modular. # make modules Τώρα μπορούμε να εγκαταστήσουμε τον πυρήνα και τις μονάδες του (modules). Για να εγκαταστήσετε έναν πυρήνα στο Slackware πρέπει απλώς να δώσετε τις παρακάτω εντολές: # mv /boot/vmlinuz /boot/vmlinuz.old # cat arch/i386/boot/bzimage > /vmlinuz # mv /boot/system.map /boot/system.map.old # cp System.map /boot/system.map # make modules_install Θα χρειαστεί να επεξεργαστείτε το αρχείο /etc/lilo.conf και να προσθέσετε και τον παλαιό πυρήνα σε περίπτωση που ο νέος δε δουλεύει. Αφού κάνετε τις απαραίτητες ρυθμίσεις, τρέξτε το /sbin/lilo για να εφαρμοστούν οι νέες ρυθμίσεις. Τώρα μπορείτε να κάνετε μια επανεκκίνηση και να

χρησιμοποιήσετε τον νέο πυρήνα. 4.2.2.2 Μεταγλώτιση πυρήνα σειράς 2.6.x Η μεταγλώττιση ενός πυρήνα σειράς 2.6.x διαφέρει λίγο ως προς αυτή του 2.4.x. και του 2.2.x, αλλά είναι σημαντικό να κατανοήσετε αρχικά τις διαφορές. Δεν χρειάζεται να τρέξετε τα make dep και make clean. Επίσης, η διαδικασία μεταγλώττισης του πυρήνα είναι πολύ πιο κατανοητή αλλά έχει κάποια ιδιαίτερα σημεία που πρέπει να προσέξετε. Εάν όμως έχετε προβλήματα κατά τη διάρκεια της μεταγλώττισης ή θέλετε να ξέρετε τι ακριβώς γίνεται τότε μπορείτε να δώσετε τη παρακάτω εντολή. Η παράμετρος V=1 σας επιτρέπει να παίρνετε πολύ περισσότερες πληροφορίες σχετικά με τη μεταγλώττιση οι οποίες μπορούν να βοηθήσουν εσάς ή κάποιον άλλον που θα έρθει αντιμέτωπος με κάποιο πρόβλημα. # make bzimage V=1 4.2.3 Χρησιμοποιώντας τις μονάδες του πυρήνα (Kernel Modules) Οι μονάδες του πυρήνα είναι ένα άλλο όνομα για τους οδηγούς συσκευών οι οποίοι χρησιμοποιούνται από έναν πυρήνα Σας επιτρέπουν να διευρύνεται την υποστήριξη συσκευών χωρίς να χρειάζεται να χρησιμοποιήσετε κάποιον άλλον πυρήνα Μπορείτε επίσης να φορτώσετε ή να ξεφορτώσετε τις μονάδες που θέλετε οποιαδήποτε στιγμή. Αυτό βοηθάει τους διαχειριστές συστημάτων να αναβαθμίζουν τους οδηγούς χωρίς ιδιαίτερες διαδικασίες. Μια νέα μονάδα μπορεί να εγκατασταθεί, η παλαιά να αφαιρεθεί, και μια νέα να φορτώσετε στο σύστημα. Όλα αυτά χωρίς να κάνετε ούτε μία επανεκκίνηση. Οι μονάδες βρίσκονται στον κατάλογο /lib/modules/έκοδοση_του_πυρήνα/. Μπορούν να φορτωθούν κατά τη διάρκεια της εκκίνησης μέσω του αρχείου rc.modules. Το αρχείο περιέχει πολύ καλά σχόλια και παραδείγματα για τα κυριότερες μονάδες. Για να δείτε όλες τις μονάδες που βρίσκονται σε λειτουργία δώστε την εντολή lsmod: # lsmod Module Size Used by parport_pc 7220 0 parport 7844 0 [parport_pc] Μπορείτε να δείτε εδώ πως η μόνη μονάδα που είναι φορτωμένη είναι αυτή για τη παράλληλη θύρα. Για να αφαιρέσετε μια μονάδα μπορείτε να δώσετε την εντολή rmmod. Για να φορτώσετε μια μονάδα δίνετε την εντολή mordpobe ή insmod. Συνήθως η modprobe είναι ασφαλέστερη λύση γιατί θα φορτώσει οποιεσδήποτε άλλες μονάδες που χρειάζονται από αυτή που θέλετε να φορτώσετε. Πολλοί από τους χρήστες δεν χρειάστηκε ποτέ να φορτώσουν ή να ξεφορτώσουν κάποια μονάδα. Χρησιμοποιούν απλώς τον ίδιο τον πυρήνα να φορτώσει τις μονάδες (kernel autoloader / module managment). To Slackware εξ' αρχής περιέχει το kmod στους πυρήνες που περιέχονται μαζί με αυτό. Το kmod είναι μια επιλογή του πυρήνα όπου του επιτρέπει να φορτώνει αυτόματα όλες τις μονάδες οι οποίες χρειάζονται. Για περισσότερες πληροφορίες σχετικά με το kmod και τη χρήση του δείτε στο αρχείο: /usr/src/linux/documentation/kmod.txt. Θα χρειαστεί όμως να έχετε το κώδικα του πυρήνα, διαφορετικά κατεβάστε τον από εδώ: http://kernel.org. Περισσότερες πληροφορίες μπορούν να βρεθούν στα αρχεία man τις παραπάνω εντολές όπως επίσης και στο αρχείο rc.modules που αναφερθήκαμε προηγουμένως.