58 lines
1.3 KiB
Bash
58 lines
1.3 KiB
Bash
#!/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) ==="
|