diff --git a/README.md b/README.md index cc5cfb8..2dbeb0e 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,14 @@ Script e serviço `systemd` para atualizar automaticamente o sistema e reiniciar 1. Salve o script: + Neste repositório, o script está em `fedora_pos_instalacao_auto_update.sh`. Você pode instalar direto dele: + + ```bash + sudo install -m 755 fedora_pos_instalacao_auto_update.sh /usr/local/bin/auto-update.sh + ``` + + Ou crie/edite manualmente: + ```bash sudo nano /usr/local/bin/auto-update.sh ``` @@ -57,6 +65,7 @@ Script e serviço `systemd` para atualizar automaticamente o sistema e reiniciar ## O que o script faz +- Remove alguns programas padrões (e executa `dnf autoremove`) - Atualiza todos os pacotes automaticamente - Verifica se precisa reiniciar - Aguarda 30 segundos antes de reiniciar (tempo para cancelar se necessário) @@ -75,4 +84,3 @@ Para ver os logs: ```bash sudo journalctl -u auto-update.service -f ``` - diff --git a/fedora_auto_update.sh b/fedora_auto_update.sh deleted file mode 100644 index 46e8361..0000000 --- a/fedora_auto_update.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/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" - -echo "=== Atualização automática iniciada em $(date) ===" >> "$LOG_FILE" - -# Atualiza o sistema -dnf upgrade -y >> "$LOG_FILE" 2>&1 - -# Verifica se há necessidade de reiniciar -if [ -f /var/run/reboot-required ] || needs-restarting -r >> "$LOG_FILE" 2>&1; then - echo "Reinicialização necessária. Reiniciando em 30 segundos..." >> "$LOG_FILE" - sleep 30 - reboot -else - echo "Atualização concluída. Reinicialização não necessária." >> "$LOG_FILE" -fi - -echo "=== Atualização finalizada em $(date) ===" >> "$LOG_FILE" \ No newline at end of file diff --git a/fedora_pos_instalacao_auto_update.sh b/fedora_pos_instalacao_auto_update.sh new file mode 100644 index 0000000..651d989 --- /dev/null +++ b/fedora_pos_instalacao_auto_update.sh @@ -0,0 +1,57 @@ +#!/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) ==="