The Universal Package Updater is a powerful, all-in-one script designed to automate updates across multiple package managers. Whether you're using Homebrew, Flatpak, Nix, Paru, Yay, or system-level package managers like apt, dnf, pacman, this script ensures your system is up-to-date effortlessly.
- Comprehensive Shell Support: Works seamlessly with Zsh, Bash, Fish, NuShell, Korn Shell, C Shell, Dash, Elvish, Xonsh, and BusyBox.
- Time-Saving: Updates all supported package managers with a single command.
- User-Friendly: Easy to set up and use, even for beginners.
- Customizable: Tailored to detect your shell environment and install the relevant script.
- Lightweight: Minimal resource usage while handling essential updates.
- Updates popular package managers:
- System Package Managers: apt, dnf, pacman, zypper, xbps, apk, slackpkg, guix
- Universal Package Managers: Homebrew, Flatpak, Snap, Nix
- AUR Helpers: Paru, Yay
- Programming Language Package Managers:
- npm, yarn, pnpm (Node.js)
- pip, poetry, conda (Python)
- gem, bundle (Ruby)
- composer (PHP)
- cargo (Rust)
- go get (Go)
- maven, gradle (Java)
- cabal, stack (Haskell)
- cpan (Perl)
- luarocks (Lua)
- Container Tools: Docker, Podman, Singularity
- Development Tools: Minikube
- Automatic cleanup after updates to free up disk space
- Compatible with multiple shell environments
Clone the repository into your system:
# Latest version
git clone https://github.com/fernand3z/update-script.git
# OR specific version (recommended)
git clone --branch v2.0.0 https://github.com/fernand3z/update-script.git
cd update-script
The installation script automatically detects your shell and installs the corresponding script:
I.
Run the command to make install.sh
executable.
chmod +x install.sh
II.
Run the command to install
./install.sh
- The appropriate script will be copied to
~/scripts/update_packages
. - If your shell is not detected, manually choose the script from the
scripts/
folder.
To simplify usage, add an alias to your shell configuration file:
# Add to ~/.zshrc
alias upgrade="~/scripts/update_packages"
# Add to ~/.bashrc or ~/.bash_profile
alias upgrade="~/scripts/update_packages"
# Add to ~/.config/fish/config.fish
alias upgrade="~/scripts/update_packages"
# Add to ~/.config/nushell/config.nu
alias upgrade = ~/scripts/update_packages
# Add to ~/.kshrc
alias upgrade="~/scripts/update_packages"
# Add to ~/.cshrc
alias upgrade ~/scripts/update_packages
# Add to ~/.dashrc or ~/.profile
alias upgrade="~/scripts/update_packages"
# Add to ~/.elvish/rc.elv
fn upgrade { ~/scripts/update_packages }
# Add to ~/.xonshrc
aliases['upgrade'] = '~/scripts/update_packages'
# Add to ~/.profile or /etc/profile
alias upgrade="~/scripts/update_packages"
# Add to ~/.profile
alias upgrade="~/scripts/update_packages"
After adding the alias, reload your shell configuration:
# For Zsh
source ~/.zshrc
# For Bash
source ~/.bashrc # or source ~/.bash_profile
# For Fish
source ~/.config/fish/config.fish
# For NuShell
source ~/.config/nushell/config.nu
# For KSH
source ~/.kshrc
# For CSH
source ~/.cshrc
# For Dash/POSIX/BusyBox
. ~/.profile
# For Elvish
exec elvish
# For Xonsh
source ~/.xonshrc
Use the upgrade
command to update all your package managers effortlessly:
upgrade
rm -rf ~/scripts ~/update-script
The Universal Package Updater streamlines the process of keeping your tools and system updated. Say goodbye to manually running multiple commands for each package manager. Our script does the heavy lifting for you.
Whether you're a macOS, Linux, or Arch Linux user, this script has you covered. It's perfect for developers, sysadmins, and tech enthusiasts.
No more forgetting to update a package manager. Keep your system clean and secure with built-in cleanup routines and regular updates.
Developers often juggle multiple environments and package managers. This script simplifies your workflow, ensuring all your tools are up-to-date with a single command.
update-script/
├── scripts/
│ ├── update_packages.zsh
│ ├── update_packages.fish
│ ├── update_packages.nu
│ ├── update_packages.sh
│ ├── update_packages.ksh
│ ├── update_packages.csh
│ ├── update_packages.dash
│ ├── update_packages.elv
│ ├── update_packages.xsh
│ ├── update_packages.bbsh
│ └── update_packages.posix.sh
├── install.sh
└── README.md
Contributions are welcome! If you have ideas for improvements or want to add support for more package managers, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License.
- Update Package Managers Automatically
- All-in-One Update Script
- Cross-Shell Package Manager Updater
- Automate System Updates
- Best Linux Package Updater
- Homebrew, Flatpak, Nix, APT, DNF Updates
- Effortless Software Updates
- Developer-Friendly Update Tool
- APT (Debian/Ubuntu)
- DNF (Fedora)
- Pacman (Arch)
- Zypper (openSUSE)
- Portage (Gentoo)
- XBPS (Void Linux)
- APK (Alpine)
- Slackpkg (Slackware)
- Guix
- Homebrew
- Flatpak
- Snap
- Nix
- Node.js (npm, yarn, pnpm)
- Python (pip, poetry, conda)
- Ruby (gem, bundle)
- PHP (composer)
- Rust (cargo)
- Go
- Java (maven, gradle)
- Haskell (cabal, stack)
- Perl (cpan)
- R
- Lua (luarocks)
- Docker
- Podman
- Singularity
- Minikube