#comandodmesg
Explore tagged Tumblr posts
Text
Uso del comando dmesg con ejemplos
Uso del comando dmesg con ejemplos, en sistemas basados en Linux / Unix. Al iniciar un sistema Linux, el kernel identifica los dispositivos de hardware disponibles en el sistema. A medida que el kernel los va detectando e identificando, se generan unos registros que se escriben en un buffer (en anillo) del Kernel. Este buffer en anillo, también conocido como buffer cíclico o circular, es específico para manejar el registro interno del Kernel. Saber leer este registro es importante, pues más de una vez puede salvar tu sistema. Recuerda que como en cualquier registro, en este también se guardan los errores. Con el comando dmesg no solo podrás ver todo el registro, sino que además podrás identificar de manera simple los errores por tipo, algo especialmente útil para nosotros. Vemos cómo se trabaja con este comando.
Uso de dmesg
Uso del comando dmesg con ejemplos
Su forma de uso simple, imprime el buffer al completo. dmesg Ejemplo de salida. sergio@sololinux:~$ dmesg Linux version 5.4.0-81-generic (buildd@lgw01-amd64-051) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #91~18.04.1-Ubuntu SMP Fri Jul 23 13:36:29 UTC 2021 (Ubuntu 5.4.0-81.91~18.04.1-generic 5.4.128) Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-81-generic root=UUID=77674f63-7f05-4b96-a2aa-125cd616afcb ro fsck.mode=force fsck.repair=yes KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD Hygon HygonGenuine Centaur CentaurHauls zhaoxin Shanghai x86/fpu: x87 FPU will use FXSAVE BIOS-provided physical RAM map: BIOS-e820: usable BIOS-e820: ACPI NVS BIOS-e820: usable BIOS-e820: reserved BIOS-e820: usable BIOS-e820: reserved BIOS-e820: usable BIOS-e820: reserved BIOS-e820: ACPI NVS BIOS-e820: ACPI data BIOS-e820: usable BIOS-e820: reserved BIOS-e820: reserved BIOS-e820: reserved BIOS-e820: usable NX (Execute Disable) protection: active e820: update usable ==> usable e820: update usable ==> usable extended physical RAM map: reserve setup_data: usable reserve setup_data: ACPI NVS etc........etc............................. Si prefieres imprimir sin formato... dmesg -r Imagen de ejemplo.
Salida de dmesg sin formato Cuando tienes errores, lo recomendable es que apliques los filtros que vienen incorporados con el comando. Así podrás identificar el error, de forma sencilla y rápida. Los filtros disponibles son los siguientes: - emerg - Error que impide el funcionamiento del sistema correctamente. - alert - Error que requiere intervención inmediata. - crit - Sistema bajo condiciones críticas. - err - Sistema bajo condiciones de error. - warn - Advertencias del sistema. - debug - Advertencias de depuración. - notice - Condiciones normales, pero debes prestar atención al aviso. - info - Información general. Estos filtros de mensajes, los debes usar con esta sintaxis... dmesg --level=alert, Ejemplos de uso. dmesg --level=alert,emerg ## dmesg --level=alert,alert ## dmesg --level=alert,err ## dmesg --level=alert,crit ## dmesg --level=alert,warn ## dmesg --level=alert,debug ## dmesg --level=alert,notice ## dmesg --level=alert,info Imagen con ejemplos de uso, en el que podemos observar una serie de errores y alertas. Tendremos que revisar que sucede, aunque en realidad es una vieja tarjeta SD (no me preocupa mucho).
Ejemplos de dmesg con filtros También tienes la opción de imprimir el buffer y, posteriormente borrar el ciclo del anillo. dmesg -c Ejemplo... sergio@sololinux:~$ dmesg -c usb 1-4: USB disconnect, device number 10 usb 1-4: new high-speed USB device number 11 using xhci_hcd usb 1-4: New USB device found, idVendor=0bda, idProduct=0177, bcdDevice=77.11 usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-4: Product: USB2.0-CRW usb 1-4: Manufacturer: Generic usb 1-4: SerialNumber: 20121112761000000 ums-realtek 1-4:1.0: USB Mass Storage device detected scsi host2: usb-storage 1-4:1.0 scsi 2:0:0:0: Direct-Access Generic- SD/MMC/MS PRO 1.00 PQ: 0 ANSI: 4 scsi 2:0:0:0: Attached scsi generic sg1 type 0 sd 2:0:0:0: 1950720 512-byte logical blocks: (999 MB/953 MiB) sd 2:0:0:0: Write Protect is off sd 2:0:0:0: Mode Sense: 2f 00 00 00 sd 2:0:0:0: Write cache: disabled, read cache: enabled, doesn't support DPO or FUA sdb: sdb1 sd 2:0:0:0: Attached SCSI removable disk dmesg: fallo al leer el «buffer» del núcleo: Operación no permitida sergio@sololinux:~$ Ahora especificamos el dispositivo del cual quieres ver los mensajes, en nuestro caso USB. dmesg | grep -i usb
Avisos de los dispositivos USB Si tienes problemas con el anillo, puedes probar a reducir o aumentar su tamaño. dmesg -s 1024 Es evidente, que este comando tiene muchas más opciones y filtros. Si quieres aprender más sobre él, revisa su manual integrado en consola. man dmesg Canales de Telegram: Canal SoloLinux – Canal SoloWordpress Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Chat de SoloLinux en Telegram Read the full article
0 notes
Text
Uso del comando dmesg en linux
Uso del comando dmesg en linux. El comando dmesg (diagnostic message / mensajes de diagnóstico), es una herramienta exclusiva de sistemas basados en Unix con la capacidad de listar los avisos temporales generados por el kernel. Estos avisos se guardan en lo que se conoce como buffer, y contiene los mensajes más importantes que se generaron al iniciar el sistema (también los cambios durante su funcionamiento), por ejemplo de los drivers y el hardware. Estos (normalmente) se guardan mediante "syslog", siendo dmesg la herramienta con capacidad de de leer e imprimir (en formato humano) los avisos del kernel. Poder examinar los mensajes de arranque del núcleo, te ayudaran a solucionar problemas relacionados con el hardware. En este articulo vemos los conceptos principales que debes conocer de "dmesg".
Uso del comando dmesg en linux
Uso básico de dmesg La sintaxis de dmesg es muy simple. dmesg No es obligatorio que apliques opciones, lo puedes ejecutar tal cual. dmesg Normalmente esta herramienta se ejecuta sobre cualquier usuario, si por un extraño caso no te permite su uso en usuarios sin permisos, recibirás un mensaje similar a: dmesg: read kernel buffer failed: Operation not permitted El error anterior se produce por el ajuste del parámetro "kernel.dmesg_restrict". Solucionamos el problemas ajustando los privilegios. sudo sysctl -w kernel.dmesg_restrict=0 La salida impresa del comando puedes ser muy larga, y esto dificulta su lectura. Para ver el archivo linea por linea... dmesg --color=always | more La herramienta dmesg nos permite filtrar los mensajes por dispositivo. En nuestro caso y a modo de ejemplo, extraemos un pendrive usb y un raton usb, pasados unos segundos los insertamos de nuevo. dmesg | grep -i usb ejemplo... sololinux ~ # dmesg | grep -i usb usb 2-2: USB disconnect, device number 3 usb 3-1: new low-speed USB device number 2 using uhci_hcd usb 3-1: New USB device found, idVendor=046d, idProduct=c077 usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 3-1: Product: USB Optical Mouse usb 3-1: Manufacturer: Logitech input: Logitech USB Optical Mouse as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/0003:046D:C077.0004/input/input14 hid-generic 0003:046D:C077.0004: input,hidraw2: USB HID v1.11 Mouse on usb-0000:00:1d.1-1/input0 usb 1-2: new high-speed USB device number 5 using ehci-pci usb 1-2: New USB device found, idVendor=13fe, idProduct=4200 usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-2: Product: USB DISK 2.0 usb 1-2: SerialNumber: C900589889F91731 usb-storage 1-2:1.0: USB Mass Storage device detected scsi host2: usb-storage 1-2:1.0 usbcore: registered new interface driver usb-storage usbcore: registered new interface driver uas scsi 2:0:0:0: Direct-Access USB DISK 2.0 PMAP PQ: 0 ANSI: 6 Formatear la salida de dmesg Dmesg nos permite aplicar opciones de formateo para que visualmente sea más comprensible. La más utilizada es la salida para humanos, opción -H. dmesg -H Para imprimir los tiempos... dmesg -T ejemplo... usb 1-2: new high-speed USB device number 5 using ehci-pci usb 1-2: New USB device found, idVendor=13fe, idProduct=4200 usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Las marcas de tiempo admiten varios formatos al hacer uso de "--time-format". Se admiten los siguientes: ctime reltime notime delta iso En el ejemplo aplicamos "iso". dmesg --time-format=iso salida en iso... 2020-02-10T08:05:39,936151+0200 usb 2-2: USB disconnect, device number 3 2020-02-10T08:06:06,948110+0200 usb 3-1: new low-speed USB device number 2 using uhci_hcd 2020-02-10T08:06:07,144136+0200 usb 3-1: New USB device found, idVendor=046d, idProduct=c077 Comando dmesg en tiempo real. dmesg -w Aplicando varias opciones a la vez. dmesg -H -T Filtrar la salida de dmesg Se permite filtrar los mensajes por quien los genero, en este caso las opciones son las siguientes: user - mensajes a nivel de usuario kern - mensajes del kernel daemon - demonios del sistema auth - mensajes de seguridad y permisos mail - sistema de correos lpr - impresoras en línea news - novedades de la red syslog - avisos internos de syslogd Para lograr el objetivo utilizamos "-f", que ademas nos permite especificar varios filtros (si es necesario). # mensajes de usuario dmesg -f user # mensajes de usuario, kernel y demonios dmesg -f user,kern,daemon Otra opción de filtrado es por importancia del aviso, vemos las opciones por orden de importancia. emerg - error critico del sistema alert - debes solucionar el error rápidamente o el sistema entrara en modo "emerg" crit - en entorno esta en condiciones críticas err - errores warn - advertencias notice - el sistema es normal pero pon atención a este punto info - nota informativa debug - avisos de depuración Para lograr el objetivo utilizamos "-l", que ademas nos permite especificar varios filtros (si es necesario). # mensajes de emergencia dmesg -l emerg # mensajes de emergencia, de alerta y críticos dmesg -l emerg,alert,crit Borrar los mensajes del buffer A diferencia de la lectura de mensajes, para borrar todos los mensajes debes ser root o usuario con privilegios. Antes de vaciar todos los avisos, existe la opción de imprimir en pantalla y borrar, así los borras y visualizas a la vez. sudo dmesg -c Si quieres borrar todo sin imprimir nada... sudo dmesg -C Como ultimo apunte del articulo, dmesg también permite guardar los avisos en un archivo antes de borrarlo por completo. dmesg > dmesg_messages Existen más opciones que puedes ver en su manual al ejecutar el siguiente comando. man dmesg Canales de Telegram: Canal SoloLinux – Canal SoloWordpress Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Read the full article
#comandodmesg#dmesg#driversyelhardware#herramientadmesg#kernel.dmesg_restrict#problemasrelacionadosconelhardware#serroot#sistemasbasadosenUnix
0 notes