Introdução
Neste laboratório, você aprenderá como verificar se um parâmetro sysctl específico está definido no Linux. Exploraremos três métodos para alcançar isso: listar todos os parâmetros do kernel usando sysctl -a, examinar o arquivo de configuração sysctl do sistema em /etc/sysctl.conf e verificar diretamente o valor do parâmetro dentro do sistema de arquivos /proc/sys. Ao final deste laboratório, você estará equipado com as habilidades para inspecionar e entender efetivamente as configurações dos parâmetros do kernel em seu sistema Linux.
Listar parâmetros sysctl com sysctl -a
Nesta etapa, exploraremos como visualizar e entender os parâmetros do kernel usando o comando sysctl. O kernel Linux gerencia muitos aspectos do comportamento do sistema, e esses comportamentos são controlados por parâmetros que podem ser visualizados e, às vezes, modificados em tempo de execução.
O comando sysctl é usado para modificar os parâmetros do kernel em tempo de execução. Esses parâmetros são tipicamente encontrados no diretório /proc/sys/.
Para ver uma lista de todos os parâmetros do kernel disponíveis e seus valores atuais, você pode usar o comando sysctl -a. A opção -a diz ao sysctl para exibir todos os parâmetros.
Abra seu terminal, se ainda não estiver aberto. Lembre-se, você pode encontrar o ícone do Xfce Terminal no lado esquerdo da sua área de trabalho.
Digite o seguinte comando e pressione Enter:
sysctl -a
Você verá uma longa lista de saída, semelhante a esta (a saída exata variará dependendo do sistema):
abi.vsyscall32 = 1
fs.aio-max-nr = 1048576
fs.aio-nr = 0
fs.dentry-state = 100000, 96000, 0, 0, 0
fs.dir-notify-enable = 1
fs.file-max = 9223372036854775807
fs.file-nr = 1024 0 9223372036854775807
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 524288
...
Esta saída mostra o nome de cada parâmetro (como fs.file-max) e seu valor atual. Esses parâmetros controlam vários aspectos do kernel, como rede, comportamento do sistema de arquivos, gerenciamento de memória e muito mais.
Percorrer esta lista pode ser avassalador, mas ela oferece uma visão abrangente do que o kernel está gerenciando. Você pode usar a barra de espaço para rolar para baixo página por página e q para sair da visualização se a saída for longa e exibida por um paginador como less.
Por enquanto, apenas executar o comando é suficiente para concluir esta etapa. Você listou com sucesso todos os parâmetros do kernel.
Clique em Continuar para prosseguir para a próxima etapa.
Verificar a configuração sysctl com cat /etc/sysctl.conf
Na etapa anterior, você viu uma longa lista de parâmetros do kernel usando sysctl -a. Embora sysctl -a mostre os valores atuais, esses valores podem ser definidos no momento da inicialização a partir de arquivos de configuração.
Um dos principais arquivos de configuração para os parâmetros sysctl é /etc/sysctl.conf. Este arquivo contém configurações que são aplicadas quando o sistema é iniciado.
Vamos visualizar o conteúdo deste arquivo de configuração usando o comando cat. O comando cat é usado para exibir o conteúdo dos arquivos.
Digite o seguinte comando em seu terminal e pressione Enter:
cat /etc/sysctl.conf
Você verá o conteúdo do arquivo /etc/sysctl.conf. Este arquivo geralmente contém linhas comentadas (começando com #) explicando o propósito de diferentes configurações, bem como linhas que definem parâmetros específicos do kernel usando o formato parâmetro = valor.
Aqui está um exemplo do que você pode ver (o conteúdo exato pode variar):
## /etc/sysctl.conf - Arquivo de configuração para definir variáveis do sistema
#
## Para mais informações, consulte sysctl(8) e sysctl.conf(5).
## Arquivo de configuração sysctl do kernel para Debian GNU/Linux
#
## Para valores binários, 0 é desabilitado, 1 é habilitado. Consulte sysctl(8) para detalhes.
## Descomente isso para habilitar a suspensão de software
#kernel.suspend_state = 1
## Descomente isso para habilitar o encaminhamento IPv4
#net.ipv4.ip_forward = 1
## Descomente isso para habilitar o encaminhamento IPv6
#net.ipv6.conf.all.forwarding = 1
## Descomente isso para habilitar a Proteção TCP SYN Cookie
## Isso protege contra ataques SYN flood
#net.ipv4.tcp_syncookies = 1
## Aumente o número máximo de arquivos abertos para o sistema
#fs.file-max = 100000
## Aumente o número máximo de conexões TCP
#net.ipv4.tcp_max_syn_backlog = 2048
#net.ipv4.tcp_max_tw_buckets = 4096
As linhas que não estão comentadas (não começam com #) são configurações ativas que serão aplicadas. Por exemplo, uma linha como net.ipv4.ip_forward = 1 habilitaria o encaminhamento IP.
Visualizar este arquivo ajuda você a entender quais parâmetros do kernel estão sendo explicitamente definidos durante a inicialização do sistema.
Você visualizou com sucesso o conteúdo do principal arquivo de configuração sysctl.
Clique em Continuar para passar para a próxima etapa.
Verificar parâmetro em /proc/sys
Nas etapas anteriores, você usou sysctl -a para listar os parâmetros do kernel e cat /etc/sysctl.conf para visualizar o arquivo de configuração. Agora, vamos ver onde esses parâmetros são realmente representados no sistema de arquivos.
Os parâmetros do kernel gerenciados pelo sysctl são expostos através de um sistema de arquivos virtual especial localizado em /proc/sys. Este sistema de arquivos não armazena arquivos reais no disco; em vez disso, ele fornece uma interface para as estruturas de dados do kernel.
A estrutura do diretório /proc/sys espelha os nomes hierárquicos dos parâmetros sysctl. Por exemplo, o parâmetro net.ipv4.ip_forward corresponde ao arquivo /proc/sys/net/ipv4/ip_forward.
Vamos usar o comando cat novamente para visualizar o valor de um parâmetro específico diretamente do sistema de arquivos /proc/sys. Vamos olhar para o parâmetro kernel.hostname, que mostra o nome do host do sistema.
Digite o seguinte comando em seu terminal e pressione Enter:
cat /proc/sys/kernel/hostname
Você deve ver o nome do host do sistema, que provavelmente é labex neste ambiente:
labex
Agora, vamos olhar para outro exemplo, o parâmetro fs.file-max que vimos na saída de sysctl -a.
Digite o seguinte comando e pressione Enter:
cat /proc/sys/fs/file-max
Você verá o número máximo atual de arquivos abertos permitidos no sistema:
9223372036854775807
Isso demonstra que os valores que você vê com sysctl -a são diretamente acessíveis e legíveis a partir de arquivos dentro do diretório /proc/sys. Você pode usar comandos padrão de manipulação de arquivos como cat para ler seus valores.
Entender o sistema de arquivos /proc/sys é fundamental para trabalhar com parâmetros do kernel, pois é o mecanismo subjacente com o qual sysctl interage.
Você verificou com sucesso os parâmetros do kernel visualizando seus arquivos correspondentes em /proc/sys.
Clique em Continuar para concluir este laboratório.
Resumo
Neste laboratório, aprendemos como verificar se um parâmetro sysctl está definido no Linux. Começamos usando o comando sysctl -a para listar todos os parâmetros do kernel disponíveis e seus valores atuais, fornecendo uma visão abrangente da configuração de tempo de execução do kernel.
Em seguida, exploramos como verificar a configuração persistente do sysctl examinando o arquivo /etc/sysctl.conf usando o comando cat. Finalmente, aprendemos como verificar o valor atual de um parâmetro específico inspecionando diretamente seu arquivo correspondente dentro do diretório /proc/sys. Essas etapas fornecem vários métodos para entender e confirmar o estado dos parâmetros do kernel.



