Linux ядрото е сложно инженерство. От режима на зареждане до ниво 5 на ниво много нива, Linux ядрото инициализира и управлява ресурсите на компютъра, включително процесора, паметта, мрежата, видео изхода и локалното хранилище. Тъй като ядрото работи с всички тези различни подсистеми и ресурси, той регистрира различни съобщения на високо ниво, за да позволи на системните администратори да знаят какво прави. Тези съобщения могат да се видят с командата " dmesg ". Проблемът е, че изходът от ядрото може да изглежда сложен и неразбираем за необучени очи. Въпреки това, с малко помощ за разбирането на основите, командата " dmesg " може да се превърне в много мощен инструмент в набор от инструменти на системния администратор.

ботуш

Най-бързият начин да научите за съобщенията на ядрото е да разгледате първите няколко реда от процеса на зареждане. За да видите първата страница на изхода, използвайте следната команда:

 dmesg | по-малко 

Първите три реда са вероятно за инициализирането на "контролните групи" за процесора. Това не са толкова интересни, освен ако не сте хакер на ядрото. Обаче следващият ред е много важен. Това ще ви каже коя версия на ядрото на Linux използвате.

Изходът на моята тестова машина гласи:

 Linux версия 3.13.0-24-generic (buildd @ roseapple) (gcc версия 4.8.2 (Ubuntu 4.8.2-19ubuntu1)) # 46-Ubuntu SMP Чет Апр 10 19:08:14 UTC 2014 (Ubuntu 3.13.0- 24.46-общо 3.13.9) 

Това, което ми казва, е, че моята тестова машина работи с ядрото на Linux 3.13, което бе съставено от Ubuntu на 10 април 2014 г.

Следващите 80 до 100 реда са всички подробности за ниското ниво на BIOS, процесора и паметта. Следващият важен ред е обобщението на системната памет. Винаги започва с "Памет:". На моята тестова машина продукцията е:

 Памет: 1525720K / 1572408К на разположение (6507K код на ядрото, 641K rwdata, 2752K родатите, 872K init, 924K bss, 46688K запазени, 659400K highmem) 

Номерът след наклонена черта е общото количество системна памет, достъпна за ядрото на Linux, в този случай 1.5GB. В този момент Linux почти приключи да гледа процесора и паметта и скоро ще насочи вниманието си към останалата част от устройството, включително видеото, USB портовете, твърдите дискове и т.н.

Откриване на хардуер

Изходът на ядрото също е чудесен начин да откриете как взаимодейства Linux с хардуера във вашия компютър. Например, за да откриете кои твърди дискове разпознае ядрото, можете да търсите в съобщенията за ключовата дума "sda". За да направите това, използвайте " grep " по следния начин:

 dmesg | grep sda 

"Sda" е името, дадено на първия SATA твърд диск, "sdb" е вторият SATA твърд диск и т.н. Ако не намерите дисковете под "sda", "sdb" и т.н., опитайте "hda", "hdb" и т.н.

За да получите информация за мрежовата карта, потърсете "eth0", например:

 dmesg | grep eth0 

На моята тестова машина една от линиите на продукцията, свързана с eth0, показва:

 e1000 0000: 00: 03.0 eth0: Връзка към мрежата Intel / PRO / 1000 

Това ми казва, че моята Ethernet карта е Intel PRO / 1000 (известна като e1000).

Ако поставите USB флаш устройство и искате да проверите дали е разпознато от ядрото и на кое име на устройството му е било присвоено, можете да видите последните няколко съобщения на ядрото, като използвате tail :

 dmesg | опашка -20 

В -20 казва tail да покаже последните 20 реда продукция от dmesg. Примерният изход показва, че флаш устройство от ADATA е било поставено в USB порта, има капацитет от 8 GB и че му е назначено името на устройството sdd .

dmesg може да бъде много полезен инструмент за системни администратори. Опитайте се да видите какво можете да научите за вашата система. Ако имате някакви въпроси, попитайте ги в секцията за коментари и ще видим дали можем да помогнем.