¿Qué es el comando uname?
El comando uname (abreviatura de Unix Name) es una herramienta estándar de los sistemas tipo Unix que muestra información sobre el kernel y el hardware del equipo donde se ejecuta. Está presente en todas las distribuciones de Linux y forma parte del paquete coreutils, por lo que no requiere instalación adicional. Su propósito principal es permitir a administradores y desarrolladores conocer rápidamente detalles esenciales del entorno, como la versión del kernel, el nombre del host, la arquitectura del procesador y el tipo de sistema operativo.
Sintaxis básica
La forma más simple de usar uname es ejecutarlo sin argumentos:
uname
Esta invocación devuelve únicamente el nombre del kernel, que en la mayoría de los sistemas Linux es Linux. Para obtener más datos, se pueden añadir diversas opciones que actúan como interruptores.
Opciones más comunes
- -a o –all: muestra toda la información disponible en una sola línea.
- -s o –kernel-name: imprime el nombre del kernel.
- -n o –nodename: muestra el nombre del host (nodename).
- -r o –kernel-release: indica la versión del kernel.
- -v o –kernel-version: muestra la versión completa del kernel, incluyendo la fecha de compilación.
- -m o –machine: revela la arquitectura del hardware (por ejemplo, x86_64, armv7l).
- -p o –processor: muestra el tipo de procesador, si está disponible.
- -i o –hardware-platform: indica la plataforma de hardware.
- -o o –operating-system: muestra el nombre del sistema operativo (usualmente GNU/Linux).
Ejemplos prácticos
Supongamos que deseas saber únicamente la versión del kernel para compararla con los requisitos de un software:
uname -r
Esto podría devolver algo como 5.15.0-78-generic. Si, además, necesitas conocer la arquitectura para decidir qué paquete descargar, puedes combinar opciones:
uname -m
Salida típica: x86_64. Para obtener un resumen completo que incluya nombre del nodo, kernel, versión y máquina, la opción -a es la más cómoda:
uname -a
Ejemplo de salida:
Linux mi-servidor 5.15.0-78-generic #86-Ubuntu SMP Thu Jan 5 12:00:00 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
En esta línea podemos identificar:
- Nombre del kernel: Linux
- Nombre del host: mi-servidor
- Versión del kernel: 5.15.0-78-generic
- Fecha de compilación: #86-Ubuntu SMP Thu Jan 5 12:00:00 UTC 2023
- Arquitectura de la máquina: x86_64 (repetida tres veces según el formato).
- Sistema operativo: GNU/Linux
Interpretación de la salida
Entender cada campo ayuda a diagnosticar problemas de compatibilidad, planificar actualizaciones o verificar que un sistema cumple con los requisitos de un contenedor o máquina virtual. Por ejemplo, la presencia de x86_64 indica un procesador de 64 bits, mientras que armv7l señalaría una arquitectura ARM de 32 bits, común en dispositivos embebidos como la Raspberry Pi.
Combinar uname con otros comandos
La información que proporciona uname puede ser utilizada en scripts para tomar decisiones automáticas. Un caso típico es verificar la versión del kernel antes de cargar un módulo:
if [ "$(uname -r)" \< "5.10" ]; then
echo "Kernel demasiado antiguo, actualice el sistema."
exit 1
fi
O bien, para crear un directorio de respaldo que incluya la arquitectura:
BACKUP_DIR=/var/backups/$(uname -m)_$(date +%F) mkdir -p "$BACKUP_DIR"
Buenas prácticas
- Utiliza
uname -asolo cuando necesites la información completa; en entornos de producción, limitar la salida a los campos requeridos reduce el ruido en los logs. - Recuerda que algunas opciones, como
-p y -i, pueden no estar disponibles en todas las distribuciones o en ciertos kernels; verifica la página del manual conman unamepara confirmar compatibilidad. - En contenedores,
unamemuestra el kernel del host, no del contenedor, lo cual es útil para saber qué características del kernel están realmente disponibles.
Conclusión
El comando uname es una herramienta ligera pero poderosa que forma parte del conjunto básico de cualquier administrador de Linux. Conocer sus opciones y saber interpretar su salida permite obtener rápidamente datos críticos sobre el kernel y el hardware, facilitando tareas de diagnóstico, administración y automatización. La próxima vez que necesites verificar la versión del kernel o la arquitectura de tu máquina, recuerda que uname está listo para responder con un solo comando.