O diretório /proc é chamado de pseudo-sistema de arquivos,
porque na verdade as informações contidas ali são utilizadas
pelo kernel para interfacear o mesmo com as estruturas de dados
do sistema [2]. O que é encontrado dentro do diretório /proc
não é real, ou seja, as informações são geradas conforme a
situação em que o sistema se encontra naquele momento pelo kernel [2].
Muitas das configurações que podem ser realizadas nos arquivos
encontrados dentro do /proc são valores binários, ou seja, 0 (zero)
e 1 (um), representando falso (disable) e verdadeiro (enable)
respectivamente [3]. Um exemplo seria o arquivo
/proc/sys/net/ipv4/tcp_syncookies. Também são encontrados
valores com textos legíveis (ASCII), como é o caso do arquivo
/proc/sys/kernel/hostname.
É possível alterar esses arquivos com editores de texto, com o
comando
sysctl ou com um simples redirecionamento de
entrada e saída de dados[1] como descrito no exemplo abaixo:
# echo "casa >" /proc/sys/kernel/hostname
Se agora executarmos:
# cat /proc/sys/kernel/hostname
casa
Obteremos o nome do hostname local que acabamos de modificar.
Porém como o diretório /proc/ é alterado quando reiniciamos o
sistema, tudo que foi configurado é perdido, é necessário que
essas configurações feitas sejam armazenadas em um script para
que quando o sistema iniciar, o script possa executar os comandos
para que se tornem permanentes no kernel até que o mesmo seja
reiniciado. Existem dois métodos para isso: [1]
- Utilizar um dos scripts rc.d encontrados em /etc/.
- Utilizar "variável=valor" em /etc/sysctl.conf. Está linha funcionará como sysctl -w.
Os arquivos que iremos modificar as variáveis se encontram
dentro do diretório
/proc/sys/net/ipv4/, onde os mesmos
são responsáveis pelas filtragens de informações de entrada.
O interessante é que o efeito das configurações das variáveis dos
arquivos dentro do diretório /proc são instantâneas, a partir do
momento que o arquivo é salvo, as mudanças já entram em produção,
não sendo necessário executar algum comando de reinício de serviço
ou até mesmo o reinício do
GNU/Linux. Essa é uma das
grandes vantagens de configurar o kernel através dos parâmetros do
diretório /proc/.
Lembrando que para executar esses comandos para a configuração do kernel, é necessário o usuário possuir permissões de root.