Στο Linux 1.3.57 και μετέπειτα η μορφή του /proc/meminfo έχει αλλάξει κατά έναν τρόπο που η υλοποίηση του free δεν καταλαβαίνει.
Πάρτε την τελευταία έκδοση, από το sunsite.unc.edu στο /pub/Linux/system/Status/ps/procps-0.99.tgz.
Υπάρχουν δύο ρολόγια στο computer σας. Το μηχανικό (CMOS) ρολόι δουλεύει πάντα, ακόμα και όταν το computer είναι σβηστό, και χρησιμοποιείται όταν το σύστημα ξεκινάει, και από το DOS (αν το χρησιμοποιείτε). Η συνήθης ώρα συστήματος, που φαίνεται και ρυθμίζεται από την εντολή date, διατηρείται από τον πυρήνα όσο το Linux τρέχει.
Μπορείτε να δείτε την ώρα του ρολογιού του CMOS, ή να θέσετε κάποιο ρολόι από το άλλο, με το πρόγραμμα /sbin/clock δείτε το man 8 clock.
Υπάρχουν διάφορα άλλα προγράμματα τα οποία μπορούν να διορθώσουν ένα ή και τα δύο ρολόγια για συστηματική πορεία ή μεταφορά της ώρας μέσα στο σύστημα.Μερικά από αυτά μπορεί να είναι ήδη εγκατεστημένα στο σύστημά σας. Ψάξτε για τα adjtimex (διορθώνει πορεία), netdate και getdate (απλά παίρνει την ώρα από το δίκτυο) ή xntp (ακριβής πλήρης λειτουργιών daemon για ώρα δικτύου).
Σωστά. Αυτή η δυνατότητα έχει επίτηδες απενεργοποιηθεί στον πυρήνα του Linux επειδή τα setuid scripts είναι σχεδόν πάντα μία τρύπα ασφαλείας. Αν θέλετε να μάθετε γιατί, διαβάστε το FAQ για το comp.unix.questions.
Το νούμερο `free' που δίνεται από την εντολή free δεν συμπεριλαμβάνει τη μνήμη που χρησιμοποιείται ως disk buffer cache - η οποία φαίνεται στη στήλη `buffers'. Αν θέλετε να ξέρετε πόση μνήμη είναι πράγματι ελεύθερη, προσθέστε το ποσό του `buffers' σε αυτό του `free' - νεώτερες εκδόσεις του free δείχνουν μία ακόμα γραμμή με αυτή την πληροφορία.
Το disk buffer cache τείνει να αυξάνεται αμέσως μετά την εκκίνηση του Linux, καθώς φορτώνετε περισσότερα προγράμματα και χρησιμοποιείτε περισσότερα αρχεία, και τα περιεχόμενα μπαίνουν στην cache. Αυτό σταθεροποιείται μετά από ένα διάστημα.
Αυτό είναι ένα κοινό σύμπτωμα αποτυχίας να χρησιμοποιηθεί λανθάνουσα για την παραπάνω μνήμη. Το ακριβές πρόβλημα εξαρτάται από τη μητρική πλακέτα (motherboard) που έχετε.
Μερικές φορές πρέπει να ενεργοποιήσετε το caching συγκεκριμένων τμημάτων στο BIOS setup. Δείτε στο CMOS setup και ελέγξτε αν υπάρχει επιλογή να χρησιμοποιηθεί λανθάνουσα για τη νέα μνήμη η οποία είναι απενεργοποιημένη (Σ.τ.Μ. η επιλογή). Αυτό είναι πιο συνηθισμένο σε 486.
Μερικές φορές η μνήμη πρέπει να είναι σε συγκεκριμένες θύρες για να χρησιμοποιηθεί λανθάνουσα.
Μερικές φορές πρέπει να ρυθμίσετε βραχυκυκλωτήρες (jumpers) για να ενεργοποιήσετε τη χρήση λανθάνουσας.
Μερικές μητρικές πλακέτες δεν χρησιμοποιούν λανθάνουσα για όλη την RAM αν έχετε περισσότερη RAM ανά λανθάνουσα από ότι περιμένουν. Συνήθως μία λανθάνουσα της τάξης των 256K θα λύσει αυτό το πρόβλημα.
Αν έχετε αμφιβολία, ελέγξτε το βιβλίο οδηγιών χρήσης της μητρικής πλακέτας. Αν ακόμα δεν μπορείτε να το φτιάξετε επειδή η τεκμηρίωση είναι ανεπαρκής, ίσως πρέπει να στείλετε ένα μήνυμα στο comp.os.linux.hardware δίνοντας *όλες* τις πληροφορίες - μάρκα, αριθμός μοντέλου κωδικός ημερομηνίας κλπ. έτσι ώστε άλλοι χρήστες Linux να μπορούν να την αποφύγουν.
Μάλλον χρησιμοποιείτε non-shadow-password προγράμματα, αλλά χρησιμοποιείτε shadow passwords.
Αν είναι έτσι, πρέπει να πάρετε ή να μεταγλωττίσετε μία shadow-password έκδοση των εν λόγω προγραμμάτων. Το πακέτο shadow password βρίσκεται στο (μεταξύ άλλων): tsx-11.mit.edu:/pub/linux/sources/usr.bin/shadow-* Αυτό είναι ο κώδικας. Μάλλον θα βρείτε εκτελέσιμα στο .../linux/binaries/usr.bin.
Μάλλον έχετε το ίδιο πρόβλημα όπως στο '' Ορισμένα προγράμματα (π.χ. xdm) δεν με αφήνουν να κάνω login.'', σε μία ακόμα πτυχή:
Αν χρησιμοποιείτε shadow passords πρέπει να βάλετε ένα γράμμα x ή έναν αστερίσκο στο πεδίο του password του αρχείου /etc/passwd για κάθε λογαριασμό, έτσι ώστε αν ένα πρόγραμμα δεν γνωρίζει για τα shadow passwords να μην αφήνει τον καθένα να κάνει login νομίζοντας ότι είναι ένας λογαριασμός χωρίς password.
Μάλλον δεν έχετε χώρο ανταλλαγής δεδομένων (swap) ενεργοποιημένο. Πρέπει να ενεργοποιήσετε την ανταλλαγή δεδομένων για να επιτρέψετε στο Linux να τοποθετήσει κομμάτια δεδομένων - προγραμμάτων που δεν χρησιμοποιεί αυτή τη στιγμή στο δίσκο, για να έχει πιο πολύ χώρο για άλλα προγράμματα και δεδομένα. Αν δεν το κάνετε, το Linux πρέπει να κρατάει τα δεδομένα στη μνήμη και να έχει ολόκληρα αντίγραφα των προγραμμάτων στη μνήμη (τα οποία τοποθετούνται εκεί απ' ευθείας από το σύστημα αρχείων) και έτσι όλο και περισσότερα προγράμματα βρίσκονται στη μνήμη και τα πάντα πάνε πιο αργά.
Δείτε το Installation HOWTO και το Installation and Getting Started Guide ( Από που μπορώ να πάρω τα HOWTO και λοιπή τεκμηρίωση; ) για πληροφορίες στο πως θα στήσετε μία κατάτμηση ανταλλαγής δεδομένων (swap partition) ή ένα αρχείο ανταλλαγής δεδομένων (swapfile) δείτε επίσης το `` Η περιοχή μου ανταλλαγής δεδομένων δεν λειτουργεί.''.
Επίσης, μπορεί να έχετε πολύ λίγη πραγματική μνήμη. Αν έχετε λιγότερη RAM απ' ότι όλα τα προγράμματα που τρέχετε ταυτόχρονα, το Linux θα χρησιμοποιεί το σκληρό δίσκο αντ' αυτής και θα είναι τρομερό. Η λύση σε αυτή την περίπτωση είναι να μην τρέχετε τόσα προγράμματα ταυτόχρονα ή να αγοράσετε περισσότερη μνήμη. Μπορείτε επίσης να αποκτήσετε λίγη παραπάνω μνήμη μεταγλωττίζοντας και χρησιμοποιώντας έναν πυρήνα με λιγότερες επιλογές ενεργοποιημένες. Δείτε το `` Πως αναβαθμίζω/αναμεταγλωττίζω τον πυρήνα μου;''.
Μπορείτε να ξέρετε πόση μνήμη και / ή χώρο ανταλλαγής χρησιμοποιείτε, με την εντολή free ή πληκτρολογώντας
cat /proc/meminfo
Αν ο πυρήνας σας έχει δημιουργηθεί με επιλογή για δίσκο μνήμης (ramdisk) αυτό μάλλον είναι χαμένος χώρος και θα προκαλεί μία καθυστέρηση. Χρησιμοποιήστε το LILO ή το rdev για να ενημερώσετε τον πυρήνα να μην χρησιμοποιήσει δίσκο μνήμης (δείτε την τεκμηρίωση του LILO ή πληκτρολογήστε man rdev).
Μάλλον έχετε κάποια προβλήματα έγκρισης πρόσβασης ή έχετε ένα αρχείο /etc/nologin.
Αν είναι το τελευταίο, τοποθετήστε τη γραμμή rm -f /etc/nologin στο /etc/rc.local ή το /etc/rc.d/* αρχείο.
Αλλιώς, ελέγξτε τις εγκρίσεις στο κέλυφός σας, και τα ονόματα των αρχείων που εμφανίζονται στα μηνύματα λάθους, και επίσης τους υποκαταλόγους που περιέχουν αυτά τα αρχεία, μέχρι την κορυφή, μέχρι και το root κατάλογο.
Μάλλον στείλατε κάποια δυαδικά δεδομένα στην οθόνη κατά λάθος. Πληκτρολογήστε echo '\033c' για να το διορθώσετε. Πολλές διανομές Linux έχουν μία εντολή reset που κάνει αυτό το πράγμα.
Εκκινήστε τον υπολογιστή από μία δισκέτα ανάγκης (ή από ζεύγος δισκετών, π.χ. Slackware boot- και root- δισκέτες) (στον υποκατάλογο install των Slackware mirrors) ή το MCC boot floppy εγκατάστασης. Υπάρχουν επίσης δύο κάνε-το-μόνος-σου πακέτα δημιουργίας δισκετών ανάγκης στο sunsite.unc.edu/pub/Linux/system/Recovery. Αυτά είναι καλύτερα καθώς έχουν τον δικό σας πυρήνα, και έτσι δεν διακινδυνεύετε να "μην έχετε" συσκευές, συστήματα αρχείων κ.ο.κ.
Στο κέλυφος, κάντε mount το δίσκο σας με κάτι σαν
> mount -t ext2 /dev/hda1 /mnt
Τότε το σύστημα αρχείων σας είναι διαθέσιμο κάτω από τον κατάλογο /mnt και μπορείτε να διορθώσετε το πρόβλημα. Θυμηθείτε να κάνετε unmount το δίσκο σας πρίν επανεκκινήσετε (αλλάξτε κατάλογο στο / πρώτα, αλλιώς θα λέει ότι είναι απασχολημένο).
Όχι, δεν ανακαλύψατε. Είστε προφανώς νέος στο Unix και πρέπει να διαβάσετε ένα καλό βιβλίο για να μάθετε πως λειτουργούν ορισμένα πράγματα. Στοιχείο: η δυνατότητα να σβήσετε αρχεία κάτω από το Unix εξαρτάται από το αν έχετε την έγκριση να γράψετε στον κατάλογο στον οποίο αυτά βρίσκονται.
Ελέγξτε το Printing-HOWTO
Υπάρχει ένα σφάλμα (bug) στο πρόγραμμα clock(8) (το οποίο συχνά βρίσκεται στο /sbin) -- μετράει λάθος το περιθώριο, μπερδεύοντας τα δευτερόλεπτα με τα λεπτά. Πάρτε μια νεώτερη έκδοση του προγράμματος αυτού.
Σε πυρήνες έκδοσης 1.1.80 και μεταγενέστερους, το συμπιεσμένο αντίγραφο του πυρήνα, το οποίο το LILO ψάχνει να βρει, έχει μεταφερθεί στο arch/i386/boot/zImage. Το vmlinux αρχείο στον root κατάλογο είναι ο ασυμπίεστος πυρήνας, και δεν θα έπρεπε να δοκιμάσετε να ξεκινήσετε με αυτό.
Αυτή η αλλαγή έχει γίνει για να είναι ευκολότερο να φτιάξετε εκδόσεις για διάφορους επεξεργαστές, κάτω απ' τον ίδιο πηγαίο κώδικα.