Script de limpeza, atualização e verificação de erros no Debian
Publicado por Ricardo Lisboa (última atualização em 11/01/2026)
[ Hits: 82 ]
Download debian-clean-and-diagnose.sh
Esse script, criado com a ajuda do Gemini, permite fazer limpeza, atualização e diagnóstico no Debian 13. Resolvi criar após erros e travamentos no meu sistema, devido à instalação de programas. Ele detectou tudo que estava com problemas e, submetendo o relatório ao Gemini, consegui resolver.
#!/bin/bash
# ==============================================================================
# AVISO SOBRE O HISTÓRICO DE LOGS:
# Este script utiliza 'journalctl --vacuum-time=1s' ao final da execução.
# Isso remove todos os logs anteriores para garantir que relatórios futuros
# mostrem apenas erros novos. Se o sistema sofrer um erro crítico ou travar,
# analise os logs ANTES de rodar este script, pois o histórico será apagado.
# ==============================================================================
# 1. Detecta o usuário real (mesmo se rodar com sudo) e define o diretório
REAL_USER=${SUDO_USER:-$USER}
REAL_HOME=$(getent passwd "$REAL_USER" | cut -d: -f6)
DIRETORIO_REPORTS="$REAL_HOME/Reports"
# 2. Cria a pasta com as permissões corretas para o seu usuário
sudo install -d -o "$REAL_USER" -g "$REAL_USER" "$DIRETORIO_REPORTS"
# 3. Define o nome do arquivo
ARQUIVO_LOG="$DIRETORIO_REPORTS/Relatorio_Manutencao_$(date +%Y%m%d_%H%M%S).txt"
# Inicia o bloco de captura (Tudo aqui dentro vai para o arquivo e para a tela)
{
echo "====================================================="
echo " MANUTENÇÃO, ATUALIZAÇÃO E ANÁLISE"
echo " Data: $(date)"
echo " Usuário: $REAL_USER"
echo "====================================================="
# --- PARTE 1: ATUALIZAÇÃO E MANUTENÇÃO ---
printf "\n%s* 1. Atualizando o sistema...%s\n" "$B" "$N"
sudo apt update -y 2>/dev/null && sudo apt full-upgrade -y 2>/dev/null
if dpkg -s flatpak >/dev/null 2>&1; then
printf "\n%s- Atualizando e limpando flatpaks...%s\n" "$B" "$N"
flatpak update -y
flatpak uninstall --unused -y
fi
printf "\n%s* 2. Limpeza de pacotes e cache...%s\n" "$B" "$N"
sudo apt purge --autoremove -y 2>/dev/null
sudo apt autoclean -y 2>/dev/null
sudo apt clean 2>/dev/null
printf "\n%s* Executando o TRIM...%s\n" "$B" "$N"
fstrim -v /
# --- PARTE 2: ANÁLISE DE SAÚDE ---
echo -e "\n====================================================="
echo " DIAGNÓSTICO DE ERROS (PÓS-MANUTENÇÃO)"
echo "====================================================="
echo -e "\n[1/4] Verificando integridade de pacotes..."
sudo dpkg --configure -a
sudo apt-get check 2>/dev/null || echo "ERRO: Problemas nas dependências encontrados."
echo -e "\n[2/4] Erros críticos no log (Última sessão):"
sudo journalctl -p 3 -b --no-pager
echo -e "\n[3/4] Alertas do Kernel (Hardware/Drivers):"
sudo dmesg -T --level=err,crit,alert | tail -n 10
echo -e "\n[4/4] Top 5 Processos (CPU):"
ps aux --sort=-%cpu | head -n 6
echo -e "\n====================================================="
echo " LIMPANDO HISTÓRICO DE LOGS (Journal Vacuum)"
echo "====================================================="
sudo journalctl --vacuum-time=1s
echo -e "\nFIM DO PROCESSO: $(date +%H:%M:%S)"
echo "AVISO: O histórico de logs foi resetado para garantir relatórios limpos."
} | tee "$ARQUIVO_LOG"
# Ajusta permissão para o usuário real (Ricardo)
sudo chown "$REAL_USER":"$REAL_USER" "$ARQUIVO_LOG"
printf "\n%s* Concluído! Relatório salvo em: %s%s\n" "$B" "$ARQUIVO_LOG" "$N"
printf "%s* NOTA:%s Histórico de logs limpo para a próxima análise.\n\n" "$B" "$N"
DNSGEN - Gera e mantém configurações dos servidores DNS
Pegar MAC através do IP na rede interna
Copia um DVD de um Game para o HDD do Play2 via rede
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
O widget do Plasma 6 Área de Notificação
[Resolvido] Algo deu errado ao abrir seu perfil
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









