Verificar los detalles de la contaminación (taint) en dmesg
En el paso anterior, verificamos el estado de contaminación (taint) del kernel utilizando /proc/sys/kernel/tainted
. Si bien ese archivo nos da un código numérico que indica si el kernel está contaminado, no nos dice por qué está contaminado. Para obtener información más detallada sobre los mensajes del kernel, incluyendo las razones de la contaminación, podemos utilizar el comando dmesg
.
El comando dmesg
se utiliza para examinar el buffer circular del kernel. Este buffer almacena mensajes del kernel, incluyendo información de controladores de dispositivos, errores y advertencias. Cuando el kernel se contamina, generalmente se registra un mensaje en el buffer circular explicando la razón.
Abre tu terminal si no está abierta.
Ahora, escribe el siguiente comando y presiona Enter:
dmesg
Este comando generará una cantidad potencialmente grande de texto, mostrando todos los mensajes del kernel desde que se inició el sistema.
Para encontrar información específica relacionada con la contaminación, podemos combinar dmesg
con el comando grep
. grep
es una herramienta poderosa para buscar patrones de texto. Buscaremos líneas que contengan la palabra "taint".
Escribe el siguiente comando y presiona Enter:
dmesg | grep taint
El símbolo |
se llama tubería (pipe). Toma la salida del comando de la izquierda (dmesg
) y la envía como entrada al comando de la derecha (grep
). Entonces, este comando primero obtiene todos los mensajes del kernel y luego los filtra para mostrar solo las líneas que contienen la palabra "taint".
Si tu kernel no está contaminado (como se espera en este entorno), este comando puede no producir ninguna salida. Esto es normal y indica que no se han registrado eventos de contaminación.
Si el kernel estuviera contaminado, verías líneas similares a esta (el mensaje exacto depende de la razón de la contaminación):
[ ... ] kernel: Linux version ... (tainted: G)
[ ... ] kernel: Disabling lock debugging due to kernel taint
La parte (tainted: G)
indica que el kernel está contaminado, y la letra G
específicamente significa que se cargó un módulo propietario. Otras letras indican diferentes razones de contaminación (por ejemplo, P
para módulo propietario, F
para carga forzada de módulo, R
para módulo con licencia restringida, etc.).
Utilizar dmesg | grep taint
es un paso crucial para diagnosticar problemas del kernel cuando /proc/sys/kernel/tainted
muestra un valor distinto de cero.
Haz clic en Continuar para continuar.