Εισαγωγή στις Συσκευές Αποθήκευσης
Κατατμήσεις
Αν και είναι θεωρητικά δυνατή η χρήση ενός πλήρους δίσκου για να στεγάσει το σύστημα Linux σας, αυτό δεν γίνεται σχεδόν ποτέ στην πράξη. Αντ' αυτού, πλήρεις αποθηκευτικές συσκευές δίσκων χωρίζονται σε μικρότερες, πιο εύκολες στη διαχείριση συσκευές αποθήκευσης. Στα συστήματα , αυτές ονομάζονται κατατμήσεις.
Οι κατατμήσεις χωρίζονται σε τρεις τύπους: αρχική (primary), εκτενής (extended) και λογική (logical).
Μια αρχική κατάτμηση είναι μια κατάτμηση η οποία έχει τις πληροφορίες της αποθηκευμένες στο MBR (master boot record - κύρια εγγραφή εκκίνησης). Μιας και το MBR είναι πολύ μικρό (512 bytes) μόνο τέσσερις αρχικές κατατμήσεις μπορούν να οριστούν (για παράδειγμα, από /dev/sda1 μέχρι /dev/sda4).
Μια εκτενής κατάτμηση είναι μια ειδική περίπτωση αρχικής κατάτμησης (που σημαίνει ότι η εκτενής κατάτμηση πρέπει να είναι μία από τις τέσσερις πιθανές αρχικές κατατμήσεις) η οποία περιέχει περισσότερες κατατμήσεις. Τέτοια κατάτμηση δεν υπήρχε αρχικά, αλλά επειδή τέσσερις κατατμήσεις ήταν πολύ λίγες, ήρθε στη ζωή για να επεκτείνει το σχεδιάγραμμα διαμόρφωσης χωρίς την απώλεια οπίσθιας συμβατικότητας.
Μια λογική κατάτμηση είναι μια κατάτμηση μέσα σε μια εκτενής κατάτμηση. Οι ορισμοί τους δεν τοποθετούνται μέσα στο MBR, αλλά δηλώνονται μέσα στην εκτενή κατάτμηση.
Σχεδίαση ενός Σχεδιαγράμματος Κατατμήσεων
Προεπιλεγμένο Σχεδιάγραμμα Κατατμήσεων
Το firmware της NetWinder, το NeTTrom, μπορεί να διαβάσει μόνο κατατμήσεις ext2 αξιόπιστα γι αυτό πρέπει να έχετε μια ξεχωριστή ext2 κατάτμηση boot.
Αν δεν ενδιαφέρεστε να σχεδιάσετε ένα σχεδιάγραμμα κατατμήσεων για το σύστημά σας, μπορείτε να χρησιμοποιήσετε το σχεδιάγραμμα κατατμήσεων που χρησιμοποιούμε σε αυτό το εγχειρίδιο:
Κατάτμηση |
Σύστημα Αρχείων |
Μέγεθος |
Περιγραφή |
/dev/sda1
ext2
32M
Κατάτμηση Boot
/dev/sda2
(swap)
512M
Κατάτμηση Swap
/dev/sda3
ext3
Υπόλοιπος δίσκος
Κατάτμηση Root
Αν ενδιαφέρεστε να γνωρίζετε πόσο μεγάλες πρέπει να είναι οι κατατμήσεις, ή ακόμα να γνωρίζετε πόσες κατατμήσεις χρειάζεστε, συνεχίστε την ανάγνωση. Αλλιώς συνεχίστε με την κατάτμηση του δίσκου σας διαβάζοντας τη Χρήση της fdisk για την Κατάτμηση του Δίσκου σας.
Πόσα και Πόσο Μεγάλα;
Ο αριθμός των κατατμήσεων εξαρτάται πάρα πολύ από το σύστημά σας. Για παράδειγμα, αν έχετε πολλούς χρήστες, πιθανότατα χρειάζεστε το /home ξεχωριστά εφόσον αυξάνει την ασφάλεια και κάνει ευκολότερη τη διαδικασία δημιουργίας αντιγράφων ασφαλείας. Αν εγκαθιστάτε Gentoo για να εκτελεστεί σαν διακομιστή ηλεκτρονικών μηνυμάτων, το /var θα πρέπει να είναι ξεχωριστά εφόσον τα ηλεκτρονικά μηνύματα αποθηκεύονται εκεί. Μια καλή επιλογή συστήματος αρχείων θα μεγιστοποιήσει τότε την απόδοση. Οι διακομιστές παιχνιδιών θα έχουν ένα ξεχωριστό /opt αφού οι περισσότεροι διακομιστές παιχνιδιών εγκαθίστανται εκεί. Ο λόγος είναι ίδιος με αυτόν του /home: ασφάλεια και αντίγραφα ασφαλείας. Σίγουρα θα θέλετε να κρατήσετε μεγάλο το /usr: όχι μόνο θα περιέχει την πλειοψηφία των εφαρμογών, το δέντρο του Portage μόνο πιάνει γύρω στα 500MB εξαιρώντας τις διάφορες πηγές που είναι αποθηκευμένες σε αυτό.
Όπως βλέπετε, εξαρτάται από το τι θέλετε να πετύχετε. Ξεχωριστές κατατμήσεις ή τόμοι έχουν τα παρακάτω πλεονεκτήματα:
- Μπορείτε να επιλέξετε το καλύτερο σύστημα αρχείων για κάθε κατάτμηση ή τόμο
- Όλο το σύστημά σας δεν μπορεί να ξεμείνει από ελεύθερο χώρο αν ένα αδρανές εργαλείο συνεχώς γράφει αρχεία σε μια κατάτμηση ή τόμο
- Αν είναι απαραίτητο, οι έλεγχοι του συστήματος αρχείων μειώνονται στο χρόνο, καθώς πολλαπλοί έλεγχοι μπορούν να γίνουν παράλληλα (αν και αυτό το πλεονέκτημα γίνεται καλύτερα αντιληπτό με πολλαπλούς δίσκους απ' ότι με πολλαπλές κατατμήσεις).
- Η ασφάλεια μπορεί να ενισχυθεί προσαρτώντας μερικές κατατμήσεις ή τόμους σε λειτουγίες read-only (μόνο για ανάγνωση), noexec (παράλειψη των εκτελέσιμων bits κτλ.
Παρ' όλα αυτά, πολλαπλές κατατμήσεις έχουν ένα μεγάλο μειονέκτημα: αν δεν ρυθμιστούν κατάλληλα, μπορεί να καταλήξετε να έχετε ένα σύστημα με πολύ ελεύθερο χώρο σε μία κατάτμηση και καθόλου σε μια άλλη. Υπάρχει επίσης ένα όριο 15 κατατμήσεων για SCSI και SATA.
Σαν παράδειγμα δημιουργίας κατατμήσεων, σας δείχνουμε ένα για έναν δίσκο 20GB, που χρησιμποιείται σαν φορητός υπολογιστής παρουσιάσεων (περιέχει διακομιστή διαδικτύου, διακομιστή mail, gnome, ...):
$ df -h
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext3 509M 132M 351M 28% /
/dev/sda2 ext3 5.0G 3.0G 1.8G 63% /home
/dev/sda7 ext3 7.9G 6.2G 1.3G 83% /usr
/dev/sda8 ext3 1011M 483M 477M 51% /opt
/dev/sda9 ext3 2.0G 607M 1.3G 32% /var
/dev/sda1 ext2 51M 17M 31M 36% /boot
/dev/sda6 swap 516M 12M 504M 2% <not mounted>
(Μη κατατμημένος χώρος για μελλοντική χρήση: 2 GB)
Το /usr εδώ είναι σχεδόν γεμάτο (χρησιμοποιείται το 83%), αλλά όταν εγκατασταθεί όλο το λογισμικό, το /usr δεν τείνει να μεγαλώσει τόσο. Αν και η δέσμευση μερικών gigabytes από το δίσκο για το /var ίσως φαίνεται υπερβολική, θυμηθείτε ότι το Portage χρησιμοποιεί αυτή την κατάτμηση από προεπιλογή για τη μεταγλώττιση των πακέτων. Αν θέλετε να κρατάτε το /var σε ένα πιο λογικό μέγεθος, όπως 1GB, θα χρειατεί να αλλάξετε τη μεταβλητή PORTAGE_TMPDIR στο /etc/make.conf ώστε να δείχνει μια κατάτμηση με αρκετό ελεύθερο χώρο για μεταγλώττιση εξαιρετικά μεγάλων πακέτων όπως το OpenOffice.
Χρήση της fdisk για την Κατάτμηση του Δίσκου σας
Τα ακόλουθα μέρη εξηγούν πώς να κατατμήσετε ένα δίσκο με ένα σχεδιάγραμμα παρόμοιο με αυτό που περιγράφτηκε προηγουμένως, δηλαδή:
Κατάτμηση |
Περιγραφή |
/dev/sda1
Κατάτμηση Boot
/dev/sda2
Κατάτμηση Swap
/dev/sda3
Κατάτμηση Root
Αλλάξτε το σχεδιάγραμμα των κατατμήσεων σύμφωνα με τις προτιμήσεις σας.
Προβολή του Τρέχοντος Σχεδιαγράμματος Κατατμήσεων
Η fdisk είναι ένα δημοφιλές και ισχυρό εργαλείο για τη διάσπαση των δίσκων σας σε κατατμήσεις. Ανάψτε την fdisk στο δίσκο σας (στο παράδειγμά μας, χρησιμοποιούμε το /dev/sda):
# fdisk /dev/sda
Όταν μπείτε στην fdisk, θα χαιρετηθείτε με μια γραμμή που μοιάζει κάπως έτσι:
Command (m for help):
Πιέστε το p για να δείτε τις τρέχουσες ρυθμίσεις των κατατμήσεων του δίσκου σας:
Command (m for help): p
Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 14 105808+ 83 Linux
/dev/sda2 15 49 264600 82 Linux swap
/dev/sda3 50 70 158760 83 Linux
/dev/sda4 71 2184 15981840 5 Extended
/dev/sda5 71 209 1050808+ 83 Linux
/dev/sda6 210 348 1050808+ 83 Linux
/dev/sda7 349 626 2101648+ 83 Linux
/dev/sda8 627 904 2101648+ 83 Linux
/dev/sda9 905 2184 9676768+ 83 Linux
Command (m for help):
Ο συγκεκριμένος δίσκος έχει ρυθμιστεί για να στεγάσει εφτά αρχεία συστημάτων Linux (κάθε ένα με μια αντίστοιχη κατάτμηση που απεικονίζεται στη λίστα σαν "Linux") καθώς επίσης και μια κατάτμηση swap (που απεικονίζεται στη λίστα ως "Linux swap").
Αφαίρεση όλων των Κατατμήσεων
Πρώτα θα αφαιρέσουμε όλες τις υπάρχουσες κατατμήσεις από το δίσκο. Πιέστε το d για να διαγράψετε μια κατάτμηση. Για παράδειγμα, για να διαγράψετε μια υπάρχουσα /dev/sda1:
Command (m for help): d
Partition number (1-4): 1
Η κατάτμηση έχει προγραμματιστεί για διαγραφή. Δεν θα εμφανίζεται άλλο αν πατήσετε p, αλλά δε θα σβηστεί μέχρι να αποθηκεύσετε τις αλλαγές σας. Αν κάνατε κάποιο λάθος και θέλετε να βγείτε χωρίς να αποθηκεύσετε τις αλλαγές σας, πατήστε q αμέσως και πατήστε enter και η κατάτμησή σας δεν θα διαγραφεί.
Τώρα υποθέτοντας ότι όντως χρειάζεστε να αφαιρέσετε όλες τις κατατμήσεις του συστήματός σας, πιέστε επαναλαμβανόμενα p για να εκτυπώσετε όλες τις κατατμήσεις που βρίσκονται στη λίστα και μετά πιέστε d και το νούμερο της κατάτμησης για να τη διαγράψετε. Τελικά, θα καταλήξετε με ένα άδειο τραπέζι κατατμήσεων.
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
Command (m for help):
Τώρα που το τραπέζι κατατμήσεων της μνήμης είναι άδειο, είμαστε έτοιμοι να δημιουργήσουμε τις κατατμήσεις. Θα χρησιμοποιήσουμε ένα προεπιλεγμένο σχεδιάγραμμα κατατμήσεων όπως συζητήθηκε προηγουμένως. Φυσικά, μην ακολουθείτε αυτές τις οδηγίες κατά γράμμα αν δεν θέλετε το ίδιο σχεδιάγραμμα κατατμήσεων!
Δημιουργία της Kατάτμησης Boot
Πρώτα θα δημιουργήσουμε μια μικρή κατάτμηση boot. Πιέστε n για να δημιουργήσετε τη νέα κατάτμηση, μετά p για να επιλέξετε μια αρχική κατάτμηση, ακολουθούμενο από το 1 για να επιλέξετε την πρώτη αρχική κατάτμηση. Όταν ερωτηθείτε για τον πρώτο κύλινδρο, πιέστε enter. Όταν ερωτηθείτε για τον τελευταίο κύλινδρο, πληκτρολογήστε +32M για να δημιουργήσετε μια κατάτμηση μεγέθους 32 Mbyte:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): (Πιέστε Enter)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
Τώρα, όταν θα πιέσετε p, θα πρέπει να δείτε την ακόλουθη έξοδο κατατμήσεων:
Command (m for help): p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 14 105808+ 83 Linux
Πρέπει να κάνουμε αυτή την κατάτμηση εκκινήσιμη. Πιέστε a για να ενεργοποιήσετε τη σημαία εκκίνησης σε μια κατάτμηση και επιλέξτε 1. Αν πιέσετε p ξανά, θα δείτε ότι ένα * τοποθετήθηκε στη στήλη "Boot".
Δημιουργία της Κατάτμησης Swap
Ας δημιουργήσουμε τώρα την κατάτμηση swap. Για να το κάνετε αυτό, πιέστε n για να δημιουργήσετε μία νέα κατάτμηση, μετά p για να πείτε στην fdisk ότι θέλετε μια αρχική κατάτμηση. Μετά πιέστε 2 για να δημιουργήσετε τη δεύτερη αρχική κατάτμηση, την /dev/sda2 στην περίπτωσή μας. Όταν ερωτηθείτε για τον πρώτο κύλινδρο, πιέστε enter. Όταν ερωτηθείτε για τον τελευταίο κύλινδρο, πληκτρολογήστε +512M για να δημιουργήσετε μία κατάτμηση μεγέθους 512MB. Αφού κάνετε αυτό, πιέστε t για να θέσετε τον τύπο της κατάτμησης, 2 για να επιλέξετε την κατάτμηση που μόλις δημιουργήσατε και μετά πληκτρολογήστε 82 για να θέσετε τον τύπο της κατάτμησης σε "Linux Swap". Αφού τελειώσετε αυτά τα βήματα, πατώντας p θα πρέπει να εμφανιστεί ένα τραπέζι κατατμήσεων παρόμοιο με αυτό:
Command (m for help): p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 14 105808+ 83 Linux
/dev/sda2 15 81 506520 82 Linux swap
Δημιουργία της Κατάτμησης Root
Τέλος, ας δημιουργήσουμε την κατάτμηση root. Για να γίνει αυτό, πιέστε n για να δημιουργήσετε μία νέα κατάτμηση, μετά p για να πείτε στην fdisk ότι θέλετε να δημιουργήσετε μια αρχική κατάτμηση. Μετά πιέστε 3 για να δημιουργήσετε την τρίτη αρχική κατάτμηση, την /dev/sda3 στην περίπτωσή μας. Όταν ερωτηθείτε για τον πρώτο κύλινδρο, πιέστε enter. Όταν ερωτηθείτε για τον τελευταίο κύλινδρο, πιέστε enter για να δημιουργήσετε μία κατάτμηση που καταλαμβάνει τον υπόλοιπο του ελεύθερου χώρου στο δίσκο. Αφού τελειώσετε αυτά τα βήματα, πατώντας p θα πρέπει να εμφανιστεί ένα τραπέζι κατατμήσεων παρόμοιο με αυτό:
Command (m for help): p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 14 105808+ 83 Linux
/dev/sda2 15 81 506520 82 Linux swap
/dev/sda3 82 3876 28690200 83 Linux
Αποθήκευση του Σχεδιαγράμματος Κατατμήσεων
Για αποθήκευση του σχεδιαγράμματος των κατατμήσεων και έξοδο από την fdisk, πιέστε w.
Command (m for help): w
Τώρα που οι κατατμήσεις σας έχουν δημιουργηθεί, μπορείτε να συνεχίσετε με τη Δημιουργία Συστημάτων Αρχείων.
Δημιουργία Συστημάτων Αρχείων
Εισαγωγή
Τώρα που οι κατατμήσεις σας έχουν δημιουργηθεί, είναι ώρα να τοποθετήσετε ένα σύστημα αρχείων σε αυτά. Αν δεν νοιάζεστε για ποιο σύστημα αρχείων να επιλέξετε και είστε ικανοποιημένοι με αυτό που χρησιμοποιούμε ως προεπιλογή σε αυτό το εγχειρίδιο, συνεχίστε με το Εφαρμογή ενός Συστήματος Αρχείων σε μία Κατάτμηση. Διαφορετικά συνεχίστε να διαβάζετε για τα διαθέσιμα συστήματα αρχείων...
Εφαρμογή ενός Συστήματος Αρχείων σε μία Κατάτμηση
Για να δημιουργήσετε ένα σύστημα αρχείων σε μία κατάτμηση ή ένα τόμο, υπάρχουν εργαλεία διαθέσιμα για κάθε πιθανό σύστημα αρχείων:
Σύστημα Αρχείων |
Εντολή Δημιουργίας |
ext2
mke2fs
ext3
mke2fs -j
reiserfs
mkreiserfs
xfs
mkfs.xfs
jfs
mkfs.jfs
Για παράδειγμα, για να έχετε την κατάτμηση boot (/dev/sda1 στο παράδειγμά μας) σε ext2 και την κατάτμηση root (/dev/sda3 στο παράδειγμά μας) σε ext3, θα χρησιμοποιήσετε:
# mke2fs /dev/sda1
# mke2fs -j /dev/sda3
Τώρα δημιουργήστε τα συστήματα αρχείων στις νεο-δημιουργημένες κατατμήσεις (ή λογικούς τόμους).
Ενεργοποίηση της Κατάτμησης Swap
Το mkswap είναι η εντολή που χρησιμοποιείται για την αρχικοποίηση κατατμήσεων swap:
# mkswap /dev/sda2
Για να ενεργοποιήσετε την κατάτμηση swap, χρησιμοποιήστε το swapon:
# swapon /dev/sda2
Δημιουργήστε και ενεργοποιήστε το swap με τις εντολές που αναφέρθηκαν παραπάνω.
Προσάρτηση
Τώρα που οι κατατμήσεις σας είναι αρχικοποιημένες και στεγάζουν ένα σύστημα αρχείων, είναι ώρα να τις προσαρτήσετε στις κατατμήσεις. Χρησιμοποιήστε την εντολή mount. Μην ξεχάσετε να δημιουργήσετε τους απαραίτητους φακέλους προσάρτησης για κάθε κατάτμηση που δημιουργήσατε. Σαν παράδειγμα θα προσαρτήσουμε τις κατατμήσεις root και boot:
# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot
Αν θέλετε το /tmp σας να βρίσκετε σε χωριστή κατάτμηση, μην ξεχάσετε να αλλάξετε τα δικαιώματά του μετά την προσάρτηση: chmod 1777 /mnt/gentoo/tmp. Αυτό επίσης ισχύει και για το /var/tmp.
Επίσης θα πρέπει να προσαρτήσουμε το σύστημα αρχείων proc (μια εικονική διεπαφή με τον πυρήνα) στο /proc. Αλλά πρώτα θα χρειαστεί να τοποθετήσουμε τα αρχεία μας στις κατατμήσεις.
Συνεχίστε με την Εγκατάσταση των Αρχείων Εγκατάσταστης του Gentoo.