Συστήματα αρχείων δίσκων
Τα βασικά συστήματα αρχείων που θα χρησιμοποιήσετε, τουλάχιστον ως νέοι χρήστες του Linux, θα είναι αυτά που φιλοξενούνται στα διαμερίσματα δίσκων. Υπάρχει μεγάλη πληθώρα διαθέσιμων συστημάτων αρχείων δίσκων (disk filesystems), μερικά από τα οποία είναι γενικής χρήσης ενώ άλλα δίνουν λύσεις σε συγκεκριμένες απαιτήσεις και συνθήκες.
Τα πιο συνηθισμένα συστήματα αρχείων που χρησιμοποιούνται κατά κόρον σε σχεδόν όλες τις διαθέσιμες διανομές Linux είναι τα ext2 και ext3.
Το συστήμα αρχείων ext2
Το ext2 είναι η δεύτερη έκδοση του extended filesystem (ext), το οποίο βασίστηκε με τη σειρά του στο σύστημα αρχείων του Minix που χρησιμοποιούσε στις αρχικές του εκδόσεις το Linux. Για πολλά χρόνια ήταν το de facto σύστημα αρχείων και χρησιμοποιότανε σε όλες τις εκδόσεις καθώς πρόσφερε υψηλή απόδοση, ασφάλεια δεδομένων και χαμηλή κατανάλωση επεξεργαστικής ισχύος. Τα κύρια μειονεκτήματα που οδήγησαν στην ανάπτυξη άλλων εναλλακτικών συστημάτων αρχείων ήταν ο μεγάλος χρόνος επιδιόρθωσης με την εντολή fsck σε περίπτωση βλάβης (για μεγέθη της τάξεως των μερικών GB ο χρόνος μπορούσε να φτάσει σε δεκάδες λεπτά), το οποίο με τη σειρά του σήμαινε αυξημένο χρόνο εκκίνησης του συστήματος. Σε επαγγελματικά περιβάλλοντα κάτι τέτοιο είναι ανεπίτρεπτο και έπρεπε να βρεθεί μια λύση στο πρόβλημα. Η λύση είναι τα συστήματα αρχείων με αρχείο journal (journalling filesystems).
Journalling
Το journalling είναι μια τεχνική που χρησιμοποιήθηκε αρχικά σε επαγγελματικά συστήματα αρχείων σε περιβάλλοντα UNIX. Υπάρχει μεγάλη βιβλιογραφία γύρω από το journalling και την ασφάλεια των δεδομένων, αλλά η γενική φιλοσοφία ενός τέτοιου συστήματος είναι απλή. Πρακτικά, σε ένα τέτοιο σύστημα αρχείων όλες οι αλλαγές αποθηκεύονται πρώτα σε ένα δεσμευμένο χώρο του συστήματος αρχείων, το αρχείο journal, και όχι απευθείας στα κανονικά αρχεία. Όταν το αρχείο αυτό φτάσει ένα συγκεκριμένο μέγεθος ή όταν περάσει ένα προκαθορισμένο χρονικό διάστημα (συνήθως μερικά δευτερόλεπτα), οι αλλαγές που βρίσκονται στο αρχείο journal αποθηκεύονται πλέον στους κανονικούς παραλήπτες. Αυτή η μέθοδος ευθύνεται για την αυξημένη ασφάλεια δεδομένων που προσφέρουν αυτά τα συστήματα καθώς και για τους μειωμένους χρόνους εκκίνησης (δεν είναι πλέον απαραίτητος ο έλεγχος με την εντολή fsck σε κάθε εκκίνηση).
Journalling και ext3
Το ext3 είναι η απάντηση του ext2 στα journalling συστήματα αρχείων. Τα θετικά του σημεία είναι η συμβατότητά του με το ext2 και η δυνατότητα μετατροπής ενός υπάρχοντος συστήματος αρχείων ext2 σε ext3 και αντίστροφα. Παρέχει υψηλή ασφάλεια και εξελιγμένους αλγορίθμους ανάγνωσης και εγγραφής δεδομένων που ξεπερνούν σε απόδοση ακόμη και πιο εξειδικευμένα συστήματα αρχείων.
Η εντολή mkfs και παραλλαγές
Δοθείσης μιας μονάδας συσκευής block ή ένα σημείο επαφής αυτής μπορούμε να τη διαμορφώσουμε εύκολα με ένα σύστημα αρχείων, οποιουδήποτε είδους θελήσουμε, με τη χρήση της εντολής mkfs (make filesystem). Η εντολή αυτή είναι ένας wrapper που καλεί την αντίστοιχη εντολή διαμόρφωσης, αν φυσικά υπάρχει. Η σύνταξή της είναι
mkfs -t <fstype> [fs-options] filesys
όπου fstype ο τύπος του συστήματος αρχείων με τις δικές του επιλογές fs-options και filesys το όνομα της μονάδας συσκευής block ή το σημείου αρμού της (mount point).
Για το ext2 ή ext3 χωρίς να είναι απαραίτητη η εγκατάσταση επιπλέον λογισμικού στο σύστημά μας, μπορούμε να χρησιμοποιήσουμε τη mkfs ή απευθείας μια από τις mkfs.ext2, mkfs.ext3, mke2fs. Πρόκειται στην ουσία για το ίδιο πρόγραμμα, καθώς είναι σθεναροί σύνδεσμοι (hard links) στο ίδιο αρχείο.
Για εξάσκηση στις ικανότητές μας στο κέλυφος, κάτι τέτοιο μπορούμε πολύ εύκολα να το δούμε χρησιμοποιώντας τις εντολές του προηγούμενου κεφαλαίου και τις δυνατότητες των σωληνώσεων:
# ls -li /sbin |sort|uniq -D -W 1 8064 -rwxr-xr-x 3 root root 118796 May 22 01:11 e2fsck 8064 -rwxr-xr-x 3 root root 118796 May 22 01:11 fsck.ext2 8064 -rwxr-xr-x 3 root root 118796 May 22 01:11 fsck.ext3 8065 -rwxr-xr-x 3 root root 19456 May 22 01:11 e2label 8065 -rwxr-xr-x 3 root root 19456 May 22 01:11 findfs 8065 -rwxr-xr-x 3 root root 19456 May 22 01:11 tune2fs 8096 -rwxr-xr-x 2 root root 22652 Jul 14 2002 ifdown 8096 -rwxr-xr-x 2 root root 22652 Jul 14 2002 ifup 8175 -rwxr-xr-x 3 root root 27212 May 22 01:11 mke2fs 8175 -rwxr-xr-x 3 root root 27212 May 22 01:11 mkfs.ext2 8175 -rwxr-xr-x 3 root root 27212 May 22 01:11 mkfs.ext3
Κλείνοντας αυτήν τη μικρή παρένθεση, η διαμόρφωση σε ext2 ή ext3 με την εντολή mke2fs, γίνεται ως εξής:
mke2fs [OPTIONS] filesys
Η mke2fs δέχεται πληθώρα επιλογών, αλλά προς το παρόν οι σημαντικότερες που θα πρέπει να σας απασχολήσουν είναι οι εξής:
|
Επιλογές
|
Λειτουργία
|
| -b blocksize | Ρυθμίζει το μέγεθος του block που θα χρησιμοποιήσει η μονάδα block. Δεκτά μεγέθη είναι τα 1024, 2048, 4096. |
| -L label | Ονομάζει το σύστημα αρχείων με την ετικέτα label. |
| -j | Το σύστημα αρχείων θα είναι ext3 (ενεργοποιεί το αρχείο journal). |
| -n | Εκτέλεση της εντολής χωρίς στην πραγματικότητα να διαμορφώσει κάποιο σύστημα αρχείων, απλά δείχνει τί θα έκανε. Χρησιμοποιήστε την αν δεν είστε σίγουροι. |
Για παράδειγμα, για να διαμορφώσουμε το διαμέρισμα /dev/hda2 σε σύστημα αρχείων ext3 μεγέθους 1GB εισάγουμε την εξής εντολή (μόνο ως χρήστης root):
# mke2fs -j /dev/hda2
mke2fs 1.34-WIP (21-May-2003)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
4194304 inodes, 8388608 blocks
419430 blocks (5.00%) reserved for the super user
First data block=0
256 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Αυτό είναι και το αποτέλεσμα του προγράμματος που θα πρέπει να περιμένετε.
Εδώ, πρέπει να σημειώσουμε ότι θα πρέπει να είναι ενεργοποιημένη η υποστήριξη του ext3 στον πυρήνα του Linux που τρέχετε (η υποστήριξη ext2 είναι πάντα ενεργοποιημένη στους τυπικούς πυρήνες).
Τα συστήματα αρχείων reiserfs, xfs, jfs
Πέρα από τα ext2 και ext3, υπάρχουν πλέον και άλλα συστήματα αρχείων γενικής χρήσης διαθέσιμα για το Linux, συγκεκριμένα τα ReiserFS, το XFS της SGI και το JFS της IBM. Όλα τους είναι συστήματα αρχείων journalling και υποστηρίζονται από τον πυρήνα του Linux. Για την διαμόρφωση όμως μονάδων συσκευών σε αυτά θα πρέπει να εγκαταστήσετε ειδικό λογισμικό, όπως φαίνεται στον ακόλουθο πίνακα:
|
Σύστημα Αρχείων
|
Απαραίτητα πακέτα λογισμικού στο Debian
|
| ReiserFS | progsreiserfs ή reiserfsprogs |
| SGI XFS | kernel-patch-xfs xfsprogs |
| IBM JFS | jfsutils |
Καθένα από τα πακέτα αυτά μπορείτε να το εγκαταστήσετε με την εντολή:
apt-get install <packagename>
Λεπτομέρειες για τη χρήση της apt-get θα δούμε στο επόμενο κεφάλαιο.
Active forum topics
- Wake up from suspend mode failed
- Οργάνωση στις μεταφράσεις των ελληνικών στο Debian.
- απορια σχετικα με nvidia440
- πρόβλημα εγκατάστασης nvidia driver GTS250.
- kernel 2.6.38 για squeeze
- Gnome3
- 2 μήνες σπασμένο το upgrade σε unstable [SOLVED]
- Οι χρήστες του Internet Explorer είναι χαζοί;
- Debian Lenny + Nvidia drivers
- εγκατασταση usb cosmote
New forum topics
Νέοι χρήστες
- kountp
- Adonthegreat
- giorgos_m
- prodromos
- airmaik
Οι πιο πρόσφατες καταχωρίσεις blog.
- Fosscomm 2012
- armhf officially into Debian!
- back from UDS/Linaro Connect...
- FTF is over, Linaro Interview
- straight from FTF 2011, San Antonio...
- Όσο μεγαλώνεις μαθαίνεις...
- Emdebian 2011 Sprint report, Genesi Europe store goes online...
- Θεσσαλονίκη - open source ERP workshop
- Χρήσιμο URL για Flash Cards και Linux filesystems
- Cambridge, UK, ARM HQ for Emdebian 2011 Sprint