Script de limpeza, atualização e verificação de erros no Debian
Publicado por Ricardo Lisboa (última atualização em 11/01/2026)
[ Hits: 1.007 ]
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"
diskSpace - acha os dez maiores gastadores de espaço em disco
Iptables - script para firewall utilizando iptables
Calcula período entre data inicial e data final
Gerador de senhas aleatórias com pwgen
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Tentando fazer um "linux ricing" mas falhando miseravelmente... (0)
O que houve com slackware ??? (17)









