-
Quando vale trocar grep por ripgrep?
Em 20 mil arquivos, rg terminou em 0,11 s contra 0,18 s do grep -r e pulou o binário sozinho. Veja quando trocar e quando não.
-
Como medir a memória de um processo de verdade?
RSS não é o que o cgroup cobra. Veja como ler PSS, USS e memory.current para saber o custo real de um processo.
-
Contêiner não é máquina virtual: o que ele realmente é
Contêiner é processo comum do Linux com namespaces e cgroup. Sem kernel próprio, sem disco virtual, sem init. Rode dois blocos de comando e compare PID 1, hostname, rede e namespaces lado a lado.
-
Como medir a velocidade do disco sem derrubar o servidor
Medir disco com cache do SO mede RAM, não disco. O script usa O_DIRECT e fsync, arquivo de teste pequeno e limpeza automática, e entrega taxa sequencial, IOPS e latência sem derrubar o serviço.
-
Como usar journalctl para achar o erro do sistema
O journalctl filtra o journal do systemd por unidade, prioridade, janela de tempo e boot. Com três filtros em sequência, uma falha que sumiu no meio de mil linhas aparece em 3 linhas. Não precisa instalar nada: o journal já está lá.
-
Como guardar segredo em variável de ambiente sem vazar?
Arquivo .env com modo 600, regra de ignore no git e leitura mascarada resolvem a maior parte dos vazamentos. O script testa isso sozinho.
-
Como endurecer o SSH: o que desligar e o que manter
Desligue senha, root e X11; exija chave pública. O resto é limite e cifra. Artefato sshd_config linha por linha.
-
O que são cgroups: como o linux limita cpu e memória
cgroup é a estrutura do kernel que diz quanto de CPU e memória um processo (ou um contêiner) pode usar. Medido num contêiner com -m 256m e --cpus 0.5: memory.max = 268435456 bytes e cpu.max = quota 50000 us por 100000 us.
-
Disco cheio: como achar o que está ocupando
du por diretório, find por tamanho e /proc para arquivo apagado que ainda ocupa espaço. Medido: 181 MB no total, 120 MB num dump.sql e 30 MB num arquivo removido mas ainda aberto.
-
HTTPS no seu localhost com mkcert, sem aviso de certificado
mkcert cria uma CA local, instala no trust store do sistema e do navegador e assina certificado para localhost. Medido: com a CA em --cacert, curl retorna HTTP 200 e ssl_verify_result 0 em 0,006 s; sem ela, falha com unable to get local issuer certificate.
-
Cron do jeito certo: ambiente, log e o que não roda
O cron roda com PATH=/usr/bin:/bin, SHELL=/bin/sh e a partir do $HOME, sem carregar .bashrc. Três linhas no crontab (PATH, MAILTO="", redirecionamento) mais um wrapper com flock resolvem o que mais falha em silêncio.
-
Como ver o que está comendo a memória no Linux
A soma do RSS de todos os processos passa do total da máquina e ninguém entende por quê. O culpado é a contagem dupla de página compartilhada, e o PSS, não o RSS, é a conta que fecha.
-
O que muda no terminal quando o fzf assume a busca
O fzf casa o que você digita com o que está na lista, mesmo com erro de digitação. Medido em 50 mil caminhos: o grep acha 0 linhas com dois caracteres trocados e o fzf acha as 500.
-
Como deixar o terminal do Linux bonito e útil
Um script instala zsh, oh-my-zsh e três plugins, com backup do .zshrc e prova de que o shell abre. Medido: o shell vai de 83 ms para 195 ms, e um compinit escrito a mais leva a 2414 ms.
-
Configurar fail2ban sem se trancar fora
Quem se tranca fora quase sempre cai em um de dois erros: esquecer o proprio IP na ignoreip, ou deixar maxretry baixo demais para um cliente que abre varias conexoes. Medi o limiar real: com maxretry 3 o ban entra na terceira falha, e um IP da ignoreip pode errar 4 vezes sem ser banido.
-
O que acontece no handshake TLS
O handshake TLS 1.3 cabe em uma ida e volta: o cliente manda um ClientHello com uma chave publica recem-gerada, o servidor responde com a dele, e dai em diante tudo vai cifrado. Medi 778 bytes no handshake completo e 241 quando a sessao e retomada.
-
O que dá para medir com curl em uma chamada
Com -w o curl quebra a requisição em cinco fases e imprime o tempo de cada uma. Medido: de 63 ms de uma chamada https, 41,5 ms são só o handshake TLS. O post traz as receitas de POST, cabeçalho, redirect e erro.
-
Como rodar um contêiner sem root de verdade
user, cap_drop ALL, read_only e no-new-privileges. Medido: sem trava o processo tem 14 capacidades e escreve em /etc; com user 1000 as capacidades caem para 0 e o /dados precisa de dono.
-
Como parar de digitar a senha da chave a cada comando
O ssh-agent guarda a chave decifrada em memoria enquanto voce trabalha e ssh usa ela sozinho. O script abaixo sobe o agente, carrega a chave com prazo e mostra como conferir.
-
Trocar a senha do servidor por chave SSH
Desligar PasswordAuthentication fecha o caminho que ataques de senha usam, porque o cliente deixa de receber prompt de senha. Medi 20 tentativas erradas em 4,107 segundos contra um sshd de teste e mostro o script que instala a chave e desliga a senha sem deixar a máquina trancada.
-
Backup só vale se você testar a restauração
Fiz um backup com rsync --link-dest, apaguei um arquivo e o devolvi do snapshot com o hash sha256 batendo. Três snapshots de 4,1 MB ocuparam 4,1 MB, não 12,3 MB.
-
Comprimir memória no hardware, contra o zstd em software
A Meta propôs comprimir RAM no hardware para não gastar processador. Medi o zstd em três níveis: a descompressão custa quase o mesmo em todos, e é ela que importa.
Você chegou ao fim. Todas as postagens estão aqui.