EzUpdate is a robust, fully automated system update utility for Linux. It unifies maintenance for APT, DNF, Flatpak (System & User), and Snap into a single, reliable workflow with advanced safety features like rollback, transaction logging, and dual-state reporting.
- Multi-Manager Support: Automatically detects and handles
apt,dnf,flatpak, andsnap. - Fully Automated: Designed for speed and reliability, it automatically applies the default upgrade paths for all detected managers.
- Dual-State Reporting: Generates a comprehensive report showing both Pending Updates (what was found) and Applied Updates (what was successfully changed).
- User-Level Flatpak Support: Automatically detects and updates both system-wide and user-installed Flatpaks.
- Rollback Capability: Records transaction history and allows you to revert changes if an update causes issues.
- Detailed Logging: Maintains a machine-readable history (CSV) and verbose execution logs.
- Email Reporting: Optionally email the detailed update summary to an administrator.
- Reboot Detection: Automatically checks if a system reboot is required after updates.
- Automated Cleanup: Runs post-update cleanup (autoremove, cache clearing).
-
Clone this repository:
git clone https://github.com/stldave314/ezupdate.git cd ezupdate -
Make the script executable:
chmod +x ezupdate.sh
EzUpdate requires sudo privileges to perform system-level updates.
sudo ./ezupdate.sh [options]| Flag | Description |
|---|---|
-h, --help |
Show the help message. |
--rollback <file> |
Rollback Mode. Revert changes based on a log file. Use latest to rollback the last run. |
--email <address> |
Email the dual-state report to the specified address upon completion. |
--log-dir <path> |
Specify a custom directory for logs (Default: /var/log/ezupdate or ~/.ezupdate/logs). |
Run All Updates:
sudo ./ezupdate.shAutomated Maintenance with Email Report:
sudo ./ezupdate.sh --email admin@example.comRollback the Last Update Batch:
sudo ./ezupdate.sh --rollback latestEzUpdate tracks the specific versions or commit hashes of updated packages in its history log.
- APT: Attempts to install the previously recorded version (
apt install pkg=old_ver). - Flatpak: Reverts to the previous recorded commit hash.
- Snap: Uses
snap revert. - DNF: Uses
dnf history undo.
Logs are stored in /var/log/ezupdate/ (if run as root) or ~/.ezupdate/logs/.
- history.csv: Machine-readable transaction log used for rollbacks.
- ezupdate_run.log: Verbose output of every command executed.
- ezupdate_report.txt: The dual-state summary (Pending vs. Applied) of the last run.
MIT License.