Complete guide for using Tuxgrade.
-
Add the repository:
sudo curl -o /etc/yum.repos.d/tuxgrade.repo https://raw.githubusercontent.com/Lineax17/tuxgrade/main/extras/tuxgrade.repo
-
Install the package:
sudo dnf install tuxgrade
-
Add the repository:
sudo curl -o /etc/apt/sources.list.d/tuxgrade.list https://raw.githubusercontent.com/Lineax17/tuxgrade/main/extras/tuxgrade.list sudo apt update
-
Install the package:
sudo apt install tuxgrade
Note: For backward compatibility, the commands
fedora-update,fedora-upgrade, andfuckare available as aliases.
-
Clone the repository:
git clone https://github.com/Lineax17/tuxgrade.git cd tuxgrade -
Install with pip:
pip install .
- Supported Linux Distribution:
- Fedora Linux (dnf4/dnf5)
- RHEL/CentOS/AlmaLinux/Rocky Linux (dnf4)
- Debian/Ubuntu/Pop!_OS/Linux Mint/Zorin OS (apt)
- Python 3.10+ (required)
- Package Manager:
- DNF 4 or DNF 5 (for Fedora/RHEL-based distributions)
- DNF 5: Fedora 41+ (recommended)
- DNF 4: Version 4.19+ (tested on Fedora 40, AlmaLinux)
- APT (for Debian/Ubuntu-based distributions)
- DNF 4 or DNF 5 (for Fedora/RHEL-based distributions)
- sudo privileges (required)
- Flatpak (optional, for Flatpak updates)
- Snap (optional, for Snap updates)
- Homebrew (optional, for Homebrew updates)
- akmods (optional, for NVIDIA driver rebuilds on Fedora)
Run the system update with default settings (silent mode with spinners):
tuxgradeFor backward compatibility:
fedora-update # Still works as an aliasShow detailed output during the update process:
tuxgrade --verboseor shorter:
tuxgrade -lUpdate Homebrew packages in addition to system packages:
tuxgrade --brewor shorter:
tuxgrade -btuxgrade --verbose --brew
tuxgrade -l -b| Option | Short | Description |
|---|---|---|
--verbose |
-l |
Enable detailed output for debugging and monitoring |
--brew |
-b |
Include Homebrew packages in the update process |
--version |
Display version information and exit | |
--help |
-h |
Show help message and exit |
The update process follows these steps in order:
- Checks for available kernel updates using the appropriate package manager:
- Fedora:
dnf5 check-upgrade kernel*ordnf check-upgrade kernel*
- Fedora:
- If a kernel update is found, prompts for user confirmation
- User Action Required: Type
yorYto proceed, or any other key to abort
- Updates all system packages using your distribution's package manager:
- Fedora/RHEL: DNF5 or DNF4
- Ubuntu/Debian: APT
- Refreshes package repositories
- In verbose mode: shows live update output
- In silent mode: displays progress spinner
- Automatically rebuilds initramfs if a kernel update was installed
- Uses
dracut -f --regenerate-all - Ensures new kernel can boot properly
- Checks if
akmodsis installed (Fedora only for now) - Rebuilds NVIDIA kernel modules if present
- Ensures NVIDIA drivers work with new kernel
- Skipped on Debian/Ubuntu-based distributions
- Updates all Snap packages if Snap is installed
- Uses
snap refresh - Skips if Snap is not available
- Updates all Flatpak applications if Flatpak is installed
- Uses
flatpak update - Skips if Flatpak is not available
- Only runs if
--brewflag is provided - Updates Homebrew formulae and casks
- Uses
brew updateandbrew upgrade
Problem: Script keeps asking for sudo password.
Solution: The script uses a keepalive mechanism. You should only be prompted once at the start. If prompted multiple times, check your sudo configuration.
Problem: NVIDIA drivers stop working after a kernel update.
Solution:
- Check if akmods is installed:
rpm -qa | grep akmods - Manually rebuild:
sudo akmods --force - Reboot your system
Note: This only applies to Fedora/RHEL-based distributions using akmods. Ubuntu/Debian users should consult official Distro documentation if error occur.
Problem: Script appears to freeze during update.
Solution:
- Use verbose mode to see what's happening:
tuxgrade --verbose - Check if a package installation is waiting for user input
- Press
Ctrl+Cto cancel and investigate
Problem: Flatpak or Snap updates fail but script continues.
Solution: These are non-critical. The script will print a message and continue. You can update them manually:
flatpak update
snap refreshRun tuxgrade regularly (weekly recommended) to keep your system secure and up-to-date.
If something goes wrong, run with --verbose to see detailed output:
tuxgrade --verboseBefore major version upgrades or kernel updates, consider backing up important data.
When prompted for kernel update confirmation, read the version number carefully. Major kernel updates may occasionally cause compatibility issues with proprietary drivers.
After a kernel update, reboot your system to load the new kernel:
sudo reboot| Code | Meaning |
|---|---|
| 0 | Success - all updates completed |
| 1 | Error - unexpected error occurred |
| 130 | Cancelled - user cancelled with Ctrl+C |
- Documentation: docs/README.md
- Issues: GitHub Issues
- Discussions: GitHub Discussions