Descobrindo a versão do kernel

Saber qual kernel está rodando é o primeiro passo para qualquer diagnóstico ou atualização. O comando uname é a ferramenta padrão para isso.

uname -r: versão resumida

O flag -r mostra apenas o release do kernel:

uname -r
6.8.0-45-generic

uname -a: informações completas

Para ver tudo de uma vez -- nome do kernel, hostname, versão, arquitetura:

uname -a
Linux srv-web01 6.8.0-45-generic #45-Ubuntu SMP x86_64 GNU/Linux

Cada campo tem um flag próprio:

FlagDescriçãoExemplo
-sNome do kernelLinux
-nHostnamesrv-web01
-rRelease do kernel6.8.0-45-generic
-vVersão (data de build)#45-Ubuntu SMP ...
-mArquiteturax86_64
-oSistema operacionalGNU/Linux

/proc/version

O pseudo-arquivo /proc/version traz detalhes sobre o compilador e a data de build:

cat /proc/version
Linux version 6.8.0-45-generic (buildd@lcy02-amd64-080)
(gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0) #45-Ubuntu SMP PREEMPT_DYNAMIC

cat /etc/os-release

Para identificar a distribuição (não o kernel em si):

cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
ID=ubuntu
ID_LIKE=debian
Dica: Use source /etc/os-release && echo $PRETTY_NAME para pegar só o nome legível em scripts.

hostnamectl

O hostnamectl do systemd reúne informações do sistema e do kernel em um único comando:

hostnamectl
 Static hostname: srv-web01
       Icon name: computer-vm
         Chassis: vm
      Machine ID: a1b2c3d4e5f6...
         Boot ID: f6e5d4c3b2a1...
  Virtualization: kvm
Operating System: Ubuntu 24.04.1 LTS
          Kernel: Linux 6.8.0-45-generic
    Architecture: x86-64

Entendendo a numeração do kernel

A versão 6.8.0-45-generic segue este padrão:

6       . 8       . 0        -45            -generic
major    minor     patch     build/distro    flavor
Dica: Em servidores de produção, prefira kernels LTS. Verifique o ciclo de suporte em https://kernel.org antes de atualizar.

Resumo rápido

# Versão resumida
uname -r

# Informações completas
uname -a

# Detalhes de compilação
cat /proc/version

# Distribuição
cat /etc/os-release

# Visão geral do sistema
hostnamectl