Are you a distro-hopper who enjoys exploring new Linux OSs every few days? If so, I have something for you. Meet Sysget, a front-end for popular package managers in Unix-like operating systems.
Sysget is a wrapper script for most native Linux package managers. With Sysget, you don't need to learn the commands of every package manager for basic tasks like installing, updating, upgrading, and removing packages. Just remember one syntax for all package managers across different Unix-like operating systems.
Using Sysget, you can do all sorts of basic package management operations such as:
- Install packages,
- Update packages,
- Upgrade packages,
- Search for packages,
- Remove packages,
- Remove orphan packages,
- Update database,
- Upgrade system,
- Clear package manager cache.
Sysget is an opensource project written in C++. Its source code is freely available on GitHub.
An important note for Linux learners:
Sysget isn't a replacement for package managers and isn't suitable for everyone. It benefits newcomers who regularly switch between Linux OSs, offering a unified script that eases frustration by simplifying the use of various package managers.
Sysget helps with installing, updating, upgrading, searching, and removing packages across different Linux distributions. However, Linux administrators or enthusiasts keen on understanding the internals of Linux should stick to their distribution's native package manager and master its usage.
Table of Contents
Install Sysget in Linux
Installing sysget is trivial. Go to the releases page and download latest Sysget binary and install it as shown below. As of writing this guide, the latest version was 2.3.
To install Sysget on Linux, follow these steps:
Download Sysget:
$ sudo wget -O /usr/local/bin/sysget https://github.com/emilengler/sysget/releases/download/v2.3/sysget
Make it executable:
$ sudo chmod a+x /usr/local/bin/sysget
Set up bash completion:
$ sudo wget -O /etc/bash_completion.d/sysget https://raw.githubusercontent.com/emilengler/sysget/v2.3/contrib/sysget.bash-completion
After these steps, Sysget should be installed and ready to use on your Linux system.
The older versions (E.g. Sysget 1.2) can be installed like below:
$ sudo wget -O /usr/local/bin/sysget https://github.com/emilengler/sysget/releases/download/v1.2/sysget
$ sudo mkdir -p /usr/local/share/sysget
$ sudo chmod a+x /usr/local/bin/sysget
Configure Sysget
When you run Sysget for the first time, you will be asked to choose the package manager you want to use. Since I am on Ubuntu, I chose apt-get.
You must choose the correct package manager depending upon the distribution you're running. For instance, if you're on Arch Linux, choose pacman. For Fedora or RHEL, choose yum. For FreeBSD, choose pkg. The list of currently supported package managers are given below:
- apt,
- xbps,
- dnf,
- yum,
- zypper,
- eopkg,
- pacman,
- emerge,
- pkg,
- pkg_mgr,
- chromebrew,
- homebrew,
- nix,
- snap,
- npm,
- flatpak,
- slapt-get,
- pip3,
- GNU guix,
- Ruby gems,
- MacPorts.
Just in case you assigned a wrong package manager by mistake, you can set a new package manager using the following command:
$ sudo sysget set yum Package manager changed to yum
Just make sure you have chosen your native package manager.
Now, you can perform the package management operations as the way you do using your default package manager.
How to Use Sysget in Linux
Sysget commands are mostly same as APT package manager, so it should be easy to use for the newbies.
Let us see some examples.
1. Installing packages:
To install a package, for example Emacs, simply run:
$ sudo sysget install emacs
The above command will invoke the native package manager (In my case it is "apt-get") and install the given package.
2. Removing packages:
Similarly, to remove a package, simply run:
$ sudo sysget remove emacs
3. Update software repository (database):
$ sudo sysget update
4. Search for a specific package:
$ sudo sysget search emacs
5. Upgrade a single package:
$ sudo sysget upgrade emacs
6. Upgrade all packages:
$ sudo sysget upgrade
7. Remove all orphaned packages:
$ sudo sysget autoremove
8. Clear the package manager cache:
$ sudo sysget clean
9. Getting help:
For more details, refer the help section:
$ sysget help Help of sysget sysget [OPTION] [ARGUMENT] search [query] search for a package in the resporitories install [package] install a package from the repos remove [package] removes a package autoremove removes not needed packages (orphans) update update the database upgrade do a system upgrade upgrade [package] upgrade a specific package clean clean the download cache set [NEW MANAGER] set a new package manager
Please remember that the sysget syntax is same for all package managers across different Linux distributions. This means you don't have to memorize different commands for each package manager.
Again, it's important to understand that Sysget isn't a replacement for a package manager. It's a wrapper for popular package managers in Unix-like systems, designed to perform only the basic package management operations.
Frequently Asked Questions
Here is common FAQ about Sysget.
A: Sysget is a front-end wrapper for various package managers in Unix-like systems, providing a consistent syntax across different distributions.
A: Sysget handles basic package management tasks such as install, update, upgrade, search, and remove.
A: Sysget supports many popular package managers like apt, dnf, pacman, yum, pip, npm and pkg, among others.
A: No, Sysget doesn't replace existing package managers; it simplifies their use by standardizing commands.
A: Yes, Sysget is ideal for beginners and distro-hoppers, making it easier to manage packages without learning different commands for each package manager.
Conclusion
Sysget could be particularly useful for beginners and those who frequently switch between Linux distributions but prefer not to learn new commands for different package managers. If you're curious, give it a try and see if it simplifies your experience.
Resource:
Related Read: