7 Using dmesg to read the kernel ring buffer
Cuprins:
- Folosind comanda
dmesg - Formarea ieșirii
dmesg - Filtrare ieșire
dmesg - Ștergerea tamponului de inel
- Concluzie
Nucleul Linux este nucleul sistemului de operare care controlează accesul la resursele sistemului, cum ar fi CPU, dispozitive I / O, memorie fizică și sisteme de fișiere. Nucleul scrie diverse mesaje în bufferul de apel al kernel-ului în timpul procesului de pornire și când sistemul este în funcțiune. Aceste mesaje includ diverse informații despre funcționarea sistemului.
Tamponul de inel al nucleului este o porțiune din memoria fizică care deține mesajele de jurnal ale nucleului. Are o dimensiune fixă, ceea ce înseamnă că, odată ce bufferul este complet, înregistrările de jurnale mai vechi sunt suprascrise.
Utilitatea liniei de comandă
dmesg
este utilizată pentru a imprima și controla bufferul inelului nucleului în Linux și în alte sisteme de operare similare Unix. Este util pentru examinarea mesajelor de pornire a kernel-ului și depanare a problemelor legate de hardware.
În acest tutorial, vom acoperi elementele de bază ale
dmesg
.
Folosind comanda
dmesg
Sintaxa pentru comanda
dmesg
este următoarea:
dmesg
Când este invocat fără nicio opțiune,
dmesg
scrie toate mesajele din bufferul de apel al kernelului la ieșirea standard:
dmesg
În mod implicit, toți utilizatorii pot rula comanda
dmesg
. Cu toate acestea, pe unele sisteme, accesul la
dmesg
poate fi restricționat pentru utilizatorii non-root. În această situație, atunci când invocați
dmesg
veți primi un mesaj de eroare ca mai jos:
dmesg: read kernel buffer failed: Operation not permitted
Parametrul kernel
kernel.dmesg_restrict
specifică dacă utilizatorii neprivilegiați pot utiliza
dmesg
pentru a vizualiza mesaje din bufferul de jurnal al kernel-ului. Pentru a elimina restricțiile, setați-o la zero:
sudo sysctl -w kernel.dmesg_restrict=0
De obicei, ieșirea conține o mulțime de linii de informații, astfel încât numai ultima parte a ieșirii este vizualizabilă. Pentru a vedea o pagină simultan, conectați ieșirea la un utilitar pager, cum ar fi
less
sau
more
:
dmesg --color=always | less
--color=always
este folosit pentru a păstra rezultatul colorat.
dmesg | grep -i usb
dmesg
citește mesajele generate de kernel din
/proc/kmsg
virtual
/proc/kmsg
. Acest fișier oferă o interfață cu tamponul de inel al nucleului și poate fi deschis doar de un singur proces. Dacă procesul
syslog
se execută pe sistemul dvs. și încercați să citiți fișierul cu
cat
, sau
less
, comanda va atârna.
Daemon
syslog
aruncă mesajele kernel-ului la
/var/log/dmesg
, astfel încât să puteți utiliza și acel fișier jurnal:
Formarea ieșirii
dmesg
Comanda
dmesg
oferă o serie de opțiuni care vă ajută să formatați și să filtrați ieșirea.
Una dintre cele mai utilizate opțiuni ale
dmesg
este
-H
(
--human
uman), care permite ieșirea care poate fi citită de om. Această opțiune conectează ieșirea comenzii într-un pager:
dmesg -H
Pentru a imprima timestamp-urile care pot fi citite de om, utilizați opțiunea
-T
(
--ctime
):
dmesg -T
IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
Formatul timestamps poate fi, de asemenea, setat folosind
--time-format
dmesg --time-format=delta
De asemenea, puteți combina două sau mai multe opțiuni:
dmesg -H -T
Pentru a urmări ieșirea
dmesg
în timp real, utilizați opțiunea
-w
(
--follow
):
Filtrare ieșire
dmesg
Puteți restricționa ieșirea
dmesg
la facilitățile și nivelurile date.
Facilitatea reprezintă procesul care a creat mesajul.
dmesg
acceptă următoarele facilități de jurnal:
-
kern- kernel mesajeuser- mesaje la nivel de utilizatormail- mail sistemdaemon- sistem daemonsauth- mesaje de securitate / autorizaresyslog- intern syslogd messageslpr- linie subsistem imprimantănews- subsistem denewsrețea
-f
(
--facility
) opțiunea vă permite să limitați producția la anumite facilități. Opțiunea acceptă una sau mai multe facilități separate prin virgulă.
De exemplu, pentru a afișa doar mesajele de demoni de kernel și sistem pe care le-ați folosi:
dmesg -f kern, daemon
Fiecare mesaj de jurnal este asociat cu un nivel de jurnal care arată importanța mesajului.
dmesg
acceptă următoarele niveluri de jurnal:
-
emerg- sistemul estealertinutilizabil - acțiunile trebuie luate imediatcrit- condițiile criticeerr- condițiile de eroarewarn- avertizarea condițiilor de avertizare - informațiiinfocondiții normale, dar semnificative -debuginformațională - mesaje la nivel de depanare
-l
(
-l
--level
) opțiunea restricționează ieșirea la niveluri definite. Opțiunea acceptă unul sau mai multe niveluri separate prin virgulă.
Următoarea comandă afișează numai mesajele de eroare și critice:
Ștergerea tamponului de inel
Opțiunea
-C
(
--clear
) vă permite să ștergeți bufferul de apel:
sudo dmesg -C
Doar root sau utilizatorii cu privilegii sudo pot șterge bufferul.
Pentru a imprima conținutul bufferului înainte de ștergere, utilizați opțiunea
-c
(
--read-clear
):
sudo dmesg -c
Concluzie
Comanda
dmesg
vă permite să vizualizați și să controlați tamponul de inel al nucleului. Poate fi foarte util atunci când depanați nucleul sau problemele hardware.
Introduceți
man dmesg
în terminalul dvs. pentru informații despre toate opțiunile
dmesg
disponibile.
Utilizați linia de comandă cu comandă
Integrați linia de comandă, interfața grafică și o limbă puternică cu pachetul de instrumente Take Command. > Nu-ți place când vânezi un program pe care trebuie să-l faci, să-l găsești, și apoi să descoperi că face mai mult? Am găsit Command Command (100 $, încercare gratuită de 30 de zile) după ce am fost frustrat de linia de comandă necorespunzătoare din Windows. Am descoperit că mi-a dat ce vroiam și multe lucruri pe care nu știam că le-am vrut - dar acum cu siguranță o fac.
Comanda Chmod în linux (fișiere permisiuni)
În Linux, accesul la fișiere este gestionat prin permisiunile, atributele și proprietatea. Acest tutorial acoperă modul de utilizare a comenzii chmod pentru a modifica permisiunile de acces ale fișierelor și directoarelor.
Comanda Chgrp în linux (schimbare grup)
În Linux, fiecare fișier este asociat cu un proprietar și un grup și are permisiuni care determină utilizatorii care pot citi, scrie sau executa fișierul. Comanda chgrpc modifică proprietatea grupului de fișiere date.







