Next Previous Contents

4. Χειρισμός των συστημάτων αρχειοθέτησης, σκληρών δίσκων και δισκετών από το Linux

4.1 Πώς μπορώ να κάνω το Linux να δουλέψει στο μεγάλου μεγέθους σκληρό δίσκο μου;

Αν ο σκληρός δίσκος σας είναι τύπου IDE ή EIDE θα πρέπει να διαβάσετε το αρχείο /usr/src/linux/drivers/block/README.ide (είναι μέρος του πηγαίου κώδικα του πυρήνα του Linux). Αυτό το αρχείο περιέχει πολλές χρήσιμες συμβουλές σχετικά με τους σκληρούς δίσκους τύπου IDE. Πολλοί σύγχρονοι ελεγκτές IDE κάνουν τη μετατροπή μεταξύ `φυσικών' και `λογικών' κυλίνδρων/κεφαλών/τομέων.

Στους σκληρούς δίσκους τύπου SCSI η πρόσβαση γίνεται με γραμμικούς αριθμούς ενοτήτων (linear block numbers). Το BIOS δημιουργεί κάποιους σκιώδεις `λογικούς' κυλίνδρους/κεφαλές/τομείς για να υποστηρίξει το DOS.

Συνήθως το DOS δεν θα μπορεί να έχει πρόσβαση σε διαιρέσεις του δίσκου (partitions) που εκτείνονται πέραν των 1024 λογικών κυλίνδρων, και στην καλύτερη περίπτωση η έναρξη του πυρήνα του Linux από τέτοιες διαιρέσεις σκληρών δίσκων με χρήση του LILO θα είναι προβληματική.

Παρ' όλ' αυτά μπορείτε να χρησιμοποιείτε τέτοιες διαιρέσεις σκληρών δίσκων για το Linux ή άλλα λειτουργικά συστήματα που έχουν απευθείας πρόσβαση στον ελεγκτή.

Θα συνιστούσα να δημιουργήσετε τουλάχιστον μία διαίρεση σκληρού δίσκου τύπου Linux εξ ολοκλήρου κάτω από το όριο των 1024 λογικών κυλίνδρων και να κάνετε την έναρξη του συστήματος από εκεί. Σε αυτή την περίπτωση οι υπόλοιπες διαιρέσεις σκληρού δίσκου δεν θα έχουν πρόβλημα.

4.2 Πώς μπορώ να επαναφέρω αρχεία που έχω διαγράψει;

Γενικά, αυτό είναι πολύ δύσκολο να γίνει σε συστήματα Unix εξαιτίας της πολυδιεργασιακής (multitasking) φύσεώς τους. Η λειτουργία επαναφοράς για το ext2fs βρίσκεται στα σκαριά, αλλά μην περιμένετε να τη δείτε σύντομα στον υπολογιστή σας.

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

Ως εναλλακτική λύση, μπορείτε να ερευνήσετε άμεσα τον ίδιο το σκληρό δίσκο πάνω στον οποίο βρίσκεται το σχετικό σύστημα αρχειοθέτησης. Αυτό προϋποθέτει πολύ δουλειά και χρειάζεται να είστε ο διαχειριστής του συστήματος (root) για να την κάνετε.

4.3 Υπάρχει ανασυγκροτητής (defragmenter) για το ext2fs κλπ;

Ναι. Ένας ανασυγκροτητής του συστήματος αρχειοθέτησης Linux για το ext2, το minix και τα παλαιού τύπου συστήματα αρχειοθέτησης ext είναι διαθέσιμος στο sunsite.unc.edu στον φάκελο system/Filesystems ως defrag-0.6.tar.gz.

Οι χρήστες του συστήματος αρχείων ext2 πιθανότατα δεν χρειάζονται ανασυγκροτητή καθώς το ext2 περιέχει έναν επιπλέον κώδικα για να διατηρεί την κατάτμηση του σκληρού δίσκου (fragmentation) σε χαμηλά επίπεδα ακόμη και σε ογκώδη συστήματα αρχείων.

4.4 Πώς διαμορφώνω και δημιουργώ ένα σύστημα αρχειοθέτησης σε δισκέτα;

Για μια δισκέτα πυκνής εγγραφής 3,5 ιντσών:

   fdformat /dev/fd0H1440
   mkfs -t ext2 -m 0 /dev/fd0H1440 1440
Για μια δισκέτα 5,25 ιντσών χρησιμοποιήστε fd0h1200 και 1200 ανάλογα με την περίπτωση. Για τον οδηγό δισκετών `B' χρησιμοποιήστε fd1 αντί για fd0. Πλήρεις οδηγίες σχετικά με τη χρήση των διαφόρων συσκευών δισκετών μπορούν να βρεθούν στη Λίστα Συσκευών του Linux ( Q2.1 `Πού μπορώ να βρω τα HOWTO και περαιτέρω βιβλιογραφική ενημέρωση') . Ίσως χρειαστεί να τρέξετε απευθείας το mke2fs αντί για το mkfs -t ext2. Η επιλογή -m 0 λέει στο mkfs.ext2 να μην κρατήσει καθόλου χώρο στη δισκέτα για τον διαχειριστή του συστήματος. Συνήθως το τελευταίο 10% της δισκέτας φυλάττεται προς χρήση του διαχειριστή συστήματος (root).

Η πρώτη εντολή κάνει τη βασική διαμόρφωση της δισκέτας ενώ η δεύτερη δημιουργεί ένα άδειο σύστημα αρχειοθέτησης πάνω σ' αυτή. Κατόπιν μπορείτε να φορτώσετε (mount) τη δισκέτα σαν να ήταν διαίρεση σκληρού δίσκου (partition) και απλά να αντιγράψετε (cp) και να μετακινήσετε (mv) αρχεία, κλπ.

4.5 Λαμβάνω περίεργα μηνύματα σχετικά με inodes, blocks, και διάφορα τέτοια.

Μάλλον έχετε ένα αλλοιωμένο σύστημα αρχειοθέτησης που πιθανόν οφείλεται στο γεγονός ότι το Linux δεν τερμάτισε τη λειτουργία του κανονικά πριν να διακόψετε την τροφοδοσία ή πριν να επαναφέρετε (reset) τον υπολογιστή σας. Χρειάζεται να χρησιμοποιήσετε ένα σύγχρονο πρόγραμμα τερματισμού λειτουργίας για να διορθώσετε το λάθος. Για παράδειγμα, το πρόγραμμα που περιλαμβάνεται το λογισμικό πακέτο util-linux, το οποίο είναι διαθέσιμο στο sunsite και στο tsx-11.

Αν είστε τυχερός το πρόγραμμα fsck (ή e2fsck ή xfsck κατά περίπτωση αν δεν έχετε το αυτόματο εμπροσθομερές του fsck [automatic fsck front-end]) θα μπορέσει να επισκευάσει το σύστημα αρχειοθέτησής σας. Αν είστε άτυχος το σύστημα αρχειοθέτησης έχει καταστραφεί και θα πρέπει να το φτιάξετε από την αρχή με mkfs (ή mke2fs, mkxfs κλπ) και να το επαναφέρετε από κάποιο αντίγραφο ασφαλείας.

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

   VFS: mounted root ... read-only

4.6 Η περιοχή προσωρινής αποθήκευσης (swap area) δεν λειτουργεί.

Όταν κάνετε έναρξη (boot) του πυρήνα του Linux (ή όταν με δική σας εντολή επιτρέπετε την προσωρινή αποθήκευση) θα πρέπει να δείτε το μήνυμα:

        Adding Swap: NNNNk swap-space
Αν δεν δείτε κανένα μήνυμα πιθανότατα η εντολή swapon -av (η οποία επιτρέπει την προσωρινή αποθήκευση) δεν υπάρχει στο αρχείο /etc/rc.local ή /etc/rc.d/* (τα σχέδια ενάρξεως συστήματος) ή έχετε ξεχάσει να κάνετε τη σωστή καταχώρηση στο αρχείο /etc/fstab, πχ:
        /dev/hda2       none       swap       sw

Αν δείτε το μήνυμα:

        Unable to find swap-space signature
έχετε ξεχάσει να τρέξετε το mkswap. Δείτε τις σελίδες εγχειριδίων για λεπτομέρειες. Λειτουργεί όμοια με το mkfs.

Ελέγξτε το Installation-HOWTO (Εγκατάστασης) για λεπτομερείς οδηγίες σχετικά με το πώς να στήσετε μια περιοχή προσωρινής αποθήκευσης.

4.7 Πώς διαγράφω το LILO έτσι, ώστε το σύστημά μου να ξεκινά και πάλι με DOS;

Χρησιμοποιώντας DOS (MS-DOS 5.0 ή μεταγενέστερο, ή OS/2), πληκτρολογήστε FDISK /MBR (δεν υπάρχει στις οδηγίες χρήσεως). Αυτή η εντολή θα επαναφέρει μία τυπική κύρια καταχώρηση έναρξης (Master Boot Record) του MS-DOS. Αν έχετε DR-DOS 6.0, πηγαίνετε στο FDISK και επιλέξτε "Re-write Master Boot Record".

Αν δεν έχετε DOS 5 ή DR-DOS χρειάζεστε τον τομέα ενάρξεως (boot sector) που το LILO έσωσε όταν το πρωτοεγκαταστήσατε. Ελπίζω να κρατήσατε εκείνο το αρχείο, έτσι δεν είναι; Κατά πάσα πιθανότητα ονομάζεται boot.0301 ή κάτι τέτοιο. Πληκτρολογήστε:

   dd if=boot.0301 of=/dev/hda bs=445 count=1
(ή sda αν χρησιμοποιείτε σκληρό δίσκο τύπου SCSI). Αυτό μπορεί να σβήσει τον πίνακα διαιρέσεων (partition table) του σκληρού σας δίσκου, γι' αυτό προσοχή! Αν έχετε φτάσει σε απόγνωση, θα πρέπει να χρησιμοποιήσετε την εντολή:
   dd if=/dev/zero of=/dev/hda bs=512 count=1
η οποία θα διαγράψει τον πίνακα διαιρέσεων όπως και τον τομέα ενάρξεως (boot sector) του σκληρού σας δίσκου. Κατόπιν μπορείτε να επαναδιομορφώσετε (format) το σκληρό σας δίσκο με το λογισμικό της προτίμησής σας. Πάντως, η εντολή αυτή θα καταστήσει τα περιεχόμενα του σκληρού σας δίσκου απροσπέλαστα. Θα τα χάσετε για πάντα εκτός αν είστε ειδήμων των ηλεκτρονικών υπολογιστών.

Σημειώστε ότι η κύρια καταχώρηση έναρξης (MBR) του DOS ξεκινά από οποιαδήποτε διαίρεση δίσκου έχει προσημανθεί ως `ενεργός' (αλλά μόνο από μία). Μπορεί να χρειαστεί να χρησιμοποιήσετε το fdisk για να θέσετε και να καθαρίσετε τις ενεργείς προσημάνσεις από τις διαιρέσεις του σκληρού σας δίσκου κατά περίπτωση.

4.8 Γιατί δεν μπορώ να χρησιμοποιήσω την εντολή fdformat παρά μόνο ως διαχειριστής συστήματος (root);

Η εντολή διαμόρφωσης μιας δισκέτας μπορεί να κληθεί μόνο από το διαχειριστή συστήματος (root), ανεξάρτητα από τις εξουσιοδοτήσεις (permissions) του /dev/fd0*. Αν θέλετε οποιοσδήποτε χρήστης να μπορεί να διαμορφώνει (format) δισκέτες προσπαθείστε να βρείτε το πρόγραμμα fdformat2 το οποίο ξεπερνά τα προβλήματα αυτά αλλάζοντας το σε setuid (chmod u+s fdformat2).

4.9 Υπάρχει κάτι σαν το Stacker ή το Doublespace για το Linux;

Σήμερα κανένα από τα συστήματα αρχειοθέτησης του Linux δεν μπορεί να κάνει συμπίεση μέσα στο σύστημα αρχειοθέτησης.

Υπάρχει ένα πρόγραμμα που ονομάζεται Zlibc και το οποίο επιτρέπει στις υπάρχουσες εφαρμογές να διαβάζουν συμπιεσμένα (GNU zipped) αρχεία σαν να μην ήταν συμπιεσμένα. Αφού το εγκαταστήσετε μπορείτε να συμπιέζετε αρχεία χρησιμοποιώντας το gzip και οι εφαρμογές σας θα εξακολουθούν να τα βρίσκουν χωρίς να χρειάζεται να αλλάξετε τα προγράμματά σας. Κοιτάξτε στο sunsite.unc.edu στον φάκελο /pub/Linux/libs. Ο δημιουργός του είναι ο < Alain.Knaff@imag.fr>.

Υπάρχει ένας οδηγός συσκευών συμπιέσεως ενοτήτων (compressing block device driver) που μπορεί να παρέχει άμεση συμπίεση του σκληρού δίσκου μέσα στον πυρήνα ανεξαρτήτως συστήματος αρχειοθέτησης. Ονομάζεται `DouBle'. Ο πηγαίος κώδικας διατίθεται στο sunsite.unc.edu στον φάκελο /pub/Linux/kernel/patches/diskdrives. Ο δημιουργός του είναι ο Jean-Marc Verbavatz < jmv@receptor.mgh.harvard.edu>. Σημειώστε ότι, εφόσον ο οδηγός αυτός συμπιέζει τους δεσμούς πληροφοριών (inodes - πληροφορίες διαχείρισης) και τους φακέλους όπως επίσης και τα περιεχόμενα των αρχείων, η εμφάνιση οποιασδήποτε αλλοίωσης είναι πολύ πιθανόν να είναι σοβαρή.

Υπάρχει επίσης ένα λογισμικό πακέτο γνωστό ως tcx (Transparently Compressed Executables - Διαφανώς Συμπιεσμένα Εκτελέσιμα Αρχεία) που σας επιτρέπει να τηρείτε εκτελέσιμα αρχεία τα οποία σπάνια χρειάζεστε σε συμπιεσμένη μορφή και να τα αποσυμπιέζετε προσωρινά μόνο όταν τα χρησιμοποιείτε. Θα το βρείτε στις βάσεις δεδομένων τύπου FTP του Linux (Q2.5 `Πού μπορώ να βρω υλικό για το Linux με FTP;'). Σχετικές πληροφορίες είχαν επίσης ανακοινωθεί στο comp.os.linux.announce. Σημείωση - δεν είναι το ίδιο πράγμα με το gzexe, το οποίο είναι κατώτερης ποιότητας εφαρμογή της αυτής ιδέας.

4.10 Οι διαιρέσεις του σκληρού μου δίσκου τύπου ext2fs ελέγχονται κάθε φορά που επανεκκινώ τον υπολογιστή μου

Βλέπε Q9.12 `EXT2-fs: warning: mounting unchecked filesystem'.

4.11 Το σύστημα αρχειοθέτησης του διαχειριστή δικτύου (root) είναι μόνο αναγνώσιμο!

Φορτώστε το (mount) και πάλι. Αν το αρχείο /etc/fstab είναι σωστό μπορείτε απλά να πληκτρολογήσετε mount -n -o remount /. Αν το αρχείο /etc/fstab έχει λάθη πρέπει να δώσετε το όνομα της συσκευής και πιθανώς και τον τύπο της: π.χ. mount -n -o remount -t ext2 /dev/hda2 /. Για να καταλάβετε πώς φτάσατε σε αυτή την κατάσταση διαβάστε το Q9.12 `EXT2-fs: warning: mounting unchecked filesystem'.

4.12 Έχω ένα τεράστιο αρχείο /proc/kcore! Μπορώ να το διαγράψω;

Κανένα από τα αρχεία στον φάκελο /proc δεν είναι στην πραγματικότητα εκεί - είναι όλα `πλαστά' αρχεία που δημιουργούνται από τον πυρήνα (kernel) για να σας δίνουν πληροφορίες σχετικά με το σύστημα ενώ δεν καταλαμβάνουν χώρο στο σκληρό δίσκο.

Το αρχείο /proc/kcore είναι σαν ένα `ψευδώνυμο' της μνήμης του υπολογιστή σας. Το μέγεθός του είναι το ίδιο με το σύνολο της RAM που έχετε και, αν ζητήσετε να το διαβάσετε σαν αρχείο, ο πυρήνας διαβάζει τη μνήμη.

4.13 Η AHA1542C μου δεν λειτουργεί με το Linux.

Η επιλογή που επιτρέπει τη χρήση σκληρών δίσκων με περισσότερους από 1024 κυλίνδρους απαιτείται μόνο ως τρόπος αποφυγής μιας παραξενιάς του DOS και θα έπρεπε να απενεργοποιείται όταν χρησιμοποιείτε το Linux. Για παλαιότερους πυρήνες του Linux χρειάζεται να απενεργοποιείτε τις περισσότερες από τις επιλογές `advanced BIOS' (προηγμένου BIOS) - όλες εκτός από εκείνη που αφορά την έρευνα του αγωγού (bus) για συσκευές από τις οποίες μπορεί να γίνει έναρξη του συστήματος.


Next Previous Contents