A command-line utility to streamline system updates on Fedora through both Flatpak and DNF5.
- Unified Updates: Handles both Flatpak and DNF5 updates in a single command
- Real-time Progress: Displays update progress in real-time
- Interactive Mode: Optional interactive mode for choosing DNF5 update type
- Smart Detection:
- Automatically detects if Flatpak/DNF5 are installed
- Identifies when updates are available
- Shows clear status messages
- Update Options:
- DNF5: Supports both immediate and offline updates
- Flatpak: Automatic updates with clear progress indication
- RPM based Linux distribution
- Rust (for building from source)
- DNF5 (for system updates)
- Flatpak (optional, for Flatpak package updates)
-
Clone the repository:
git clone https://github.com/khs-kks/fedora-updater.git cd fedora-updater
-
Build and install:
cargo build --release sudo cp target/release/fedora-updater /usr/local/bin/
Simply run:
fedora-updater
This will:
- Check and perform Flatpak updates (if Flatpak is installed)
- Check and perform DNF5 updates
- Show real-time progress
- Indicate if a system restart is needed
Run with the -i
or --interactive
flag:
fedora-updater -i
In interactive mode:
- For DNF5 updates, you can choose between:
- Immediate update (type 'now')
- Offline update (press Enter)
- Immediate: Updates are applied immediately
- Offline: Updates are prepared and applied on next reboot
- Updates are always performed immediately
- No reboot required
The program provides clear, color-coded output:
- 🟢 Green: Success messages and normal operation
- 🟡 Yellow: Warnings and important notifications
- 🔴 Red: Error messages
- Output Interleaving: [Resolved] The previously observed race condition between stderr and stdout outputs during package updates has been fixed.
This project is licensed under the MIT License - see the LICENSE file for details.