Introdução
Neste laboratório, exploraremos diferentes métodos para verificar se uma opção específica de configuração do kernel está definida no Linux. Começaremos examinando o arquivo /proc/config.gz, usando zcat para descomprimir e visualizar a configuração do kernel, caso o arquivo exista. Este arquivo contém as opções de configuração usadas para construir o kernel atualmente em execução.
Se /proc/config.gz não estiver disponível, prosseguiremos para verificar o arquivo de configuração do kernel no diretório /boot/, procurando especificamente por arquivos nomeados config-*. Isso fornece uma maneira alternativa de verificar a configuração do kernel. Finalmente, inspecionaremos os logs de configuração no dmesg.
Verificar a configuração do kernel com zcat /proc/config.gz
Nesta etapa, exploraremos como verificar a configuração do kernel usando o comando zcat e o arquivo /proc/config.gz. A configuração do kernel determina quais recursos são integrados ao kernel, e entendê-la pode ser útil para depuração e personalização.
Primeiramente, vamos entender o que é /proc/config.gz. É um arquivo compactado com gzip que contém as opções de configuração do kernel usadas para construir o kernel atualmente em execução. No entanto, ele pode nem sempre estar presente, dependendo da configuração de compilação do kernel.
Para verificar se o arquivo existe, use o seguinte comando:
ls -l /proc/config.gz
Se o arquivo existir, você verá uma saída semelhante a esta:
-r-------- 1 root root [占位符: 文件大小] [占位符: 日期] /proc/config.gz
Se o arquivo não existir, você verá uma mensagem de erro:
ls: cannot access '/proc/config.gz': No such file or directory
Se o arquivo existir, podemos usar zcat para descomprimir e visualizar seu conteúdo. zcat é um utilitário de linha de comando que descomprime arquivos compactados com gzip e imprime a saída na saída padrão.
Execute o seguinte comando para visualizar a configuração do kernel:
zcat /proc/config.gz | less
Este comando direciona a saída de zcat /proc/config.gz para o comando less, que permite rolar pelo arquivo de configuração.
Você verá uma longa lista de opções de configuração, cada uma precedida por CONFIG_. Por exemplo:
CONFIG_POSIX_MQUEUE=y
CONFIG_FHANDLE=y
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_INTERFACE=y
CONFIG_INET=y
Pressione q para sair do less.
Se /proc/config.gz não existir, você precisará prosseguir para a próxima etapa para verificar /boot/config-*.
Verificar a configuração em /boot/config-*
Nesta etapa, verificaremos o arquivo de configuração do kernel no diretório /boot/. Este é outro local comum onde a configuração do kernel é armazenada. O arquivo geralmente é nomeado config-*, onde * representa a versão do kernel.
Primeiro, vamos listar os arquivos no diretório /boot/ para ver se um arquivo config-* existe. Use o seguinte comando:
ls -l /boot/config-*
Você pode ver uma saída semelhante a esta:
-rw------- 1 root root [占位符: 文件大小] [占位符: 日期] /boot/config-[占位符: kernel version]
Se você vir um arquivo config-*, isso significa que a configuração do kernel está armazenada nesse arquivo. Se você não vir nenhum arquivo config-*, isso significa que a configuração do kernel não está armazenada no local padrão em /boot/.
Para visualizar o conteúdo do arquivo config-*, você pode usar o comando cat. Substitua [占位符: kernel version] pela versão real do kernel do nome do arquivo. Por exemplo, se o arquivo for nomeado /boot/config-5.15.0-76-generic, o comando seria:
cat /boot/config-5.15.0-76-generic | less
Este comando direciona a saída de cat /boot/config-[占位符: kernel version] para o comando less, que permite rolar pelo arquivo de configuração.
Você verá uma longa lista de opções de configuração, cada uma precedida por CONFIG_. Por exemplo:
CONFIG_POSIX_MQUEUE=y
CONFIG_FHANDLE=y
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_INTERFACE=y
CONFIG_INET=y
Pressione q para sair do less.
Se você tiver vários arquivos config-*, pode verificar a versão do kernel usando o comando uname -r:
uname -r
Isso exibirá a versão do kernel atualmente em execução no seu sistema. Você pode então usar esta informação para selecionar o arquivo config-* correto para visualizar.
Inspecionar logs de configuração em dmesg
Nesta etapa, inspecionaremos os logs do kernel usando o comando dmesg para encontrar informações sobre a configuração do kernel. dmesg é um utilitário de linha de comando que imprime o buffer de mensagens do kernel. Este buffer contém informações sobre hardware, drivers e outros eventos do sistema, incluindo detalhes sobre a configuração do kernel no momento da inicialização.
Para visualizar os logs do kernel, use o seguinte comando:
dmesg | less
Este comando direciona a saída de dmesg para o comando less, que permite rolar pelos logs.
As informações de configuração do kernel geralmente são impressas no início dos logs durante o processo de inicialização. Para filtrar os logs e encontrar mensagens relacionadas à configuração, você pode usar o comando grep.
Tente o seguinte comando para pesquisar linhas contendo "config":
dmesg | grep config | less
Este comando direciona a saída de dmesg para grep config, que filtra as linhas contendo a palavra "config", e então direciona o resultado para less para facilitar a visualização.
Você pode ver uma saída semelhante a esta:
[占位符: 时间戳] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-[占位符: kernel version] root=UUID=[占位符: UUID] ro quiet splash vt.handoff=7
[占位符: 时间戳] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-[占位符: kernel version] root=UUID=[占位符: UUID] ro quiet splash vt.handoff=7
[占位符: 时间戳] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS [占位符: BIOS version] 04/01/2014
Você também pode pesquisar opções de configuração específicas. Por exemplo, para descobrir se CONFIG_EXT4_FS está habilitado, use o seguinte comando:
dmesg | grep CONFIG_EXT4_FS
Se a opção estiver habilitada, você verá uma linha semelhante a esta:
[占位符: 时间戳] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
Se a opção não estiver habilitada, você não verá nenhuma saída.
Ao inspecionar a saída de dmesg, você pode verificar a configuração do kernel e identificar quaisquer problemas potenciais relacionados a opções de configuração ausentes ou incorretas.
Pressione q para sair do less.
Resumo
Neste laboratório, exploramos métodos para verificar a configuração do kernel no Linux. Primeiro, tentamos acessar a configuração do kernel via zcat /proc/config.gz, aprendendo que este arquivo contém as opções de configuração do kernel usadas para construir o kernel atualmente em execução, mas sua presença depende da configuração de construção do kernel. Usamos ls -l para verificar sua existência e zcat direcionado para less para visualizar seu conteúdo, se disponível.
Se /proc/config.gz não for encontrado, o laboratório nos direciona a prosseguir para a próxima etapa, que envolve a verificação do arquivo de configuração do kernel no diretório /boot/, normalmente nomeado config-*.



