Како користити команду дмесг на Линуку

Команда дмесг вам омогућава да завирите у скривени свет процеса покретања Линук-а. Прегледајте и надгледајте поруке хардверског уређаја и драјвера из сопственог бафера прстена језгра са „пријатељем проналазача грешака“.

Како функционише Линук бафер прстена

У рачунарима сличним Линук-у и Уник-у, покретање и покретање су две различите фазе низа догађаја који се дешавају када је рачунар укључен.

Процеси покретања (БИОС или УЕФИ, МБР, и ГРУБ) одведите иницијализацију система до тачке у којој се кернел учитава у меморију и повезује са почетним рам диском (инитрд или инитрамфс), и системд је покренут.

Процеси покретања затим преузимају палицу и завршавају иницијализацију оперативног система. У врло раним фазама иницијализације, демони за евидентирање као нпр сислогд или рсислогд још нису покренути. Да би се избегло губљење значајних порука о грешци и упозорења из ове фазе иницијализације, кернел садржи а прстенасти бафер коју користи као складиште порука.

Бафер прстена је меморијски простор резервисан за поруке. Једноставног је дизајна и фиксне величине. Када се напуни, новије поруке замењују најстарије поруке. Концептуално се може замислити као „кружни тампон.”

Прстен бафер језгра чува информације као што су поруке о иницијализацији драјвера уређаја, поруке са хардвера и поруке од модула кернела. Пошто садржи ове поруке о покретању ниског нивоа, бафер прстена је добро место за почетак истраге о хардверским грешкама или другим проблемима при покретању.

Али немојте ићи празних руку. Понесите дмесг са собом.

Команда дмесг

Команда дмесг вам дозвољава да прегледате поруке које су ускладиштене у баферу звона. Подразумевано, морате да користите судо да бисте користили дмесг.

sudo dmesg

Све поруке у баферу прстена су приказане у прозору терминала.

То је био потоп. Очигледно, оно што треба да урадимо је да прође кроз мање:

sudo dmesg | less

Сада можемо да скролујемо кроз поруке тражећи предмете од интереса.

Можете да користите функцију претраге унутар мање да бисте лоцирали и истакли ставке и термине који вас занимају. Покрените функцију претраге притиском на тастер са косом цртом унапред „/” у мање.

  Како деблокирати некога на ТикТок-у

Уклањање потребе за судо

Ако желите да избегнете да користите судо сваки пут када користите дмесг, можете користити ову команду. Али, имајте на уму: омогућава свакоме ко има кориснички налог на вашем рачунару да користи дмесг без потребе да користи судо.

sudo sysctl -w kernel.dmesg_restrict=0

Форцинг Цолор Оутпут

Подразумевано, дмесг ће вероватно бити конфигурисан да производи обојени излаз. Ако није, можете рећи дмесг-у да обоји свој излаз користећи опцију -Л (боја).

sudo dmesg -L

Да бисте натерали дмесг да увек подразумевано користи обојени екран, користите ову команду:

sudo dmesg --color=always

Људске временске ознаке

Подразумевано, дмесг користи нотацију временске ознаке у секундама и наносекунде откако је кернел покренут. Да бисте ово приказали у формату који је прилагођенији људима, користите опцију -Х (људски).

sudo dmesg -H

Ово узрокује да се догоде две ствари.

Излаз се аутоматски приказује у мање.
Временске ознаке приказују временску ознаку са датумом и временом, са минутном резолуцијом. Поруке које су се јавиле у сваком минуту означене су секундама и наносекундама од почетка тог минута.

Људски читљиве временске ознаке

Ако вам није потребна тачност у наносекундама, али желите временске ознаке које су лакше за читање од подразумеваних, користите опцију -Т (читљиво за људе). (Мало је збуњујуће. -Х је „људски“ опција, -Т је „људски читљива“ опција.)

sudo dmesg -T

Временске ознаке се приказују као стандардни датуми и времена, али је резолуција смањена на минут.

Све што се догодило у једном минуту има исту временску ознаку. Ако вам смета само редослед догађаја, ово је довољно добро. Такође, имајте на уму да сте враћени на командну линију. Ова опција не позива аутоматски мање.

Гледање догађаја уживо

Да бисте видели поруке како стигну у бафер прстена језгра, користите опцију –фоллов (чекајте поруке). Та реченица може изгледати мало чудно. Ако се бафер прстена користи за чување порука из догађаја који се дешавају током секвенце покретања, како живе поруке могу стићи у бафер прстена када се рачунар покрене и ради?

Све што проузрокује промену у хардверу повезаном са вашим рачунаром довешће до слања порука у бафер прстена језгра. Ажурирајте или додајте модул кернела и видећете поруке бафера прстена о тим променама. Ако прикључите УСБ диск или повежете или искључите Блуетоотх уређај, видећете поруке у дмесг излазу. Чак и виртуелни хардвер ће узроковати појављивање нових порука у баферу прстена. Покрените виртуелну машину и видећете нове информације које стижу у бафер прстена.

sudo dmesg --follow

Имајте на уму да се не враћате на командну линију. Када се појаве нове поруке, дмесг их приказује на дну прозора терминала.

  Учините своју ВордПресс претрагу моћном уз Алголиа и још 9 других

Чак се и монтирање ЦД-РОМ диска сматра променом, јер сте садржај ЦД-РОМ диска накалемили на стабло директоријума.

Да бисте изашли из фида у реалном времену, притисните Цтрл+Ц.

Преузми последњих десет порука

Користите команду реп да поврати последњих десет поруке бафера прстена језгра. Наравно, можете преузети било који број порука. Десет је само наш пример.

sudo dmesg | last -10

Последњих десет порука се преузимају и наводе у прозору терминала.

Тражење одређених термина

Проведите излаз из дмесг-а кроз греп за тражење одређених низова или образаца. Овде користимо опцију -и (занемари велика и мала слова) тако да се занемарује велика и мала слова одговарајућих стрингова. наши резултати ће укључивати „усб“ и „УСБ“ и било коју другу комбинацију малих и великих слова.

sudo dmesg | grep -i usb

Истакнути резултати претраге су написани великим и малим словима.

Можемо изоловати поруке које садрже референце на прву СЦСИ хард диск на системском СДА. (Заправо, сда се данас користи и за први САТА чврсти диск, и за УСБ дискове.)

sudo dmesg | grep -i sda

Све поруке које помињу сда се преузимају и наводе у прозору терминала.

Да бисте направили греп претрагу за више појмова одједном, користите опцију -Е (прошири регуларни израз). Морате да наведете термине за претрагу унутар стринга под наводницима са цеви „|” граничници између термина за претрагу:

sudo dmesg | grep -E "memory|tty|dma"

судо дмесг |  греп -Е

Свака порука која помиње било који од термина за претрагу је наведена у прозору терминала.

излаз из судо дмесг |  греп -Е

Коришћење нивоа евиденције

Свака порука евидентирана у баферу прстена језгра има везан ниво. Ниво представља важност информација у поруци. Нивои су:

емерге: Систем је неупотребљив.
упозорење: Акција се мора предузети одмах.
црит: Критични услови.
ерр: Услови грешке.
упозорити: Услови упозорења.
Напомена: Нормално, али значајно стање.
инфо: Информативно.
отклањање грешака: поруке на нивоу отклањања грешака.

  Како користити Енханце Диалогуе на Аппле ТВ-у и ХомеПод-у

Можемо да направимо дмесг екстракт поруке које одговарају одређеном нивоу коришћењем опције -л (ниво) и прослеђивањем имена нивоа као параметра командне линије. Да бисте видели само поруке „информативног“ нивоа, користите ову команду:

sudo dmesg -l info

Све поруке које су наведене су информативне поруке. Не садрже грешке или упозорења, само корисна обавештења.

Комбинујте два или више нивоа евиденције у једној команди да бисте преузели поруке са неколико нивоа евиденције:

sudo dmesg -l debug,notice

Излаз из дмесг-а је мешавина порука сваког нивоа дневника:

Категорије објеката

Дмесг поруке су груписане у категорије које се називају „објекат“. Списак објеката је:

керн: Поруке језгра.
корисник: Поруке на нивоу корисника.
пошта: Систем поште.
демон: Системски демони.
аутх: Сигурносне/ауторизационе поруке.
сислог: Интерне сислогд поруке.
лпр: Подсистем линијског штампача.
вести: Мрежни подсистем вести.

Можемо тражити од дмесг-а да филтрира свој излаз тако да приказује само поруке у одређеном објекту. Да бисмо то урадили, морамо користити опцију -ф (фацилити):

sudo dmesg -f daemon

дмесг наводи све поруке које се односе на демоне у прозору терминала.

Као што смо урадили са нивоима, можемо да тражимо од дмесг-а да наведе поруке из више од једног објекта одједном:

sudo dmesg -f syslog, daemon

Излаз је мешавина сислог и демон порука дневника.

Комбиновање објекта и нивоа

Опција -к (декодирање) чини да дмесг приказује објекат и ниво као човеку читљиве префиксе за сваки ред.

sudo dmesg -x

Објекат и ниво се могу видети на почетку сваког реда:

Први истакнути одељак је порука из „кернел“ могућности са нивоом „обавештења“. Други истакнути одељак је порука из „кернел“ објекта са нивоом „информација“.

То је сјајно, али зашто?

Укратко, проналажење кварова.

Ако имате проблема са делом хардвера који није препознат или се не понаша исправно, дмесг може бацити мало светла на проблем.

Користите дмесг да прегледате поруке од највишег нивоа до сваког нижег нивоа, тражећи било какве грешке или упозорења која помињу хардверску ставку или могу имати утицаја на проблем.
Користите дмесг да бисте потражили било какво спомињање одговарајућег објекта да бисте видели да ли садрже корисне информације.
Проведите дмесг кроз греп и потражите повезане низове или идентификаторе као што су произвођач производа или бројеви модела.
Проведите дмесг кроз греп и потражите генеричке термине као што су „гпу“ или „стораге“, или термине као што су „фаилуре“, „фаилед“ или „унабле“.
Користите опцију –фоллов и гледајте дмесг поруке у реалном времену.

Срећан лов.