Cómo comprobar si un parámetro del kernel está configurado en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo comprobar si un parámetro del kernel está configurado en Linux. Exploraremos diferentes métodos para ver y verificar la configuración del kernel, que es fundamental para comprender y gestionar el comportamiento de tu sistema Linux.

Comenzarás listando todos los parámetros del kernel disponibles utilizando el comando sysctl -a. Luego, aprenderás cómo estos parámetros se representan como archivos dentro del sistema de archivos virtual /proc/sys y cómo comprobar parámetros específicos utilizando el comando cat. Finalmente, verificarás la configuración de los parámetros del kernel examinando el archivo /etc/sysctl.conf, que se utiliza para configuraciones persistentes.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/help("Command Assistance") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/echo -.-> lab-558867{{"Cómo comprobar si un parámetro del kernel está configurado en Linux"}} linux/help -.-> lab-558867{{"Cómo comprobar si un parámetro del kernel está configurado en Linux"}} linux/cat -.-> lab-558867{{"Cómo comprobar si un parámetro del kernel está configurado en Linux"}} end

Listar parámetros con sysctl -a

En este paso, exploraremos cómo ver los parámetros del kernel utilizando el comando sysctl. El kernel es el núcleo del sistema operativo Linux, que gestiona los recursos del sistema y proporciona servicios esenciales. Los parámetros del kernel son configuraciones que controlan el comportamiento del kernel.

El comando sysctl te permite ver y modificar estos parámetros del kernel en tiempo de ejecución. Para ver una lista completa de todos los parámetros del kernel disponibles, puedes utilizar la opción -a.

Abre tu terminal si no está abierta. Recuerda que puedes encontrar el icono de Xfce Terminal en el lado izquierdo de tu escritorio.

Escribe el siguiente comando y presiona Enter:

sysctl -a

Este comando mostrará una larga lista de parámetros, cada uno de los cuales representa una configuración específica del kernel. El formato de salida suele ser nombre_del_parámetro = valor.

Por ejemplo, podrías ver líneas como:

kernel.hostname = tu-nombre-de-host
kernel.ostype = Linux
kernel.osrelease = 5.15.0-*-generic
net.ipv4.ip_forward = 0
vm.swappiness = 60

No te preocupes por entender cada parámetro en este momento. El objetivo es ver la gran cantidad de configuraciones que potencialmente puedes inspeccionar y modificar.

Desplazarte por esta salida puede resultar abrumador. En el siguiente paso, aprenderemos cómo ver parámetros específicos.

Haz clic en Continuar para continuar.

Comprobar un parámetro específico en /proc/sys

En el paso anterior, vimos cómo sysctl -a lista todos los parámetros del kernel. Estos parámetros no son solo configuraciones abstractas; a menudo se representan como archivos dentro del directorio /proc/sys.

El sistema de archivos /proc es un sistema de archivos virtual que proporciona información sobre procesos y otra información del sistema. El subdirectorio /proc/sys contiene específicamente archivos que corresponden a los parámetros del kernel que viste con sysctl -a.

Veamos un parámetro específico, por ejemplo, kernel.hostname. En el sistema de archivos /proc/sys, esto corresponde al archivo /proc/sys/kernel/hostname.

Puedes usar el comando cat para ver el contenido de este archivo, que te mostrará el valor actual del parámetro kernel.hostname.

Escribe el siguiente comando en tu terminal y presiona Enter:

cat /proc/sys/kernel/hostname

Deberías ver el nombre de host de tu entorno LabEx, que probablemente sea tu-nombre-de-host o similar.

tu-nombre-de-host

Intentemos con otro. El parámetro net.ipv4.ip_forward controla si el sistema reenvía paquetes IPv4. Su archivo correspondiente es /proc/sys/net/ipv4/ip_forward.

Escribe el siguiente comando y presiona Enter:

cat /proc/sys/net/ipv4/ip_forward

La salida será 0 (el reenvío está deshabilitado) o 1 (el reenvío está habilitado).

0

Esto demuestra que puedes inspeccionar el valor actual de los parámetros del kernel leyendo los archivos correspondientes en /proc/sys. Aunque también puedes modificar estos parámetros escribiendo en estos archivos (con los permisos adecuados), el uso del comando sysctl es generalmente el método preferido y más seguro para cambiar los parámetros del kernel en tiempo de ejecución.

Haz clic en Continuar para pasar al siguiente paso.

Verificar la configuración con cat /etc/sysctl.conf

En los pasos anteriores, aprendimos cómo ver los parámetros del kernel utilizando sysctl -a y examinando archivos en /proc/sys. Si bien estos métodos muestran los valores actuales, no necesariamente muestran los valores que se establecen cuando el sistema se inicia.

Las configuraciones de parámetros del kernel a nivel de sistema a menudo se configuran en el archivo /etc/sysctl.conf. Este archivo se lee durante el proceso de arranque del sistema y se aplican los parámetros especificados en él.

Veamos el contenido del archivo /etc/sysctl.conf utilizando el comando cat para ver si se han configurado algunos parámetros del kernel allí.

Escribe el siguiente comando en tu terminal y presiona Enter:

cat /etc/sysctl.conf

Verás el contenido del archivo de configuración. Este archivo utiliza un formato sencillo de nombre_del_parámetro = valor, similar a la salida de sysctl -a. Las líneas que comienzan con # son comentarios y se ignoran.

#
## /etc/sysctl.conf - Archivo de configuración para establecer variables del sistema
#

## Para más información, consulta sysctl.conf(5) y sysctl(8)

## Descomenta las siguientes dos líneas para habilitar el reenvío de IPv4
#net.ipv4.ip_forward=1

## Descomenta la siguiente línea para habilitar el reenvío de IPv6
#net.ipv6.conf.all.forwarding=1

## ... (otras configuraciones)

En este ejemplo, puedes ver líneas comentadas para net.ipv4.ip_forward y net.ipv6.conf.all.forwarding. Si se descomentaran estas líneas (eliminando el #), estos parámetros se establecerían en 1 (habilitados) al arrancar el sistema.

El archivo /etc/sysctl.conf es el lugar principal para realizar cambios persistentes en los parámetros del kernel. Los cambios realizados directamente a través de sysctl o escribiendo en /proc/sys suelen ser temporales y se perderán después de reiniciar el sistema, a menos que también se agreguen a /etc/sysctl.conf o a un archivo en /etc/sysctl.d/.

Haz clic en Continuar para completar este laboratorio.

Resumen

En este laboratorio, aprendimos cómo comprobar si un parámetro del kernel está configurado en Linux. Comenzamos explorando el comando sysctl -a para listar todos los parámetros del kernel disponibles, entendiendo que estas configuraciones controlan el comportamiento del kernel. Esto nos proporcionó una visión integral de los numerosos parámetros configurables.

A continuación, descubrimos que estos parámetros del kernel a menudo se representan como archivos dentro del sistema de archivos virtual /proc/sys. Esto nos permite comprobar el valor de parámetros específicos examinando el archivo correspondiente en /proc/sys. Finalmente, aprendimos cómo verificar las configuraciones de los parámetros del kernel examinando el archivo /etc/sysctl.conf, que se utiliza comúnmente para establecer valores persistentes de los parámetros del kernel.