#!/bin/bash # Script de atualização automática do Fedora # Executa no boot e reinicia se necessário LOG_FILE="/var/log/auto-update.log" log() { echo "$1" >>"$LOG_FILE" } log "=== Atualização automática iniciada em $(date) ===" if [ "$(id -u)" -ne 0 ]; then log "ERRO: execute como root." exit 1 fi # Remove programas desnecessários log "Removendo programas desnecessários..." dnf remove -y \ libreoffice-* \ gnome-tour \ yelp \ gnome-boxes \ totem \ gnome-maps \ gnome-weather \ gnome-contacts \ gnome-clocks \ >>"$LOG_FILE" 2>&1 # Remove dependências órfãs dnf autoremove -y >>"$LOG_FILE" 2>&1 log "Programas removidos com sucesso." # Atualiza o sistema log "Atualizando o sistema..." dnf upgrade -y >>"$LOG_FILE" 2>&1 # Verifica se há necessidade de reiniciar needs_restarting_rc=0 needs-restarting -r >>"$LOG_FILE" 2>&1 needs_restarting_rc=$? if [ -f /var/run/reboot-required ] || [ "$needs_restarting_rc" -eq 1 ]; then log "Reinicialização necessária. Reiniciando em 30 segundos..." sleep 30 reboot elif [ "$needs_restarting_rc" -eq 0 ]; then log "Atualização concluída. Reinicialização não necessária." else log "AVISO: falha ao verificar reinicialização (needs-restarting rc=$needs_restarting_rc)." fi log "=== Atualização finalizada em $(date) ==="