Αν ο σκληρός δίσκος σας είναι τύπου 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 λογικών κυλίνδρων και να κάνετε την έναρξη του συστήματος από εκεί. Σε αυτή την περίπτωση οι υπόλοιπες διαιρέσεις σκληρού δίσκου δεν θα έχουν πρόβλημα.
Γενικά, αυτό είναι πολύ δύσκολο να γίνει σε συστήματα Unix εξαιτίας της πολυδιεργασιακής (multitasking) φύσεώς τους. Η λειτουργία επαναφοράς για το ext2fs βρίσκεται στα σκαριά, αλλά μην περιμένετε να τη δείτε σύντομα στον υπολογιστή σας.
Υπάρχει ένας αριθμός λογισμικών πακέτων που είναι διαθέσιμα και εκτελούν την εργασία αυτή προσφέροντας νέες εντολές για διαγραφή και, μερικές φορές, αντιγραφή οι οποίες μεταφέρουν τα προς διαγραφή αρχεία σε έναν ειδικό φάκελο που είναι γνωστός ως `κάδος αχρήστων'. Κατόπιν είναι επανακτήσιμα μέχρι να διαγραφούν αυτόματα από δευτερεύουσες επεξεργασίες.
Ως εναλλακτική λύση, μπορείτε να ερευνήσετε άμεσα τον ίδιο το σκληρό δίσκο πάνω στον οποίο βρίσκεται το σχετικό σύστημα αρχειοθέτησης. Αυτό προϋποθέτει πολύ δουλειά και χρειάζεται να είστε ο διαχειριστής του συστήματος (root) για να την κάνετε.
Ναι. Ένας ανασυγκροτητής του συστήματος αρχειοθέτησης Linux για το ext2, το minix και τα παλαιού τύπου συστήματα αρχειοθέτησης ext είναι διαθέσιμος στο sunsite.unc.edu στον φάκελο system/Filesystems ως defrag-0.6.tar.gz.
Οι χρήστες του συστήματος αρχείων ext2 πιθανότατα δεν χρειάζονται ανασυγκροτητή καθώς το ext2 περιέχει έναν επιπλέον κώδικα για να διατηρεί την κατάτμηση του σκληρού δίσκου (fragmentation) σε χαμηλά επίπεδα ακόμη και σε ογκώδη συστήματα αρχείων.
Για μια δισκέτα πυκνής εγγραφής 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) αρχεία, κλπ.
Μάλλον έχετε ένα αλλοιωμένο σύστημα αρχειοθέτησης που πιθανόν οφείλεται στο γεγονός ότι το 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
Όταν κάνετε έναρξη (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 (Εγκατάστασης) για λεπτομερείς οδηγίες σχετικά με το πώς να στήσετε μια περιοχή προσωρινής αποθήκευσης.
Χρησιμοποιώντας 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 για να θέσετε και να καθαρίσετε τις ενεργείς προσημάνσεις από τις διαιρέσεις του σκληρού σας δίσκου κατά περίπτωση.
Η εντολή διαμόρφωσης μιας δισκέτας μπορεί να κληθεί μόνο από το διαχειριστή συστήματος (root), ανεξάρτητα από τις εξουσιοδοτήσεις (permissions) του /dev/fd0*. Αν θέλετε οποιοσδήποτε χρήστης να μπορεί να διαμορφώνει (format) δισκέτες προσπαθείστε να βρείτε το πρόγραμμα fdformat2 το οποίο ξεπερνά τα προβλήματα αυτά αλλάζοντας το σε setuid (chmod u+s fdformat2).
Σήμερα κανένα από τα συστήματα αρχειοθέτησης του 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, το οποίο είναι κατώτερης ποιότητας εφαρμογή της αυτής ιδέας.
Βλέπε Q9.12 `EXT2-fs: warning: mounting unchecked filesystem'.
Φορτώστε το (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'.
Κανένα από τα αρχεία στον φάκελο /proc δεν είναι στην πραγματικότητα εκεί - είναι όλα `πλαστά' αρχεία που δημιουργούνται από τον πυρήνα (kernel) για να σας δίνουν πληροφορίες σχετικά με το σύστημα ενώ δεν καταλαμβάνουν χώρο στο σκληρό δίσκο.
Το αρχείο /proc/kcore είναι σαν ένα `ψευδώνυμο' της μνήμης του υπολογιστή σας. Το μέγεθός του είναι το ίδιο με το σύνολο της RAM που έχετε και, αν ζητήσετε να το διαβάσετε σαν αρχείο, ο πυρήνας διαβάζει τη μνήμη.
Η επιλογή που επιτρέπει τη χρήση σκληρών δίσκων με περισσότερους από 1024 κυλίνδρους απαιτείται μόνο ως τρόπος αποφυγής μιας παραξενιάς του DOS και θα έπρεπε να απενεργοποιείται όταν χρησιμοποιείτε το Linux. Για παλαιότερους πυρήνες του Linux χρειάζεται να απενεργοποιείτε τις περισσότερες από τις επιλογές `advanced BIOS' (προηγμένου BIOS) - όλες εκτός από εκείνη που αφορά την έρευνα του αγωγού (bus) για συσκευές από τις οποίες μπορεί να γίνει έναρξη του συστήματος.