86 γραμμές
12 KiB
Markdown
86 γραμμές
12 KiB
Markdown
+++
|
||
title = 'The Linux filesystem standard'
|
||
date = '1998-09-01T00:00:00Z'
|
||
description = ''
|
||
author = 'Νίκος Κόκρας mailto:kokni@eexi.gr(mailto:kokni@eexi.gr)'
|
||
issue = ['Magaz 07']
|
||
issue_weight = 3
|
||
+++
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
*Όπως όλοι γνωρίζουμε ακόμη και η πιο \"γυμνή\" εγκατάσταση του αγαπημένου μας λειτουργικού, έχει μια σειρά από directories, τα οποία δημιουργούνται αυτόματα
|
||
και είναι στην πλειονότητά τους απαραίτητα για την ορθή λειτουργία του συστήματος.*
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
Η δομή του λεγόμενου directory tree είναι πιθανώς οικεία σε όσους έχουν εμπειρία και από άλλα \*nix-οειδή λειτουργικά. Το Linux δεν αποτελεί εξαίρεση, αν και
|
||
μικροδιαφορές πάντοτε παρατηρούνται. Αυτό που ακολουθεί είναι μια \*σύντομη\* παρουσίαση του filesystem. Για όποιον ενδιαφέρεται, υπάρχει το
|
||
[FSSTND](ftp://ftp.funet.fi/pub/Linux/docs/fsstnd). Αυτό είναι ένα standard που εξηγεί πολύ κατανοητά, τι υπάρχει, που και γιατί στην δομή του Linux filesystem
|
||
|
||
Στο root, κανονικά δεν πρέπει να υπάρχουν αρχεία, προκειμένου να διατηρείται μικρό. Τα directories που περιέχει είναι:
|
||
|
||
- /boot Σε αυτόν το κατάλογο βρίσκουμε τα απαραίτητα αρχεία για τον boot loader. Οι πυρήνες συχνά φυλάσσονται εδώ και γενικά όποιος χαλάσει αυτόν το κατάλογο,
|
||
κατά την επανεκκίνηση θα έχει\... κάποια\...προβλήματα. Σε συνδυασμό με το /sbin σηκώνουν το λειτουργικό.\
|
||
- /etc (κλπ) Εδώ βρίσκει κανείς το μεγαλύτερο μέρος των configuration files τα οποία είναι ειδικά για κάθε σύστημα (δεν έχει νόημα ο διαμοιρασμός του). Γενικά
|
||
απαγορεύονται ρητά τα binaries (δεν ξέρω γιατί, καμία ιδέα ?) και τα υπό-directories που περιέχει είναι συνήθως:
|
||
- ppp Configuration για το PPP(d)
|
||
- init.d, rc.d Ανάλογα με το SysV ή το BSD στύλ, εδώ έχουμε τα αρχεία εκκίνησης του συστήματος
|
||
- X11 configuration gia το X Window system,
|
||
- skel configuration για το σκελετό των αρχείων που κατασκευάζονται όταν προστίθεται ένας χρήστης.
|
||
- /bin (binaries) Εκτελέσιμα αρχεία, απαραίτητα για την εκκίνηση του λειτουργικού, τα οποία μπορούν όμως να χρησιμοποιηθούν και από κανονικούς χρήστες μετά
|
||
την εκκίνηση. Γενικά λίγα πράγματα μπαίνουν εδώ, που χρειάζονται τόσο στον root όσο και στους απλούς χρήστες. Εάν κάτι δεν χρειάζεται στον root, τότε πάει
|
||
στο /usr/bin
|
||
- /sbin (system binaries) Ομοίως, το /sbin περιέχει εκτελέσιμα αρχεία απαραίτητα για την εκκίνηση, με την διαφορά όμως ότι αυτά δεν προορίζονται για χρήση από
|
||
τους κανονικούς χρήστες. Μαζί με τα /usr/sbin και /usr/local/sbin αποτελούν το \"οπλοστάσιο\" του root και καλόν θα ήταν να ρίξετε μια ματιά στα
|
||
permissions.
|
||
- /root Προφανώς το homedir του root. Δεν ισχύει για όλα τις Linux dists αφού συχνά ο root έχει σαν homedir το /.
|
||
- /proc Αυτός ο κατάλογος δεν υπάρχει πραγματικά στον δίσκο, αλλά αντίθετα αποτελεί δημιούργημα του πυρήνα αποκλειστικά στην μνήμη του συστήματος. Περιέχει
|
||
πολύ σημαντικές πληροφορίες τόσο για το hardware όσο και για το λειτουργικό. Εξερευνήστε ελεύθερα το σύστημά σας (π.χ. cat /proc/cpuinfo).
|
||
- /dev (devices) Σε αυτό το directory περιέχονται όλα τα devices. Απολύτως απαραίτητο και ο γενικός κανόνας είναι ότι δεν θέλετε να πειράξετε τίποτε εκεί
|
||
μέσα, πλην ίσως των sumbolic links π.χ. για το modem ή το mouse (καλύτερα να χρησιμοποιείτε τα πραγματικά devices και όχι symlinks). Περιέχει φυσικά και το
|
||
περίφημο MAKEDEV, τον καλύτερο τρόπο για να εκβιάσετε το \"που\_έβαλα\_το\_cdrom\_για\_την\_εγκατάσταση\_του\_Linux\" σε περίπτωση που παίξετε μαζί του
|
||
χωρίς να κατέχετε το αντικείμενο.
|
||
- /mnt (mount) Ένα dir, στην κορυφή του filesystem, κάτω από το οποίο οι sysadmins μπορούν προσωρινά να τοποθετούν filesystems που δεν φορτώνονται αυτόματα.
|
||
Καλόν είναι όλα τα εικονικά dirs (cdrom, floppy, poly\_spania\_mounted\_fs) να βρίσκονται κάτω από το /mnt και όχι στο / για να μην μπλέκονται στα πόδια
|
||
μας.
|
||
- /home Ο κατάλογος αυτός περιέχει τους υποκαταλόγους που αποτελούν τα homedirs των χρηστών. Εκτός από αυτούς, πολλοί server του συστήματος όπως π.χ. ο fptd,
|
||
η samba, o apache χρησιμοποιούν υποκαταλόγους κάτω από το home. Από τους καταλόγους που συνηθέστερα διαμοιράζονται και προτείνεται ανεπιφύλακτα η τοποθέτησή
|
||
του σε ξεχωριστό partition
|
||
- /tmp (temporary) Όπως λέει και το όνομά του είναι το temporary (προσωρινό) μέρος για την τοποθέτηση αρχείων. καμία σχέση με το \"swap\". Πολλοί ενώνουν το
|
||
/tmp με το /var/tmp προκειμένου να υπάρχει μόνο ένα tmp στο σύστημα (ιδανικά σε δικό του partition ή στο γενικά \"βρώμικο\" partition του /var). Θυμηθείτε,
|
||
ότι εδώ έχουν rwx permissions όλοι οι χρήστες. Πολλοί τολμηροί βάζουν το /tmp στην μνήμη, ιδίως σε μικρά συστήματα.
|
||
- /lib (libraries) Εδώ θα βρούμε πολύ βασικές shared libraries, οι οποίες είναι απαραίτητες σχεδόν για τα πάντα. Ένα directory που γενικά θέλει πολύ προσοχή
|
||
όταν παίζουμε με το root account. Περιέχει τον κατάλογο modules, όπου βρίσκονται τα modules που χρειάζεται ο kernel..
|
||
- /usr (user) Το μεγαλύτερο directory του Linux, αφού σχεδόν όλα τα αρχεία εγκαθίστανται εδώ. Πολύ συχνά διαμοιράζεται σε ένα ολόκληρο τοπικό δίκτυο. Κανονικά
|
||
δεν χρειάζεται να γράψει κανείς τίποτε όποτε το ro στο mount είναι μια πιθανή επιλογή. Τα dirs που συχνά περιέχει είναι:
|
||
- X11R6 εδώ τοποθετούνται όλα τα αρχεία του X11R6, πλην του configuration (=/etc/X11)
|
||
- X386 ομοίως για το X11R5
|
||
- bin Όλες οι εντολές που δικαιούνται να τρέξουν οι χρήστες που δεν έχουν ειδικά προνόμια
|
||
- dict κατάλογοι λεξικών
|
||
- doc όταν σας λένε RTFM, έρχεστε εδώ
|
||
- etc αντίστοιχο του /etc αλλά για χρησιμοποιείται για το configuration ενός ολόκληρου τοπικού δικτύου
|
||
- games χμμμμ\...
|
||
- include Header files για τα διάφορα προγράμματα
|
||
- info Ο κατάλογος του GNU-Info
|
||
- lib Βιβλιοθήκες
|
||
- local εδώ τοποθετούνται διάφορα αρχεία, για \"τοπική\" χρήση. Αν το /usr γίνεται mount από nfs server τότε το /usr/local ιδανικά έχει δικό του partition
|
||
- man on-line manuals
|
||
- sbin εκτελέσιμα για την διαχείριση του συστήματος, που δεν είναι όμως ζωτικής σημασίας
|
||
- share δεδομένα που διαμοιράζονται και δεν εξαρτώνται από αρχιτεκτονική (i386, alpha κλπ)
|
||
- src εδώ τοποθετείται ο πηγαίος κώδικας
|
||
- /var (variable data) Εδώ περιέχονται μια σειρά από καταλόγους και αρχεία. Μερικοί υποκατάλογοι μπορεί να διαμοιραστούν σε περισσότερα συστήματα (π.χ.
|
||
/var/spool/mail) ενώ άλλα, όπως το /var/log ή /var/lock είναι ειδικά για κάθε σύστημα. Οι συνηθέστεροι και σημαντικότεροι υποκατάλογοι είναι:
|
||
- catman εδώ βρίσκουμε τις man pages που έχουν φορμαριστεί
|
||
- lib σε αυτόν το κατάλογο υπάρχουν πληροφορίες σχετικά με την κατάσταση των προγραμμάτων που τρέχουν
|
||
- local σε αυτόν τον κατάλογο αποθηκεύονται δεδομένα από προγράμματα του /usr/local
|
||
- lock αρχεία που υποδηλώνουν το \"κλείδωμα\" μιας συσκευής.
|
||
- log logs (ημερολόγια) που κρατούνται από όσα προγράμματα το υποστηρίζουν.
|
||
- named αρχεία του DNS, όπως παράγονται από το bind.
|
||
- nis περιέχεται η database για το nis
|
||
- preserve εδώ με λίγη τύχη θα βρείτε το υπόλοιπο της δουλείας σας, μετά από crashes.
|
||
- run εδώ βρίσκουμε αρχεία που παράγονται από προγράμματα που τρέχουν.
|
||
- spool εδώ βρίσκετε η \"ουρά\". Σε υποκαταλόγους βρίσκουμε e-mail, news, printer jobs κλπ
|
||
- tmp προσωρινά αρχεία που καταχωρούνται εδώ με σκοπό να περιοριστεί το μέγεθος του /tmp
|
||
- /opt (optional) Αυτό το directory δεν δημιουργείται πάντα από τις γνωστές διανομές και δεν περιγράφεται στο Linux Filesystem Standard. Είναι η τελευταία
|
||
μεγάλη προσθήκη στο /, και σκοπός της είναι να δωθεί η δυνατότητα σε μεγάλα commercial προγράμμα να έχουν ένα δικό τους top-level directory (ιδανικά σε
|
||
ξεχωριστό partition). Ουσιαστικά εδώ μπαίνουν προγράμματα που δεν μπορούν να πάνε στο /usr γιατί το τελευταίο έχει μεγαλώσει υπερβολικά.
|