Files
Script/README.md

99 lines
2.3 KiB
Markdown

# 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:
```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
```
Cole o conteúdo do script e salve (`Ctrl+O`, `Enter`, `Ctrl+X`).
2. Dê permissão de execução:
```bash
sudo chmod +x /usr/local/bin/auto-update.sh
```
3. Crie o serviço `systemd`:
```bash
sudo nano /etc/systemd/system/auto-update.service
```
Cole este conteúdo:
```ini
[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:
```bash
sudo systemctl daemon-reload
sudo systemctl enable auto-update.service
```
5. Instale o pacote necessário (se não tiver):
```bash
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:
```bash
sudo systemctl start auto-update.service
```
Para ver os logs:
```bash
sudo journalctl -u auto-update.service -f
```