dmesg - εκτύπωση ή έλεγχος του δακτυλίου μνήμης του πυρήνα
ΣΥΝΤΑΞΗ
dmesg [επιλογές]
dmesg --clear
dmesg --read-clear [επιλογές]
dmesg --console-level επίπεδο
dmesg --console-on
dmesg --console-off
ΠΕΡΙΓΡΑΦΗ
Το dmesg χρησιμοποιείται για την εξέταση ή τον έλεγχο του δακτυλίου μνήμης του πυρήνα.
Η προεπιλεγμένη ενέργεια είναι η εμφάνιση όλων των μηνυμάτων από τον δακτύλιο μνήμης του πυρήνα.
ΕΠΙΛΟΓΕΣ
Οι επιλογές --clear, --read-clear, --console-on, --console-off και --console-level είναι αμοιβαία αποκλειόμενες.
-C, --clear
Εκκαθάριση του δακτυλίου μνήμης.
-c, --read-clear
Εκκαθάριση του δακτυλίου μνήμης μετά την αρχική εκτύπωση του περιεχομένου του.
-D, --console-off
Απενεργοποίηση της εκτύπωσης μηνυμάτων στην κονσόλα.
-d, --show-delta
Εμφάνιση της χρονικής σήμανσης και του χρόνου που μεσολαβεί μεταξύ των μηνυμάτων. Εάν χρησιμοποιείται μαζί με το --notime, τότε εμφανίζεται μόνο ο χρόνος που μεσολαβεί χωρίς τη χρονική σήμανση.
-E, --console-on
Ενεργοποίηση της εκτύπωσης μηνυμάτων στην κονσόλα.
-e, --reltime
Εμφάνιση της τοπικής ώρας και του χρόνου σε μορφή αναγνώσιμη από τον άνθρωπο. Προσέξτε ότι η μετατροπή στην τοπική ώρα μπορεί να είναι ανακριβής (δείτε το -T για περισσότερες λεπτομέρειες).
-F, --file αρχείο
Ανάγνωση των μηνυμάτων syslog από το δεδομένο αρχείο. Σημειώστε ότι το -F δεν υποστηρίζει μηνύματα σε μορφή kmsg. Δείτε το -K αντί αυτού.
-f, --facility λίστα
Περιορισμός της εξόδου στη δεδομένη (διαχωρισμένη με κόμμα) λίστα εγκαταστάσεων. Για παράδειγμα:
dmesg --facility=daemon
θα εκτυπώσει μόνο μηνύματα από τα συστημικά δαίμονια. Για όλες τις υποστηριζόμενες εγκαταστάσεις, δείτε την έξοδο της --help.
-H, --human
Ενεργοποίηση αναγνώσιμης από τον άνθρωπο εξόδου. Δείτε επίσης --color, --reltime και --nopager.
-J, --json
Χρήση μορφής εξόδου JSON. Η μορφή εξόδου χρόνου είναι μόνο σε μορφή "sec.usec", το επίπεδο προτεραιότητας καταγραφής δεν αποκωδικοποιείται από προεπιλογή (χρησιμοποιήστε το --decode για να το χωρίσετε σε εγκατάσταση και προτεραιότητα), οι υπόλοιπες επιλογές για τον έλεγχο της μορφής εξόδου ή της μορφής χρόνου αγνοούνται αθόρυβα.
-K, --kmsg-file αρχείο
Ανάγνωση των μηνυμάτων /dev/kmsg από το δεδομένο αρχείο. Οι διαφορετικές εγγραφές αναμένεται να διαχωρίζονται με ένα byte NULL.
-k, --kernel
Εκτύπωση μηνυμάτων πυρήνα.
-L, --color[=όταν]
Χρωματισμός της εξόδου. Το προαιρετικό όρισμα "όταν" μπορεί να είναι auto, never ή always. Εάν το όρισμα "όταν" παραλειφθεί, η προεπιλογή είναι "auto". Τα χρώματα μπορούν να απενεργοποιηθούν. για την τρέχουσα ενσωματωμένη προεπιλογή, δείτε την έξοδο της --help. Δείτε επίσης την ενότητα COLORS παρακάτω.
-l, --level λίστα
Περιορισμός της εξόδου στη δεδομένη (διαχωρισμένη με κόμμα) λίστα επιπέδων. Για παράδειγμα:
dmesg --level=err,warn
θα εκτυπώσει μόνο μηνύματα σφαλμάτων και προειδοποιήσεις. Για όλα τα υποστηριζόμενα επίπεδα, δείτε την έξοδο της --help.
Η προσθήκη ενός συν (+ ) σε ένα όνομα επιπέδου περιλαμβάνει επίσης όλα τα υψηλότερα επίπεδα. Για παράδειγμα:
dmesg --level=err+
θα εκτυπώσει τα επίπεδα err, crit, alert και emerg.
Η προσθήκη ενός συν (+) στην αρχή θα περιλαμβάνει όλα τα χαμηλότερα επίπεδα.
-n, --console-level επίπεδο
Ορισμός του επιπέδου στο οποίο γίνεται η εκτύπωση μηνυμάτων στην κονσόλα. Το επίπεδο είναι ένας αριθμός επιπέδου ή μια συντομογραφία του ονόματος του επιπέδου. Για όλα τα υποστηριζόμενα επίπεδα, δείτε την έξοδο της --help.
Για παράδειγμα, το -n 1 ή το -n emerg αποτρέπει την εμφάνιση όλων των μηνυμάτων στην κονσόλα, εκτός από τα μηνύματα έκτακτης ανάγκης (panic). Όλα τα επίπεδα μηνυμάτων εξακολουθούν να γράφονται στο /proc/kmsg, επομένως το syslogd(8) μπορεί να χρησιμοποιηθεί για τον ακριβή έλεγχο του πού εμφανίζονται τα μηνύματα του πυρήνα. Όταν χρησιμοποιείται η επιλογή -n, το dmesg δεν θα εκτυπώσει ούτε θα διαγράψει τον δακτύλιο μηνυμάτων του πυρήνα.
`--noescape`
Οι μη εκτυπώσιμοι και δυνητικά επικίνδυνοι χαρακτήρες (π.χ., σπασμένες πολυ-byte ακολουθίες, χαρακτήρες ελέγχου τερματικού κ.λπ.) κωδικοποιούνται σε μορφή \x<hex> για λόγους ασφαλείας από προεπιλογή. Αυτή η επιλογή απενεργοποιεί αυτήν τη λειτουργία. Μπορεί να χρησιμοποιηθεί, για παράδειγμα, για σκοπούς εντοπισμού σφαλμάτων μαζί με την επιλογή --raw. Να είστε προσεκτικοί και μην τη χρησιμοποιείτε από προεπιλογή.
`-P, --nopager`
Μην στέλνετε την έξοδο σε ένα πρόγραμμα σελιδοποίησης. Ένα πρόγραμμα σελιδοποίησης είναι ενεργοποιημένο από προεπιλογή για την έξοδο --human.
`-p, --force-prefix`
Προσθέστε πληροφορίες εγκατάστασης, επιπέδου ή χρονικής σήμανσης σε κάθε γραμμή ενός μηνύματος πολλαπλών γραμμών.
`-r, --raw`
Εκτυπώστε το ακατέργαστο αρχείο μηνυμάτων, δηλαδή, μην αφαιρέσετε τα προθέματα επιπέδου καταγραφής, αλλά όλοι οι μη εκτυπώσιμοι χαρακτήρες εξακολουθούν να κωδικοποιούνται (βλ. επίσης --noescape).
Σημειώστε ότι η πραγματική ακατέργαστη μορφή εξαρτάται από τη μέθοδο με την οποία το dmesg διαβάζει τα μηνύματα του πυρήνα. Η συσκευή /dev/kmsg χρησιμοποιεί μια διαφορετική μορφή από το syslog(2). Για λόγους συμβατότητας, το dmesg επιστρέφει πάντα δεδομένα σε μορφή syslog(2). Είναι δυνατό να διαβάσετε τα πραγματικά ακατέργαστα δεδομένα από το /dev/kmsg χρησιμοποιώντας, για παράδειγμα, την εντολή dd if=/dev/kmsg iflag=nonblock.
`-S, --syslog`
Αναγκάστε το dmesg να χρησιμοποιήσει τη διεπαφή syslog(2) του πυρήνα για την ανάγνωση των μηνυμάτων του πυρήνα. Από την έκδοση 3.5.0 του πυρήνα, η προεπιλογή είναι η χρήση του /dev/kmsg αντί για το syslog(2).
`-s, --buffer-size size`
Χρησιμοποιήστε ένα αρχείο μεγέθους size για να κάνετε ερώτηση στον δακτύλιο μηνυμάτων του πυρήνα. Η προεπιλογή είναι 16392. (Το προεπιλεγμένο μέγεθος του δακτυλίου καταγραφής του πυρήνα ήταν αρχικά 4096, 8192 από την έκδοση 1.3.54, 16384 από την έκδοση 2.1.113.) Εάν έχετε ορίσει τον δακτύλιο του πυρήνα σε μεγαλύτερο από το προεπιλεγμένο μέγεθος, τότε αυτή η επιλογή μπορεί να χρησιμοποιηθεί για να δείτε ολόκληρο τον δακτύλιο.
`-T, --ctime`
Εκτυπώστε ευανάγνωστες χρονικές σημάνσεις.
Να γνωρίζετε ότι η χρονική σήμανση ενδέχεται να είναι ανακριβής! Η πηγή χρόνου που χρησιμοποιείται για τα αρχεία καταγραφής δεν ενημερώνεται μετά από την αναστολή/επανεκκίνηση του συστήματος. Οι χρονικές σημάνσεις προσαρμόζονται σύμφωνα με την τρέχουσα διαφορά μεταξύ των ρολογιών εκκίνησης και μονοτονικής λειτουργίας, αυτό λειτουργεί μόνο για τα μηνύματα που εκτυπώνονται μετά την τελευταία επανεκκίνηση.
`--since time`
Εμφανίστε τα αρχεία καταγραφής από την καθορισμένη ώρα. Υποστηρίζεται η υπο-δευτερόλεπτη ακρίβεια. Η ώρα μπορεί να καθοριστεί είτε με απόλυτο τρόπο είτε με σχετική σημειογραφία (π.χ. "1 ώρα πριν"). Να γνωρίζετε ότι η χρονική σήμανση ενδέχεται να είναι ανακριβής και δείτε το --ctime για περισσότερες λεπτομέρειες.
`--until time`
Εμφανίστε τα αρχεία καταγραφής μέχρι την καθορισμένη ώρα. Υποστηρίζεται η υπο-δευτερόλεπτη ακρίβεια. Η ώρα μπορεί να καθοριστεί είτε με απόλυτο τρόπο είτε με σχετική σημειογραφία (π.χ. "1 ώρα πριν"). Να γνωρίζετε ότι η χρονική σήμανση ενδέχεται να είναι ανακριβής και δείτε το --ctime για περισσότερες λεπτομέρειες.
`-t, --notime`
Μην εκτυπώνετε τις χρονικές σημάνσεις του πυρήνα.
`--time-format format`
Εκτυπώστε τις χρονικές σημάνσεις χρησιμοποιώντας την δεδομένη μορφή, η οποία μπορεί να είναι ctime, reltime, delta, iso ή raw. Οι τρεις πρώτες μορφές είναι ψευδώνυμα για τις συγκεκριμένες επιλογές μορφοποίησης χρόνου. Η μορφή raw χρησιμοποιεί την προεπιλεγμένη μορφή χρονικής σήμανσης, η οποία εμφανίζει δευτερόλεπτα από την εκκίνηση. Η μορφή iso είναι μια υλοποίηση της μορφής χρονικής σήμανσης ISO-8601 από το dmesg. Ο σκοπός αυτής της μορφής είναι να διευκολύνει τη σύγκριση των χρονικών σημάνσεων μεταξύ δύο συστημάτων και οποιουδήποτε άλλου χειρισμού. Ο ορισμός της χρονικής σήμανσης iso είναι: YYYY-MM-DD<T>HH:MM:SS,<microseconds>Z<+><timezone offset from UTC>.
Η μορφή iso έχει το ίδιο πρόβλημα με το ctime: η ώρα μπορεί να είναι ανακριβής όταν ένα σύστημα τίθεται σε κατάσταση αναστολής λειτουργίας και επαναφέρεται.
Το --time-format μπορεί να χρησιμοποιηθεί πολλές φορές με διαφορετικές τιμές για τη μορφοποίηση, ώστε να εξάγει κάθε καθορισμένη μορφή.
Το delta εμφανίζεται πάντα μετά το ctime ή το raw, εάν καθοριστούν μαζί.
-u, --userspace
Εμφάνιση μηνυμάτων χώρου χρήστη.
-w, --follow
Αναμονή για νέα μηνύματα. Αυτή η λειτουργία υποστηρίζεται μόνο σε συστήματα με ένα αναγνώσιμο /dev/kmsg (από την έκδοση του πυρήνα 3.5.0).
-W, --follow-new
Αναμονή και εμφάνιση μόνο νέων μηνυμάτων.
-x, --decode
Αποκωδικοποίηση των αριθμών εγκαταστάσεων και επιπέδων (προτεραιότητας) σε αναγνώσιμες από τον άνθρωπο επικεφαλίδες.
-h, --help
Εμφάνιση κειμένου βοήθειας και έξοδος.
-V, --version
Εμφάνιση έκδοσης και έξοδος.
ΧΡΩΜΑΤΑ
Η χρωματική σήμανση της εξόδου υλοποιείται από τη λειτουργικότητα terminal-colors.d(5). Η σιωπηρή χρωματική σήμανση μπορεί να απενεργοποιηθεί με ένα κενό αρχείο
/etc/terminal-colors.d/dmesg.disable
για την εντολή dmesg ή για όλα τα εργαλεία μέσω
/etc/terminal-colors.d/disable
Από την έκδοση 2.41, υποστηρίζεται επίσης η μεταβλητή περιβάλλοντος $NO_COLOR για την απενεργοποίηση της χρωματικής σήμανσης της εξόδου, εκτός εάν ενεργοποιηθεί ρητά από μια επιλογή γραμμής εντολών.
Ο κατάλογος $XDG_CONFIG_HOME/terminal-colors.d ή $HOME/.config/terminal-colors.d αντικαθιστά την καθολική ρύθμιση.
Σημειώστε ότι η χρωματική σήμανση της εξόδου μπορεί να είναι ενεργοποιημένη από προεπιλογή και, σε αυτήν την περίπτωση, οι κατάλογοι terminal-colors.d δεν χρειάζεται να υπάρχουν ακόμη.
Τα λογικά ονόματα χρωμάτων που υποστηρίζονται από το dmesg είναι:
subsys Το πρόθεμα υποσυστήματος μηνυμάτων (π.χ. "ACPI:").
time
Η χρονική σήμανση μηνυμάτων.
timebreak
Η χρονική σήμανση μηνυμάτων σε σύντομη μορφή ctime στην έξοδο --reltime ή --human.
alert
Το κείμενο του μηνύματος με την προτεραιότητα καταγραφής ειδοποίησης.
crit
Το κείμενο του μηνύματος με την κρίσιμη προτεραιότητα καταγραφής.
err
Το κείμενο του μηνύματος με την προτεραιότητα καταγραφής σφάλματος.
warn
Το κείμενο του μηνύματος με την προτεραιότητα καταγραφής προειδοποίησης.
segfault
Το κείμενο του μηνύματος που ενημερώνει για σφάλμα τμηματοποίησης.
ΚΑΤΑΣΤΑΣΗ ΕΞΟΔΟΥ
Το dmesg μπορεί να αποτύχει και να αναφέρει σφάλμα άρνησης άδειας. Αυτό συνήθως προκαλείται από τη ρύθμιση dmesg_restrict του πυρήνα, ανατρέξτε στο syslog(2) για περισσότερες λεπτομέρειες.
ΣΥΓΓΡΑΦΕΙΣ
Karel Zak <_>
Το dmesg γράφτηκε αρχικά από τον Theodore Ts’o <_>.
ΔΕΙΤΕ ΕΠΙΣΗΣ
terminal-colors.d(5), syslogd(8)
ΑΝΑΦΟΡΑ ΣΦΑΛΜΑΤΩΝ
Για αναφορές σφαλμάτων, χρησιμοποιήστε το σύστημα παρακολούθησης προβλημάτων [https://github.com/util-linux/util-linux/issues].
ΔΙΑΘΕΣΙΜΟΤΗΤΑ
Η εντολή dmesg είναι μέρος του πακέτου util-linux, το οποίο μπορεί να ληφθεί από το Linux Kernel Archive [https://www.kernel.org/pub/linux/utils/util-linux/].