Tuning Linux Debian Buster 10 / Bullseye 11

Criação: 10/07/2021
Ultima atualização: 24/12/2021

O objetivo dessa postagem é trazer um serie de ajustes e melhorias a serem feitas após uma instalação limpa da Debian (ou até mesmo que já esteja em produção) mas que pode ser aplicado na maioria das distro Linux com algum ajuste.
O artigo será divido em tópicos e poderá ser ajustado futuramente com correções ou melhorias

Configuração Timezone e NTP

Sempre que configurar um servidor, vai chegar a hora de definir o fuso horário. O fuso horário errado vai afetar os logs e relatórios do seu servidor. E é por isso que precisamos configurar fuso horário no Linux com o comando abaixo:
dpkg-reconfigure tzdata
E em seguida escolher America (supondo que você esteja no Brasil);

E procurar na próxima tela o estado/região em que mora ou está mais próximo. Lembrando que no Brasil temos 4 fusos horários diferentes!

Segue abaixo, comandos úteis relacionado a configuração do TimeZone:
timedatectl mostrará suas configurações atuais.
timedatectl list-timezones mostra os fusos horários disponíveis.
timedatectl set-timezone America/Bahia define o fuso horário.

Agora iremos criar um script para a atualização do sistema 1 vez por dia. Em seguida daremos permissão de execução e criaremos um arquivo de log para acompanhar as atualizações. Iniciaremos instalando o pacote responsável pelo serviço NTP:
apt install ntpdate -y
Criaremos o script responsável pela atualização:
cat <<EOF>/etc/atualizar_hora.sh
# Atualiza horario do servidor 1x dia
/usr/sbin/ntpdate pool.ntp.br >> /var/log/atualizar_hora.log
EOF

Daremos permissão e criaremos o arquivo de log:
chmod +x /etc/atualizar_hora.sh
touch /var/log/atualizar_hora.log
Caso deseje realizar o update manual, execute o comando abaixo:
ntpdate pool.ntp.br
Com o script criado iremos adicionar uma rotina no cron (agendador de tarefas) para executar todos os dias às 00:00
echo "# Atualizar hora do servidor 1x dia" >> /etc/crontab
echo "00 00 * * * root /etc/atualiza_hora.sh" >> /etc/crontab
systemctl restart cron

Otimizando recursos

A adição das entradas abaixo irão otimizar o swap, cache, buffer do seu sistema linux
Iremos usar o editor nano para editar o arquivo de configuração (/etc/sysctl.conf) adicionando as entradas abaixo no final do arquivo:
nano /etc/sysctl.conf
# Reduz o uso de Swap
vm.swappiness=10
# Melhora a gestão de cache
vm.vfs_cache_pressure=50
# Aumentar o buffer de recebimento e de envio
net.core.rmem_max = 50000000
net.core.wmem_max = 50000000

Configurar repositório com compatibilidade non-free

Por padrão o Debian é feito de software livre e de código aberto e sempre será 100% livre, Porém, caso você tenha dificuldade em compilação ou queira realizar a instalação de software propietário (non-free) sem muita dificuldade, você deverá adicionar os repositórios contrib + non-free:

Contrib – Contem programas de código aberto que possuem dependências não livres, os programas fornecidos nesse repositório podem depender dos programas do repositório non-free, que são de código fechado.
Non-free – Contem programas de código fechado

Vamos editar o arquivo padrão do debian responsável pelo repositório padrão, o /etc/apt/sources.list.
Para o Debian Buster (10) use o repositório abaixo:

cat <<EOF>/etc/apt/sources.list
deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free
#
deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
#
#buster-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free
#
#Buster Backports
deb http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://deb.debian.org/debian buster-backports main contrib non-free
EOF

Para o Debian Bullseye (11) use o repositório abaixo:

cat <<EOF>/etc/apt/sources.list
deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
#
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
#
#bullseye-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free
#
#Buster Backports
deb http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
EOF

Pacotes e softwares essenciais

Para a maioria dos serviços e aplicações que serão realizadas após a instalação do sistema operacional, serão utilizados os pacotes abaixo, assim instalado esses pacotes essenciais (para mim) você já irá ganhar tempo:

apt install wget unzip net-tools traceroute tcpdump curl dirmngr gnupg gnupg2 gnupg1 vim htop dnstop apt-transport-https ntpdate -y

Kernel sempre atualizado ( GNU Linux-libre)

GNU Linux-libre é um projeto para manter e publicar distribuições 100% livres do Linux, adequadas para uso em distribuições livres de sistemas, removendo software incluído sem código fonte, com código-fonte ofuscado ou obscuro, sob licenças de Software Livre, que não permite que você altere o software para que ele faça o que você deseja, e isso induz ou exige que você instale peças adicionais de Software não-Livre.

Recomendação: Não tenha firmware proprietária de vídeo instalada, se tiver remova para evitar de o sistema não entrar na interface gráfica.

Iremos instalar os pacotes essenciais (pule se já fez isso), adicionar a chave, atualizar o repositório e em seguida instalar o Kernel GNU Linux-Libre

apt install dirmngr gnupg gnupg2 gnupg1 apt-transport-https -y
echo "deb http://linux-libre.fsfla.org/pub/linux-libre/freesh freesh main" > /etc/apt/sources.list.d/linux-libre.list

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 9D0DB31B545A3198
apt update
apt install linux-libre linux-libre-headers -y

Obs.: Para que o Kernel seja aplicado, será necessário reiniciar o sistema.

Melhorar o autocomplete do terminal

Para melhorar o auto completar dos comandos ao apertar a tecla <tab> iremos adicionar o pacote bash-completion e em seguida realizar algumas poucas modificações no arquivo padrão
apt install vim bash-completion -y
Com o pacote instalado, vamos editar o arquivo adicionado algumas linhas no final do arquivo. Mas dessa vez não iremos abrir o arquivo para editar, usaremos o comando “echo” para adicionar no arquivo de texto sem a necessidade de abrir o mesmo
echo '' >> /etc/bash.bashrc
echo '# Autocompletar extra' >> /etc/bash.bashrc
echo 'if ! shopt -oq posix; then' >> /etc/bash.bashrc
echo ' if [ -f /usr/share/bash-completion/bash_completion ]; then' >> /etc/bash.bashrc
echo ' . /usr/share/bash-completion/bash_completion' >> /etc/bash.bashrc
echo ' elif [ -f /etc/bash_completion ]; then' >> /etc/bash.bashrc
echo ' . /etc/bash_completion' >> /etc/bash.bashrc
echo ' fi' >> /etc/bash.bashrc
echo 'fi' >> /etc/bash.bashrc


Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *