Identificar a sua distribuição Linux e as versões do kernel é crucial para tomar decisões informadas sobre atualizações de segurança. Neste guia, exploraremos diversas formas de obter essas informações, independentemente da distribuição Linux que você esteja utilizando.
Distribuições Rolling Release vs. Point Release
Você tem certeza de qual versão do Linux está em execução no seu sistema? E a versão do kernel, você sabe como descobri-la? Distros Linux com modelo de lançamento contínuo (rolling release), como Arch, Manjaro e openSUSE, recebem atualizações frequentes, incluindo correções e patches lançados desde a última atualização. Por outro lado, distribuições com lançamento pontual (point release), como Debian, a família Ubuntu e Fedora, recebem atualizações em momentos específicos do ano, que incluem grandes pacotes de atualizações para software e sistema operacional. Contudo, mesmo essas distribuições podem liberar correções de segurança urgentes em caso de vulnerabilidades críticas.
Em ambos os cenários, é provável que o sistema que você está utilizando não seja exatamente o mesmo que você instalou inicialmente. Por isso, é essencial conhecer a versão do Linux e do kernel do seu sistema, pois essas informações são cruciais para verificar se um patch de segurança é aplicável ao seu caso.
Existem várias formas de obter esses dados, algumas das quais são universais e outras específicas para determinadas distribuições. Por exemplo, o comando hostnamectl só funciona em sistemas baseados em systemd. Mas não se preocupe, pelo menos um dos métodos abaixo funcionará para você, independentemente da sua distribuição.
Utilizando o Comando lsb_release
O comando lsb_release
já vinha instalado por padrão no Ubuntu e no Manjaro durante nossos testes, mas precisou ser instalado no Fedora. Se você não tiver permissão para instalar software em um ambiente de trabalho ou estiver solucionando problemas em um sistema restrito, utilize outros métodos descritos abaixo.
Para instalar o lsb_release
no Fedora, utilize o comando:
sudo dnf install redhat-lsb-core
O comando lsb_release
fornece informações relacionadas à Base Padrão Linux e detalhes específicos da distribuição.
Para visualizar todas as informações sobre a distribuição Linux, use a opção -a
(all):
lsb_release -a
As imagens a seguir mostram as saídas do comando para Ubuntu, Fedora e Manjaro, respectivamente.
Para ver apenas a distribuição e a versão do Linux, use a opção -d
(description):
lsb_release -d
Este formato simplificado é útil para processamento adicional, como análise de saída em scripts.
Analisando o Arquivo /etc/os-release
O arquivo /etc/os-release
contém informações relevantes sobre seu sistema Linux. Utilize os comandos less
ou cat
para visualizar essas informações.
Para utilizar o cat
, digite:
cat /etc/os-release
O arquivo retorna uma combinação de valores de dados genéricos e específicos da distribuição:
- Name: A distribuição, ou “Linux” caso não esteja definida.
- Version: A versão do sistema operacional.
- ID: Uma versão em letras minúsculas do sistema operacional.
- ID_Like: Caso a distribuição seja derivada de outra, esse campo contém a distribuição pai.
- Pretty_Name: O nome e a versão da distribuição em uma string direta.
- Version_ID: O número da versão da distribuição.
- Home_URL: A página inicial do projeto da distribuição.
- Support_URL: A página principal de suporte da distribuição.
- Bug_Report_URL: A página principal para relatos de bugs da distribuição.
- Privacy_Policy_URL: A página principal da política de privacidade da distribuição.
- Version_Codename: O nome de código externo da versão.
- Ubuntu_Codename: Um campo específico do Ubuntu, que contém o nome de código interno da versão.
Geralmente, existem dois arquivos que contêm informações similares, ambos no diretório /etc/
e com “release” como parte final do nome. Para visualizá-los, use:
ls /etc/*release
Podemos visualizar o conteúdo de ambos os arquivos usando:
cat /etc/*release
Observe que há quatro itens de dados extras, começando com “DISTRIBUTION_”. Entretanto, eles apenas reiteram informações já encontradas.
Analisando o Arquivo /etc/issue
O arquivo /etc/issue
contém uma string simples com o nome e versão da distribuição, formatada para ser exibida na tela de login. As telas de login podem ignorar este arquivo, logo a informação pode não aparecer no login.
Para visualizar o conteúdo do arquivo, use:
cat /etc/issue
Utilizando o Comando hostnamectl
O comando hostnamectl
apresenta informações relevantes sobre a distribuição Linux em execução no sistema. Ele só funciona em sistemas que utilizam o systemd gerenciador de sistema e serviço.
Para utilizá-lo, digite:
hostnamectl
A saída do hostnamectl
inclui a versão do kernel, o que o torna útil para verificar se uma vulnerabilidade específica afeta seu sistema.
Utilizando o Comando uname
Se o sistema não usa o systemd, o comando uname
pode ser usado para descobrir a versão do kernel. O comando uname
sem opções não retorna informações muito úteis, como demonstrado abaixo:
uname
A opção -a
(all) exibe todas as informações que o comando consegue coletar. Use o comando abaixo:
uname -a
Para restringir a saída aos dados essenciais, use as opções -m
(máquina), -r
(versão do kernel) e -s
(nome do kernel):
uname -mrs
Analisando o Pseudo-Arquivo /proc/version
O pseudo-arquivo /proc/version
contém informações sobre a distribuição, incluindo detalhes de compilação. As informações do kernel também estão disponíveis, sendo uma forma conveniente de obter esses dados.
O sistema de arquivos /proc/
é um sistema virtual que é criado quando o sistema inicializa. Os arquivos dentro desse sistema virtual podem ser acessados como arquivos padrão. Para ver seu conteúdo, digite:
cat /proc/version
Utilizando o Comando dmesg
O comando dmesg
permite visualizar as mensagens no buffer de anel de mensagens do kernel. Ao direcionar essa saída para o grep
e buscar por entradas que contenham a palavra “Linux”, podemos visualizar as informações relacionadas ao kernel na primeira mensagem do buffer. Utilize o comando abaixo:
sudo dmesg | grep Linux
Mais de Uma Forma de Chegar ao Mesmo Lugar
No mundo Linux, a diversidade de abordagens é uma constante. Se um desses métodos não funcionar para você, outro certamente o fará.