Files
Script/README.md

2.3 KiB

Auto Update Fedora (pós-instalação) + systemd

Script e serviço systemd para (opcionalmente) remover alguns pacotes padrão do Fedora, atualizar automaticamente o sistema e reiniciar quando necessário.

Instalação

  1. Salve o script:

    Neste repositório, o script está em fedora_pos_instalacao_auto_update.sh. Você pode instalar direto dele:

    sudo install -m 755 fedora_pos_instalacao_auto_update.sh /usr/local/bin/auto-update.sh
    

    Ou crie/edite manualmente:

    sudo nano /usr/local/bin/auto-update.sh
    

    Cole o conteúdo do script e salve (Ctrl+O, Enter, Ctrl+X).

  2. Dê permissão de execução:

    sudo chmod +x /usr/local/bin/auto-update.sh
    
  3. Crie o serviço systemd:

    sudo nano /etc/systemd/system/auto-update.service
    

    Cole este conteúdo:

    [Unit]
    Description=Atualização automática do sistema
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    Type=oneshot
    ExecStart=/usr/local/bin/auto-update.sh
    StandardOutput=journal
    StandardError=journal
    
    [Install]
    WantedBy=multi-user.target
    
  4. Ative o serviço:

    sudo systemctl daemon-reload
    sudo systemctl enable auto-update.service
    
  5. Instale o pacote necessário (se não tiver):

    sudo dnf install dnf-utils -y
    

O que o script faz

  • Executa como root (se não for root, ele encerra e registra erro no log)
  • Remove pacotes (se existirem) e depois roda dnf autoremove -y para limpar dependências órfãs:
    • libreoffice-*
    • gnome-tour
    • yelp
    • gnome-boxes
    • totem
    • gnome-maps
    • gnome-weather
    • gnome-contacts
    • gnome-clocks
  • Atualiza o sistema com dnf upgrade -y
  • Verifica se precisa reiniciar usando needs-restarting -r (do pacote dnf-utils) e também checa /var/run/reboot-required se existir
  • Se precisar reiniciar, aguarda 30 segundos e reinicia
  • Registra toda a execução em /var/log/auto-update.log

Se você não quiser remover esses pacotes, edite a lista na seção dnf remove -y do script.

Teste e logs

Para testar sem esperar o boot:

sudo systemctl start auto-update.service

Para ver os logs:

sudo journalctl -u auto-update.service -f