Αυτό που διαπιστώνει ο νέος χρήστης Linux μετά την επιτυχή εγκατάσταση της διανομής που διάλεξε είναι ότι δεν ξέρει πού να ψάξει και τι να βρει…

Τα γραφικά εργαλεία βέβαια (file browser, πχ. Nautilus, Konqueror, Dolphin, Thunar) θα επιτρέψουν στο χρήστη να ανοίξει το “Υπολογιστής” και θα βρει τους δίσκους του και ένα άγνωστο “File System”, το οποίο με λίγη φαντασία θα καταλάβει, ότι μάλλον είναι τα αρχεία του λειτουργικού…

Αυτό που είχε συνηθίσει ο προερχόμενος από τα Windows χρήστης, απλά δεν υπάρχει… Δηλαδή δεν θα βρει κανένα C:, A:, D: κτλ.. Αυτό που θα βρει είναι ένας φάκελος με πολλούς (απρόσμενα πολλούς!) υποφακέλους. Όλοι με κάτι παράξενα ονόματα που δεν ξεπερνούν τους 4-5 χαρακτήρες. Και άντε πάλι κάποιων κάτι λέει το όνομά τους, οι άλλοι όμως;

Δεν χρειάζεται άγχος…

Το σύστημα αρχείων του λειτουργικού, αν κατανοηθεί, μπορεί να αγαπηθεί! Είναι σαφές και αυστηρό. Και δεν χρειάζεται ασφαλώς να το κατανοήσει ο μέσος χρήστης εις βάθος! Έτσι κι εμείς θα παρουσιάσουμε εδώ μόνο τα βασικά.

Πριν όμως από αυτό, να θυμίσουμε κάτι ακόμα. Στο Linux οι κρυφοί φάκελοι/ αρχεία δεν ορίζονται από τις ιδιότητες του φακέλου/ αρχείου, αλλά από την τελεία (.) μπροστά από το όνομά τους.

______________________

Αρχικά θεωρούμε ότι όλοι οι φάκελοι του λειτουργικού βρίσκονται στον ριζικό κατάλογο (root directory) που συμβολίζεται με μια σκέτη λοξή παύλα: /. Κάτω από αυτόν βρίσκονται όλοι οι υπόλοιποι. Αν και υπάρχουν μερικές διαφορές μεταξύ των φακέλων που συναντάμε στις διάφορες διανομές, η βασική φιλοσοφία παραμένει. Έτσι οι φάκελοι που θα βρούμε είναι:

/bin

(binaries)
Τα εκτελέσιμα των πιο βασικών προγραμμάτων. Κοινά για το σύστημα και όλους τους χρήστες (υπερχρήστες και απλούς).

/boot

Όπως λέει και η λέξη, ο φάκελος αυτός φιλοξενεί αρχεία απαραίτητα για την εκκίνηση του λειτουργικού.
Ενδιαφέρον παρουσιάζουν μερικά αρχεία, τα οποία θα αναφέρουμε παρακάτω.

/dev

(devices)
Όλες οι συσκευές αναπαρίστανται στο λειτουργικό σαν αρχεία με ειδικές ρυθμίσεις.

/etc

Γενικά περιέχει αρχεία ρυθμίσεων.
Ενδιαφέρον παρουσιάζουν μερικά αρχεία, τα οποία θα αναφέρουμε παρακάτω.

/home

Μέσα σ’ αυτόν τον φάκελο μπορούμε να νοιώθουμε σαν στο σπίτι μας! :-D

Αν έχουμε φτιάξει περισσότερους του ενός χρήστες, τότε αυτοί φιλοξενούνται σε αντίστοιχους υποφακέλους με όνομα το όνομα χρήστη που χρησιμοποιούν για login.

Εδώ κάνουμε ό,τι θέλουμε, έχουμε πλήρη δικαιώματα πάντοτε, μπορούμε να φυλάμε τα αρχεία μας κτλ.. Σε αυτόν φιλοξενούνται και κρυφοί φάκελοι με τις ρυθμίσεις μας για τα περισσότερα προγράμματα που χρησιμοποιούμε (πχ. εδώ φυλάσσονται τα profile του Firefox στον κρυφό φάκελο ~/.mozilla). Ο φάκελος αυτός μπορεί να περιέχει τα αρχεία μας ταξινομημένα στις δημοφιλείς κατηγορίες “Documents”, “Music”, “Photos”, “Videos” και ο,τιδήποτε άλλο, χωρίς να είναι υποχρεωτικό κάτι από αυτά. Είπαμε εδώ είναι το σπίτι μας! Κάνουμε ό,τι θέλουμε! Προσοχή μόνο με το φάκελο “Desktop“, γιατί αυτός είναι ολόκληρη η επιφάνεια εργασίας μας!

Παρενθετικά να θυμίσουμε ότι αυτός ο φάκελος του χρήστη μας, δηλαδή ο /home/onoma_xristi συμβολίζεται με “~” για συντομία. Αυτό σημαίνει ότι αν συναντήσουμε σε κάποιον οδηγό την διαδρομή ~/Documents, αυτό αντιστοιχεί σε /home/onoma_xristi/Documents.

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

/initrd

Φάκελος για την εκκίνηση του λειτουργικού. Δεν υπάρχει σε όλες τις διανομές.

/lib

(libraries)
Βιβλιοθήκες. Πιο συγκεκριμένα διαμοιράσιμες βιβλιοθήκες του συστήματος και modules. Αντιστοιχούν κατά κάποιο τρόπο στα dll των Windows.

/lost+found

Περιέχει αρχεία που σώθηκαν σε έκτακτες περιπτώσεις. Δεν είναι κάτι που θα μας απασχολήσει συχνά. Ίσως και ποτέ. Άλλωστε δεν είναι φάκελος του λειτουργικού, αλλά φάκελος που έχει κάθε κατάτμηση ξεχωριστά.

/media

Σε αυτό τον φάκελο υπάρχουν άλλοι υποφάκελοι καθένας από τους οποίους αντιστοιχεί σε ένα προσαρτημένο τόμο (δίσκο/ κατάτμηση). Αυτό δεν σημαίνει ότι δεν μπορούμε να προσαρτήσουμε τις κατατμήσεις σε κάποιο άλλο σημείο, αλλά η τάξη είναι τάξη.
Με τον φάκελο αυτό θα ασχοληθούμε λίγο περισσότερο παρακάτω.

/mnt

(mount=προσάρτηση)
Ο φάκελος αυτός διατίθεται για τις προσωρινές προσαρτήσεις κάποιων κατατμήσεων. Σε κάποιες διανομές δεν χρησιμοποιείται καθόλου εκ προεπιλογής. Είναι θέμα του χρήστη, αν θα τον χρησιμοποιήσει ποτέ.
Με τον φάκελο αυτό θα ασχοληθούμε λίγο περισσότερο παρακάτω.

/opt

Είναι ο χώρος εγκατάστασης κάποιων προγραμμάτων του χρήστη. Μόνο συγκεκριμένα προγράμματα πρακτικά τον χρησιμοποιούν. Σίγουρα όμως είναι εφαρμογές τρίτων κατασκευαστών, όπως πχ. το Google Picasa.

/proc

Ένα εικονικό σύστημα αρχείων για τις λειτουργίες του συστήματος και τους πόρους του (χρησιμοποιείται με τις εκδόσεις των πυρήνων 2.4 και 2.6)

/root

Με απλά λόγια είναι το home του χρήστη root. Ο λογαριασμός root δεν χρησιμοποιείται από όλες τις διανομές και μπορεί να βρείτε τον φάκελο αυτό τελείως άδειο (άντε να έχει μερικά κρυφά αρχεία).

/sbin

Περιέχει πολύ σημαντικά προγράμματα για τη διαχείριση του συστήματος.

/srv

(services)
Πολύ συγκεκριμένη η χρήση του, η οποία αφορά σε δικτυακές εργασίες. Πιθανότατα θα τον βρείτε τελείως άδειο.

/sys

Αντίστοιχης χρήσης με το /proc (χρησιμοποιείται στη σειρά 2.6)

/tmp

(temporary)
Χώρος για χρήση από προγράμματα που απαιτούν την δημιουργία προσωρινών αρχείων. Τα περιεχόμενά του καθαρίζονται αυτόματα.

/usr

Ένας μεγάλος υποκατάλογος του ριζικού συστήματος. Περιέχει φακέλους που συναντήσαμε στο ριζικό κατάλογο (πχ. bin, lib, sbin) μόνο που τα προγράμματα εδώ δεν αφορούν κρίσιμες υπηρεσίες ή μόνο τον administrator, αλλά είναι διαμοιράσιμα μεταξύ περισσοτέρων χρηστών.

/var

(variable)
Περιέχει αρχεία μεταβλητού περιεχομένου. Χαρακτηριστικά εδώ είναι αποθηκευμένα όλα τα log του συστήματος, που αντανακλούν την εύρυθμη ή μη λειτουργία του.
Κάποια αρχεία εδώ παρουσιάζουν ενδιαφέρον και θα αναφερθούμε σε αυτά παρακάτω.

______________________

Αυτοί ήταν οι φάκελοι που θα βρείτε (εκτός μερικών εξαιρέσεων ανάλογα με τη διανομή σας). Όπου δεν κάναμε κανένα σχόλιο, σημαίνει ότι με αυτούς τους φακέλους ΔΕΝ χρειάζεται να ασχοληθείτε! Στους άλλους υπάρχουν κάποια αρχεία που μπορεί να χρειαστεί να ελέγξουμε ή/ και να επεξεργαστούμε κάποια φορά, οπότε θα αναφερθούμε ειδικότερα.

Να σημειώσουμε ότι όλοι οι φάκελοι πλην του /home απαιτούν αυξημένα δικαιώματα για να μπορείτε να τους επεξεργαστείτε. Αυτό προφανώς για λόγους ασφαλείας. Ακόμα να ξεκαθαρίσουμε ότι τα αρχεία ρυθμίσεων είναι απλά αρχεία κειμένου. Άρα τα επεξεργαζόμαστε με έναν κειμενογράφο, όπως τους gedit, kate, kwrite, nano κτλ.. Για να αποκτήσουμε δικαιώματα υπερχρήστη (administrator/ root) ανάλογα με τη διανομή μας μπορούμε να εισέλθουμε στο σύστημα με τον λογαριασμό root ή να παίρνουμε προσωρινά δικαιώματα σε μια συνεδρία τερματικού χρησιμοποιώντας συνήθως τις εντολές su ή sudo (προστρέξτε σε οδηγούς για την διανομή που χρησιμοποιείτε για πιο συγκεκριμένες οδηγίες).

Για το forum του e-pcmag.gr, prts_1

Τώρα ας δούμε μερικά αρχεία ρυθμίσεων που μπορεί να μας απασχολήσουν.

/boot/grub/menu.lst
Κατά πάσα πιθανότητα ο bootloader (το πρόγραμμα που αναλαμβάνει τη φόρτωση του λειτουργικού) που εγκαταστήσατε ήταν ο GRUB. Τότε στην παραπάνω διαδρομή θα βρείτε το αρχείο που ρυθμίζει τι και πώς θα εμφανίζεται στην οθόνη επιλογής λειτουργικού κατά την εκκίνηση του υπολογιστή. Αν σας ενδιαφέρει δείτε εδώ, ερώτηση 5 και φυσικά εδώ, για να κάνετε τα πάντα αυτόματα. wink.gif

/etc/fstab
Το αρχείο αυτό ορίζει ποιες κατατμήσεις και πού θα προσαρτηθούν αυτόματα κατά την εκκίνηση του λειτουργικού ή μόλις γίνουν διαθέσιμες (πχ. εισαγωγή ενός οπτικού δίσκου ή μιας δισκέτας). Η “γλώσσα” που χρησιμοποιεί δεν είναι πολύ δύσκολη, αλλά χρειάζεται μια εξοικείωση. Επιφυλασσόμαστε για περισσότερες οδηγίες πάνω στο θέμα αυτό, που μας απασχολεί συχνά.

/etc/X11/xorg.conf
Το αρχείο που ρυθμίζει πολλές παραμέτρους του υλικού μας. Εδώ ρυθμίζεται εν μέρει το πληκτρολόγιο, η οθόνη και το κυριότερο η κάρτα γραφικών, που δυστυχώς απασχολεί ακόμα αρκετούς από μας. Κάθε διανομή όμως κάνει ελαφρώς διαφορετική χρήση αυτού του αρχείου και θα πρέπει να το επεξεργάζεστε μόνο κατά τις οδηγίες που θα βρίσκεται από άτομα που εμπιστεύεστε.

/media
Τον φάκελο αυτό χρησιμοποιούμε συνήθως για να ορίζουμε το σημείο προσάρτησης (mount point) κατατμήσεων που φορτώνονται με την εκκίνηση του λειτουργικού. Το σημείο προσάρτησης είναι πάντα ένας υποφάκελος του /media, πχ. /media/Windows ή /media/External-disk. Η αυτόματη προσάρτηση γίνεται μέσω του fstab που ήδη αναφέραμε.

/mnt
Δεν διαφέρει σε τίποτα από το /media, εκτός του ότι μας επιτρέπει να βάλουμε μια τάξη. Δηλαδή ας θεωρήσουμε ότι στο /media προσαρτούμε τις κατατμήσεις (δίσκους) που χρησιμοποιούμε συνέχεια, ενώ στο /mnt θα προσαρτήσουμε κάτι σε μια έκτακτη περίπτωση. Αυτά όμως δεν είναι απόλυτα και συνδέονται με τη φιλοσοφία της κάθε διανομής.

/usr
Ενδιαφέρει το χρήστη κυρίως όταν θέλει να ψάξει για κάποιο λόγο χειροκίνητα ένα εκτελέσιμο αρχείο. Για παράδειγμα ένα πρόγραμμα που δεν έφτιαξε αυτόματα εγγραφή για το μενού και πρέπει να αναζητηθεί στο φάκελο που εγκαταστάθηκε (πιθανώς /usr/bin). Δεν είναι κάτι όμως που χρειάζεται να μάθει ο αρχάριος χρήστης.

/var/log
Περιέχει log των συμβαμάτων του συστήματος. Το πιο κοινά χρησιμοποιούμενο ίσως είναι το /var/log/messages. Αν το παρακολουθήσετε για λίγη ώρα, συνδέοντας ένα φλασάκι για παράδειγμα θα καταλάβετε περί τίνος πρόκειται. Για αυτό βέβαια είναι εύκολη η δημιουργία ημιγραφικών εργαλείων επισκόπησης των αλλαγών, όπως στο Ubuntu στη διαδρομή System – Administration – System Log.

______________________

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

Όταν πληκτρολογούμε εντολές στην κονσόλα, αυτές φυσικά αντιστοιχούν σε εκτελέσιμα αρχεία (σύνολο εντολών = προγράμματα). Τα αρχεία αυτά όμως, για να μπορέσουν να εκτελεστούν απευθείας από ένα τερματικό χωρίς να καθοριστεί η διαδρομή του εκτελέσιμου αρχείου πρέπει να βρίσκονται σε κάποιες συγκεκριμένες διαδρομές. Δηλαδή κάθε εκτελέσιμο που βρίσκεται στις διαδρομές αυτές μπορεί να εκτελεστεί άμεσα από την κονσόλα.

Οι φάκελοι στους οποίους φιλοξενούνται αυτά τα αρχεία είναι συγκεκριμένοι και είναι κάποιοι από αυτούς που προαναφέραμε. Μπορούμε να τους “ανακαλύψουμε” δίνοντας την εντολή:

echo $PATH

Θα μας επιστρέψει κάτι σαν:

/home/prts2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Αυτό σημαίνει ότι ό,τι πρόγραμμα υπάρχει μέσα σε αυτούς τους φακέλους μπορεί να εκτελείται σαν απλή εντολή από ένα τερματικό.

Οποιοδήποτε πρόγραμμα είναι εγκατεστημένο εκτός των παραπάνω διαδρομών, μπορεί να εκτελεστεί από κονσόλα μόνο μέσω του πλήρους path προς το εκτελέσιμο. Για παράδειγμα, έστω ότι κατέβασα μια δοκιμαστική έκδοση του Firefox και θέλω να την δοκιμάσω. Κατεβάζω και αποσυμπιέζω τα αρχεία του προγράμματος στην επιφάνεια εργασίας μου και βρίσκω το εκτελέσιμο αρχείο της εφαρμογής. Αν ήθελα να χρησιμοποιήσω την κονσόλα, θα έπρεπε να δώσω ~/Desktop/firefox/firefox…

Βέβαια μπορούμε να προσθέσουμε στο PATH νέες διαδρομές, αλλά πρώτον αυτό μπορεί να προκαλέσει θέματα ασφαλείας και μπερδέματα, αν δεν γνωρίζουμε, και δεύτερον αυτό θα χρειαστεί σε πολύ συγκεκριμένες περιπτώσεις και σταματούμε εδώ, γιατί έχουμε ξεφύγει.

______________________

Αυτά εν ευλόγω συντομία και απευθυνόμενοι σε αρχάριους χρήστες. Όποιος θέλει να εντρυφήσει στο σύστημα αρχείων του Linux παραπέμπεται στις ιστοσελίδες που παρατίθενται πιο κάτω.

Για το forum του e-pcmag.gr, prts_1

Ελπίζουμε το άρθρο να φανεί χρήσιμο στους χρήστες που εισέρχονται στη διαφορετική δομή του λειτουργικού αυτού και να το αγαπήσουν με τον τρόπο τους. ;-)

Χρήσιμες ιστοσελίδες για επέκταση στο θέμα

Αναδημοσίευση του άρθρου μου από το e-pcmag.gr εδώ.

Φιλική άδεια χρήσης: Creative Commons License

13 Απαντήσεις στο “Το βασικό σύστημα αρχείων του Linux”

  1. πολύ ωραίο reference! Μπράβο!

  2. Ευχαριστώ, unseen. Βλέπω εσύ κάνεις μια ανάμεικτη προσπάθεια αγγλοελληνικών! :-D

  3. Μπράβο φίλε για το πολύ χρήσιμο Blog.

    Είμαι αρχάριος στα Ubundu και στο Linux γενικά.
    Δουλεύω έναν υπολογιστή με Ubundu και έναν με ΧΡ.
    Ομολογώ ότι τα Ubundu με έχουν εκπλήξει και με την ταχύτητα τους και με το πόσο πιό “ελαφριά” σε απαιτήσεις είναι (επιτέλους το laptop δεν ζεματάει) :-)

    Δυστυχώς η συνήθεια της χρήσης των Windows (κοντά 20 χρόνια) ΜΕ κρατάει τα χέρια δεμένα.

  4. Ευχαριστώ, indictos.

    Και μην αγχώνεσαι για την συνήθεια χρήσης των Windows. Αν σε βολεύουν σε κάποιες δουλειές, καλά κάνεις και τα χρησιμοποιείς. Δεν είμαι από αυτούς που θα τα κατηγορήσουν χωρίς λόγο. :-)

    Μου αρέσει να εκμεταλλεύομαι όλες τις πλευρές της πληροφορικής για τις ανάγκες που εξυπηρετεί η καθεμιά, δίκαια και με ανοικτό μυαλό.

  5. ναι έχω σκεφτεί ανάμεικτο blogging. τα κάπως ποιο σημαντικά posts δλδ με μεγαλύτερο ενδιαφέρον τα γράφω στα αγγλικα ενώ τα υπόλοιπα στα αγγλικά, καθώς τo About και την Sidebar μόνο στα αγγλικά.

  6. δες εδώ http://unseend.wordpress.com/2.....-commands/

  7. Πολύ καλό για Reference που λέει και ο unseen

  8. Τελειο!
    Απλα Τ Ε Λ Ε Ι Ο !

  9. Σας ευχαριστώ όλους. :-)

    Μη φωνάζεις, ρε akikidis! :-D

  10. Έψαχνα για μια εικόνα και με έβγαλε το google πάνω στην ανάρτησή σου αυτή(λόγω του gif που έχεις βάλει). Αν και γνώστης των παραπάνω έχω να πω πως έχεις κάνει πολύ καλή δουλειά και ήταν ειλικρινά ένα ευχάριστο ανάγνωσμα λίγο πριν πέσω για ύπνο(είχα νυστάξει από πριν το διαβάσω :)). Ευχάριστο και ευκολονόητο :)

  11. Πολύ καλή δουλειά , μπράβο!!!

  12. ωραιο και χρησιμο,μπραβο !

  13. Ευχαριστώ και πάλι για τα σχόλιά σας. :-)

Αφήστε μια απάντηση