Top 10 truques para Linux

Olá! hoje trazemos-lhe os 10 melhores truques para o linux, especialmente ao nível da administração do sistema. Estes truques irão ajudá-lo nas tarefas diárias de administração.

1- Aumentar o tamanho de um disco virtual em formato RAW

Quando estamos a virtualizar com sistemas de virtualização que permitem o formato RAW e precisamos de aumentar o tamanho do disco, podemos fazê-lo da seguinte forma: “truncado -s+00XX caminho” onde 00 é o tamanho a aumentar e XX é o formato (GB, TB, etc). Num exemplo mais prático em que precisamos de aumentar 90 GB, fá-lo-íamos desta forma:

truncate -s+90GB ruta_de_fichero

2- Quando ficamos sem RAM e não podemos reiniciar

Quando ficamos sem memória, não podemos reiniciar e precisamos de manter um serviço activo. Se tivermos armazenamento suficiente, temos uma solução temporária. Podemos aumentar a troca disponível adicionando uma troca virtual. Esta é a forma de o fazer:

  • dd if=/dev/zero of=/PATH_DESTINATION bs=1M count=1024 -> Isto irá criar um ficheiro de 1GB, se quiser 2GB modificar 1M a 2M.
  • mkswap /PATH_DESTINATION -> formatar o ficheiro que criámos como SWAP
  • Adicionar a linha “/PATH_DESTINATION none swap sw 0 0” ao ficheiro fstab para que este seja novamente montado no reinício.
  • Executar “swapon -a”, isto irá montar a swap virtual e fornecer-nos este novo espaço para que quando começarmos a ficar sem RAM, o sistema não se estrague.

3- Ganhar até 5% de espaço em disco sem reiniciar

Nos sistemas de ficheiros EXT3 e EXT4, 5% do espaço de partição padrão é reservado por defeito. Ou seja, quando a divisória está a 100%, na realidade está a 95%. Se precisarmos deste espaço, por exemplo quando estamos perto dos 100% num sistema de produção, para poupar tempo e não ter de reiniciar, podemos executar o tune2fs.

  • A primeira coisa a correr é: tune2fs -l /dev/sda2 | grep “^Reservado”.
    • Com isto temos o número de blocos reservados, cada bloco ocupa 4096, por isso se o dividirmos 3 vezes por 1024, podemos obter o tamanho em GB que iremos libertar.
  • Depois temos de executar: “tune2fs -m PERCENTAGE” onde a percentagem máxima que podemos colocar é 5 e a mínima 1 e essa percentagem será libertada aquando da execução do comando.

4- Tabela ARP clara

Por vezes a tabela ARP é armazenada em cache armazenando endereços MAC que já não correspondem a um IP e isto pode levar a problemas de ligação. Para limpar a tabela ARP e fazer o linux “aprender” novamente toda a relação entre MAC e IP que pode executar: “ip -s -s neigh flush all dev DEVICE”.

5- Alterar o número máximo de descritores

Quando todos os descritores do sistema são retomados, podem surgir problemas ao fazer ligações, guardar ou criar ficheiros, ou ao executar aplicações. A solução para isto é aumentar o número de descritores permitidos pelo sistema. Abaixo encontra-se uma tabela com os comandos para manusear os descritores:

ComandoDescripción
ulimit -Snver descritores máximos (soft)
ulimit -Hnver descritores máximos (hard)
ulimit -aLimites da lista
ulimit -n 94000alterar o máximo de ficheiros abertos para 94000, pode ser colocado em /etc/rc.local para ser executado no arranque do sistema

6- Prevenir o OOM Killer de matar um processo

Por vezes pode haver problemas devido ao consumo excessivo de memória num sistema, é possível que o OOM Killer mate um processo que é crítico para o seu sistema de produção. Pode evitar que isto aconteça modificando a pontuação do processo para que não seja escolhido para morrer: “echo -17 > /proc/$PID/oom_adj”.

7- Localizar a MTU correcta

Por vezes as redes não funcionam tão bem como deveriam e pode ser devido à MTU, para descobrir que MTU devemos definir, podemos executar: “ping -M do -s 1500 -c 1 HOST-NAME”.

Executar o comando, a opção “-s” é a MTU a ser testada. Se obtivermos um erro, temos de baixar a quantia até obtermos um ping correcto:

ger@portatil:~$ ping -M do -s 1473 -c 1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 1473(1501) bytes of data.
ping: local error: Message too long, mtu=1500
^C
--- 192.168.1.1 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

ger@portatil:~$ ping -M do -s 1472 -c 1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 1472(1500) bytes of data.
1480 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.36 ms

--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.365/2.365/2.365/0.000 ms

8- Como redireccionar um porto para outro porto

Poderá ter de redireccionar uma porta para outra ou porque está a migrar para outro anfitrião e pretende redireccionar o tráfego para o novo ou porque pretende redireccionar uma porta pública para uma porta privada num outro anfitrião da rede interna. Para isso podemos usar socat. Este é um software que permite redireccionar apenas as portas TCP, a forma de o utilizar é a seguinte: socat TCP4-LISTEN:8080,bind=x.x.x.x.x,fork,reutilizaddr TCP4:y.y.y.y.y.y:80

Este exemplo redirecciona a porta 8080 de x.x.x.x.x.x para a porta 80 de y.y.y.y.y.

9- Conhecer os dados de hardware de um disco

Por vezes precisamos de identificar dados físicos num disco, tais como o número de série. Por exemplo, se tivermos um RAID de software numa máquina que não tenha discos hot swap e um disco falhar, para recuperar o RAID precisaremos de remover o disco correcto. Isto só pode ser conhecido através do conhecimento do número de série. Pode descobrir isto executando este comando: “hdparm -i /dev/DISPOSITIVE”.

10- Conhecer os 20 processos que mais consomem memória

Com o comando “top” podemos conhecer os processos que mais consomem memória, mas não tão precisamente como com o ps. Podemos executá-lo da seguinte forma para termos os 20 processos que mais consomem memória:

ps aux | awk '{print $2, $4, $11}' | sort -k2r | head -n 20

 

É tudo por hoje, estes são os 10 melhores truques de linux para nós.

Espero que tenha gostado. Se gostou, por favor partilhe-o nas suas redes sociais.

Até breve!

Deixe um comentário