Disco cheio no Linux? Como liberar espaço com o ncdu
Aprenda a auditar inodes, diretórios inchados por logs de containers e pacotes órfãos em servidores de produção usando o ncdu e comandos essenciais de terminal.
Resumo
- O comando df mostra o uso geral do disco, mas o ncdu mapeia visualmente quais pastas estão consumindo todo o armazenamento.
- Inodes esgotados impedem a criação de novos arquivos mesmo com espaço livre, exigindo auditoria rápida via ncdu e find.
- Containers Docker geram logs volumosos que inflam diretórios do sistema e exigem limpeza periódica para evitar falhas.
- Pacotes órfãos e caches de gerenciadores de pacotes acumulam gigabytes invisíveis que podem ser removidos com segurança.
- Auditorias preventivas em servidores de produção evitam quedas inesperadas de serviços causadas por falta de espaço.
Por que o disco do seu servidor Linux lota de repente?
Quando um servidor de produção atinge 100% de uso de armazenamento, aplicações críticas travam, bancos de dados corrompem transações e o administrador entra em pânico. Na prática, isso significa que o sistema operacional perde a capacidade de gravar arquivos temporários, logs de auditoria e sessões de usuários. Saber exatamente onde o espaço foi parar é a diferença entre uma manutenção rápida e uma madrugada inteira de indisponibilidade no ar. Descobrir os vilões do armazenamento exige ir além do comando tradicional df, que apenas relata o panorama geral, e mergulhar em ferramentas visuais focadas em hierarquia de diretórios.
Em ambientes corporativos e servidores dedicados, o inchaço do disco costuma ser silencioso. Logs de aplicações que nunca rotacionaram, imagens antigas de containers e pacotes residuais de atualizações passadas acumulam-se em pastas ocultas. Para quem gerencia infraestrutura, a inspeção manual com o clássico du -sh * torna-se inviável e extremamente lenta em volumes grandes. É nesse cenário que o utilitário ncdu se destaca como o canivete suíço dos administradores de sistemas, oferecendo uma interface interativa baseada em texto direto no terminal.
O que é o ncdu e por que ele supera o comando du tradicional?
O ncdu (NCurses Disk Usage) é uma ferramenta de análise de uso de disco projetada para rodar em ambientes de linha de comando. Na prática, ele varre a estrutura de diretórios do sistema de arquivos e exibe os resultados em uma interface organizada em formato de lista hierárquica, permitindo navegar entre as pastas usando as setas do teclado. Enquanto o comando padrão du joga centenas de linhas de texto poluído na tela, o ncdu ordena tudo do maior para o menor consumidor de espaço, facilitando a tomada de decisão imediata.
Outra vantagem crítica em servidores de produção é a velocidade de varredura e a capacidade de exportar os resultados para análise posterior ou comparativa. Ao contrário de interfaces gráficas pesadas que exigem o uso de conexões X11 ou painéis web complexos, o ncdu consome recursos mínimos de CPU e memória. Isso garante que sua execução não degrade a performance do servidor enquanto você investiga uma emergência de armazenamento. Além disso, se você já passou pelo problema de espaço esgotado por containers Docker, o ncdu permite identificar rapidamente qual pasta do daemon do Docker está consumindo gigabytes preciosos.
Como instalar e executar o ncdu no seu servidor Linux
A instalação do ncdu é rápida na grande maioria das distribuições Linux modernas, estando presente nos repositórios oficiais de pacotes. Na prática, você pode instalá-lo com um único comando usando o gerenciador de pacotes padrão do seu sistema operacional, seja Debian, Ubuntu, CentOS ou Fedora. Para garantir que o escaneamento abranja todo o sistema de arquivos sem restrições de permissão de acesso, é fundamental executá-lo com privilégios administrativos usando o sudo.
Para colocar a ferramenta em ação no seu ambiente de produção, siga os passos abaixo no terminal:
- Instale o ncdu no Debian ou Ubuntu executando o comando de atualização e instalação:
sudo apt update && sudo apt install ncdu -y - Inicie a varredura completa do sistema raiz a partir do diretório principal com permissões elevadas:
sudo ncdu / - Navegue pelas pastas usando as setas para cima e para baixo, pressione a tecla d para excluir um arquivo ou diretório indesejado e q para sair da interface.
Auditoria rápida de inodes: quando o disco diz que tem espaço, mas está cheio
Um dos enigmas mais frustrantes para quem administra servidores Linux é receber um erro de espaço insuficiente ao tentar salvar um arquivo, mesmo quando o comando df -h indica que há gigabytes livres. Na prática, isso acontece porque o sistema operacional esgotou os chamados inodes (estruturas de dados internas que armazenam os metadados de cada arquivo, como permissões e localização). Cada arquivo, diretório ou link simbólico consome exatamente um inode, independentemente de seu tamanho físico.
Quando uma aplicação gera milhões de arquivos minúsculos — como sessões web expiradas, emails em filas de spool ou arquivos temporários de cache —, o limite de inodes do sistema de arquivos é atingido muito antes do término do espaço em disco. Para diagnosticar essa situação com precisão cirúrgica, você deve executar o comando df -i, que exibe a taxa de ocupação dos inodes em vez dos blocos de dados. Caso a coluna de uso atinja 100%, será necessário localizar diretórios com grande volume de pequenos arquivos usando comandos como o ncdu ou uma varredura com o comando find.
Identificando e limpando logs de containers e pacotes órfãos
Servidores modernos que rodam aplicações conteinerizadas frequentemente sofrem com o crescimento descontrolado de arquivos de log gerados pelo motor de containers. Embora ferramentas como o ncdu ajudem a mapear esses diretórios inchados — muitas vezes localizados em /var/lib/docker —, é essencial adotar políticas estruturadas de manutenção. Para quem gerencia ambientes complexos, vale a pena conferir estratégias adicionais de gestão de logs com logrotate no Linux para automatizar a limpeza e evitar surpresas indesejadas em horários de pico.
Outro ralo invisível de espaço em servidores Linux são os pacotes órfãos e arquivos de cache acumulados pelos gerenciadores de pacotes ao longo de meses de atualizações e compilações. Quando você remove um programa, dependências instaladas automaticamente e que deixaram de ser úteis continuam ocupando espaço precioso no disco. No ecossistema Debian/Ubuntu, o comando sudo apt autoremove --purge remove pacotes órfãos e arquivos de configuração residuais. Da mesma forma, limpar o cache do gerenciador com sudo apt clean libera imediatamente gigabytes de instaladores antigos (.deb) armazenados localmente. Para aprofundar esses conceitos na prática em produção, confira também nossa análise técnica sobre Como testar cristal oscilador de quartzo no osciloscópio.
Considerações finais sobre auditoria de armazenamento e prevenção
Manter a saúde do armazenamento em servidores Linux vai muito além de apagar arquivos manualmente quando o alerta de disco cheio dispara. A adoção de ferramentas eficientes como o ncdu transforma uma tarefa reativa e estressante em um processo cirúrgico de auditoria rápida e segura. Compreender o comportamento dos inodes, monitorar o volume gerado por logs e expurgar pacotes órfãos regularmente garantem a estabilidade operacional da sua infraestrutura.
Para blindar seus servidores contra indisponibilidades futuras, o ideal é integrar rotinas automatizadas de monitoramento de espaço e inodes ao seu sistema de alertas. Combinando boas práticas de limpeza com ferramentas de inspeção visual, você protege suas aplicações contra falhas catastróficas e mantém o ambiente de produção rodando com máxima eficiência.