Използване на dmesg на Linux
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
може да бъде много полезен инструмент за системни администратори. Опитайте се да видите какво можете да научите за вашата система. Ако имате някакви въпроси, попитайте ги в секцията за коментари и ще видим дали можем да помогнем.