A shell script to automate system updates on Fedora Linux, including multiple package managers and detection of manually installed programs that might need updates.
Features • Dependencies • Installation • Usage • License
The Fedora System Updater offers a comprehensive solution to keep your system up to date:
- Updates packages from multiple package managers:
- DNF (Fedora's main package manager)
- Flatpak
- Snap
- Python pip (user packages)
- Node.js npm (global packages)
- Rust cargo
- Detects manually installed programs that might need updates
- Performs system cleanup after updates
- Clear, colored output for better readability:
- Blue: Regular status messages
- Yellow: Warnings and manual update notifications
bash
dnf
The script will check for these and skip if not found:
flatpak
snap
pip
npm
cargo
-
Clone the repository:
Via SSH
git clone [email protected]:yourusername/update-all-script.git
Via HTTPS
git clone https://github.com/yourusername/update-all-script.git
-
Install the script:
cd update-all-script sudo cp src/update-all.sh /usr/local/bin/update-all sudo chmod +x /usr/local/bin/update-all
-
Configure PATH
The system PATH needs to include
/usr/local/bin
for the script to be executable from any directory. There are two configuration options:For the current terminal session:
export PATH=$PATH:/usr/local/bin
Add to your shell configuration file:
# Bash users: echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc source ~/.bashrc # Zsh users: echo 'export PATH=$PATH:/usr/local/bin' >> ~/.zshrc source ~/.zshrc
-
Verify installation:
which update-all
The output should show:
/usr/local/bin/update-all
Run the script as superuser:
sudo update-all
This project is licensed under the MIT License - see the LICENSE file for details.