Nedávno jsem měl nějaké potíže s bezdrátovou kartou a online fórum navrhlo vyhledat dmesg
s grep firmware
. To pomohlo, byl jsem schopen okamžitě najít problém! Předchozí hodinu jsme však strávili prohlížením dmesg
a kvůli obrovskému množství informací jsem nemohl identifikovat nic relevantního!
Jak v dmesg ví, na co grep?
Jistě, šlo o hardwarový problém, ale mě samotného by nikdy nenapadlo sáhnout po řetězci „firmware“. Pro někoho ne důvěrně obeznámeni s výstupem dmesg
, jak bych mohl kvalifikovaně odhadnout, na co sáhnout?
Přijatá odpověď:
Něco takového by bylo užitečné:
dmesg | grep -iC 3 "what you are looking for"
Pokud například hledáte grafickou kartu, můžete zkusit:
dmesg | grep -iC 3 "video"
Nebo:
dmesg | grep -iC 3 "graphics"
C 3
flag vytiskne 3 řádky před a za odpovídajícím řetězcem, jen aby vám poskytl nějaký kontext o tom, jaké jsou výsledky. Ale jak řekl @tohecz, možností jsou tisíce.
Vše závisí na tom, co hledáte… zvuk, wifi, usb, sériový, čtečka… .
Pokud očekáváte, že se tam objeví klíč USB, můžete zkusit grepping pro /dev/sd
.
Právě jsem našel tuto stránku, která obsahuje dobré rady, jak tam vložit věci:
Kvůli délce výstupu
dmesg
, může být vhodné
jeho výstup přesměrovat do grep, filtru, který hledá všechny řádky, které
obsahují řetězec (tj. sekvenci znaků) za ním.-i
Volba může být použita k tomu, aby řekl grep, aby ignoroval velká a malá písmena (tj. malá
nebo velká písmena) písmen v řetězci. Například
následující příkaz uvádí všechny odkazy naUSB
(univerzální sériová sběrnice)
zařízení ve zprávách jádra:dmesg | grep -i usb
A následující říká dmesg, aby zobrazil všechny sériové porty (které jsou
reprezentovány řetězcem tty):dmesg | grep -i tty
Kombinaci dmesg a grep lze také použít k zobrazení toho, kolik
fyzické paměti (tj. RAM) je v systému k dispozici:dmesg | grep -i memory
Následující příkaz zkontroluje, zda HDD(y) běží v režimu
DMA (přímý přístup do paměti):dmesg | grep -i dma