Para onde foi o espaço em disco: análise e limpeza
O aviso de “disco quase cheio” acaba acontecendo com todo usuário de Ubuntu. A parte chata é que o df diz que está cheio, mas não o que ocupou o espaço. Esta é a ordem reproduzível: primeiro localizar, depois limpar.
Passo 1: quão cheio está de verdade
df -hObserve a coluna Use%, principalmente para / (o sistema de arquivos raiz) e /home, se for uma partição separada.
O equivalente gráfico é a barra de uso no Discos depois de selecionar uma partição, ou a barra de capacidade na parte inferior da barra lateral do gerenciador de arquivos.
Passo 2: encontre os diretórios grandes
O du consegue calcular isso, mas você acaba adivinhando um nível por vez:
# Size of each subdirectory here, largest first
du -h --max-depth=1 . | sort -hr | headO Disk Usage Analyzer (baobab) varre a árvore inteira de uma vez e é muito mais fácil de ler:
sudo apt install baobab
baobab /home/$USEREle começa a varredura pelo caminho que você informar e, ao terminar, mostra isto:

Como interpretar:
- A lista da esquerda é ordenada por tamanho; expanda as linhas seta por seta e você obtém os caminhos exatos, o que é melhor do que clicar nos anéis
- Treemap Chart, no canto inferior direito, transforma proporções em áreas, então o maior bloco fica evidente num relance
- Esta captura é de uma VM recém-instalada em que só o
snapocupa 87% — não é bug: cada app Snap mantém várias revisões
Varrer o ~ leva segundos; varrer o / leva minutos, porque percorre o sistema inteiro. Comece pelo ~ e só varra o / quando isso não explicar o uso.
Passo 3: limpe os suspeitos de sempre
Revisões antigas do Snap
O Snap mantém as últimas revisões para que você possa reverter, e cada uma é uma cópia completa do programa. É daí que vêm os 87% acima.
# Keep 2 revisions instead of the default 3
sudo snap set system refresh.retain=2
# Remove every disabled revision
sudo snap list --all | awk '/disabled/{print $1, $3}' | while read name rev; do
sudo snap remove "$name" --revision="$rev"
donePacotes baixados
# Empty /var/cache/apt/archives
sudo apt clean
# Drop dependencies nothing needs any more
sudo apt autoremove --purgeJournal do systemd
Os logs do journalctl podem chegar a vários GB:
# Keep at most 200 MB
sudo journalctl --vacuum-size=200M
# Or keep only 7 days
sudo journalctl --vacuum-time=7dCaches de usuário
Navegadores, miniaturas e caches de aplicativos ficam todos em ~/.cache:
du -h --max-depth=1 ~/.cache | sort -hr | headPense antes de apagar: os caches dos navegadores se reabastecem sob demanda e normalmente mantêm você conectado, enquanto ~/.cache/thumbnails é sempre seguro de remover.
Passo 4: quando a limpeza não basta
A limpeza ganha tempo; espaço de verdade significa aumentar ou mover:
- Máquinas virtuais: aumente o disco virtual nas configurações da VM e depois expanda a partição (
growparteresize2fs) - Máquinas físicas: adicione um disco e formate/monte-o — veja Discos, montagem e fstab
- Mover dados: mova diretórios grandes como
~/Downloadsou a raiz de dados do Docker para o novo disco e monte-os viafstab
FAQ
O df diz cheio, mas o du soma bem menos
O caso clássico: um arquivo foi apagado, mas um processo ainda o mantém aberto, então o espaço só é liberado quando esse processo termina.
# Find deleted files that are still open
sudo lsof +L1 2>/dev/null | headO culpado de sempre é um escritor de log ainda em execução; reinicie o serviço responsável (sudo systemctl restart <service>).
“No space left on device”, mas o df mostra espaço livre
Provavelmente esgotamento de inodes, típico com números enormes de arquivos pequenos (spools de e-mail, camadas de contêiner).
# Check inode usage
df -iSe IUse% estiver em 100%, esse é o seu problema; a solução é o mesmo tipo de limpeza, só que o que você precisa apagar são muitos arquivos pequenos, não os grandes.
Automatizando a limpeza
O systemd-tmpfiles já limpa o /tmp e alguns caches. Para agendar a limpeza do cache do apt, adicione uma entrada no cron:
# Clean the apt cache every Sunday at 03:00
0 3 * * 0 root /usr/bin/apt cleanSalve como /etc/cron.d/apt-clean.
Relacionados
- Discos, montagem e fstab — partições, formatação e montagem na inicialização
- Monitoramento de desempenho — htop e o monitor do sistema
- journalctl — tamanho e rotação dos logs