Δημοσιεύτηκε: 19 Αύγ 2008, 19:16
από simosx
Ωραίο κείμενο!

Να προσθέσω μερικά ακόμα στοιχεία. Τις λεπτομέρειες των καταλόγων και των αρχείων τις καταγράφει ένα πρότυπο, το LSB, Linux Standard Base, http://www.linuxfoundation.org/en/LSB

α. Στο /boot υπάρχουν τα αρχεία του δεύτερου σταδίου της εκκίνησης του Linux. Όταν κάνουμε εκκίνηση το Linux, το BIOS θα εντοπίσει το δίσκο και θα εκτελέσει το κώδικα που υπάρχει στην περιοχή του MBR. Έχοντας εγκατεστημένο το grub, το grub είναι εκείνο που θα εκτελεστεί και θα έχει τον πλήρη έλεγχο του συστήματος. Ο κώδικας του grub που υπάρχει στο MBR είναι πολύ μικρός, και ουσιαστικά αυτό που κάνει είναι να δώσει τον έλεγχο στο δεύτερο στάδιο της εκκίνησης και στον κώδικα στο /boot. Όταν σβήνουμε το Linux από το δίσκο δίχως να έχουμε βγάλει πρώτα το grub από το MBR, έχει ως αποτέλεσμα να μην μπορεί να εκκινηθεί ο δίσκος. Και να χρειάζεται να καθαρίσουμε το grub με ειδικά εργαλεία.

Ακόμα, όταν εγκαταστήσουμε το Linux στο δεύτερο δίσκο μας, τότε το /boot θα βρίσκεται στο δεύτερο δίσκο. Άν αποφασίσουμε να βγάλουμε το δεύτερο δίσκο εκτός λειτουργίας, τότε πρέπει να σκεφτούμε το ζήτημα με το grub που υπάρχει στο MBR, και θα ψάξει για εκείνο το /boot. Έτσι, θα μπορούσε κάποιος που έχει πολλούς δίσκους και παράξενες ρυθμίσεις να φτιάξει ξεχωριστή κατάτμηση για το /boot κατά την εγκατάσταση, και να φτιάξει την κατάτμηση στον πρωτεύων δίσκο, οπότε θα μείνει για καιρό. Ακόμα και να σβήσεις το Linux, το /boot θα υπάρχει ακόμα, οπότε το σύστημα θα δουλεύει.

β. /dev/
Τα αρχεία στο /dev/ είναι ειδικά αρχεία τύπου μπλοκ ή χαρακτήρων (ls -l, και δείτε το πρώτο χαρακτήρα κάθε γραμμής). Τα αρχεία αυτά δημιουργήθηκαν με την εντολή mknod, και υπάρχει το πρόγραμμα /dev/MAKEDEV που φτιάχνει όλα τα αρχεία αυτά (σε περίπτωση που γίνει μπάχαλο). Τα αρχεία αυτά αντιστοιχούν σε δομές στον πυρήνα. Έτσι, όταν δεν έχουμε φορτώσει ένα οδηγό, μπορεί κάποιο από τα ειδικά αρχεία απλά να μην κάνει κάτι.

γ. /media, /mnt

Νομίζω ότι στις νεώτερες εκδόσεις, το /mnt δεν είναι πια σε χρήση.

δ. Το /opt είναι για εγκατάσταση προγραμμάτων που όλα τα σχετικά αρχεία πάνε κάτω από ένα κατάλογο. Έτσι, οι εγκαταστάσεις αυτές είναι ανεξάρτητες από το σύστημα.

Ο άλλος τρόπος εγκατάστασης προγραμμάτων τρίτων, ιδίως όταν κάνουμε τη μεταγλώττιση οι ίδιοι, είναι στον κατάλογο /usr/local/
Εδώ μπαίνουν προγράμματα που χρειάζονται το δικό τους, bin/, etc/, share/, κτλ. Έτσι, υπάρχουν /usr/local/bin, /usr/local/etc, /usr/local/lib, κτλ. Και εδώ τα προγράμματα είναι ανεξάρτητα από την εγκατάστασή μας, κάτι που είναι καλό για δοκιμές.

ε. /tmp
Στο Ubuntu, τα περιεχόμενα του /tmp σβήνονται αυτόματα σε κάθε επανεκκίνηση. Το ίδιο πρέπει να συμβαίνει και στις περισσότερες άλλες διανομές.

στ. /usr
Αν και υπάρχει /bin, υπάρχει και /usr/bin/. Στο /bin υπάρχουν τα απολύτως αναγκαία εκτελέσιμα, ενώ στο /usr/bin υπάρχουν τα βασικά εκτελέσιμα (τα υπόλοιπα) του συστήματος, όπως GNOME, Xorg, κτλ. Όταν εγκαθιστούμε πακέτα από το Διαχειριστή πακέτων, αυτά πάνε στο /usr/bin. Οι βιβλιοθήκες των πακέτων πάνε στο /usr/lib, τα αρχεία που δεν είναι εκτελέσιμα στο /usr/share, κτλ.

Ο λόγος της διαφοράς μεταξύ (/bin, /lib, /etc, κτλ) και (/usr/bin, /usr/lib, /usr/share, κτλ) έχει να κάνει με απαιτήσεις πριν από πολλά πολλά χρόνια. Για παράδειγμα, μπορείς να εγκαταστήσεις τα απολύτως βασικά σε έναν υπολογιστή οπότε να κάνει εκκίνηση από το δίσκο του (με χρήση των αρχείων από (/bin, /lib, /etc, κτλ), ενώ μόλις προετοιμαστεί το σύστημα, να κάνει σύνδεση με το /usr/ που είναι διαμοιραζόμενος πόρος από κάποιο εξυπηρετητή αρχείων.