Thankfully, I stumbled across an application that supports several universal package formats.
Bauh – a Manager for Your Multi-Package Needs
Originally named fpakman, bauh is designed to handle Flatpak, Snap, AppImage, and AUR packages. Creator vinifmor started the project in June’19 with the intention of “giving a graphical interface to manage Flatpaks for Manjaro users.” Since then, he has expanded the application to add support for Debian-based systems.
When you first open bauh, it will scan your installed applications and check for updates. If there are any that need to be updated, they will be listed front and center. Once all the packages are updated, you will see a list of packages you have installed. You can deselect a package with updates to prevent it from being updated. You can also choose to install a previous version of the application.
You can also search for applications. Bauh has detailed information for both installed and searched packages. If you are not interested in one (or more) of the packaging types, you can deselect them in settings.
Installing bauh on your Linux distribution
Let’s see how to install bauh.
If you have a recent install of Manjaro, you should be all set. Bauh comes installed by default. If you have an older install of Manjaro (like I do) or a different Arch-based distro, you can install it from the AUR by typing this in terminal:
sudo pacman -S bauh
Debian/Ubuntu based distributions
If you have a Debianor Ubuntubased Linux distribution, you can install bauh with pip. First, make sure to install pip on Ubuntu.
sudo apt install python3-pip
And then use it to install bauh:
pip3 install bauh
However, the creator recommends installing it manually to avoid messing up your system’s libraries.
To install bauh manually, you have to first download the latest release. Once you download it, you can unzip using a graphical tool or the unzip command. Next, open up the folder in your terminal. You will need to use the following steps to complete the install.
First, create a virtualenv in a folder called env:
python3 -m venv env
Now install the application code inside the env:
env/bin/pip install .
And launch the application:
Once you finish installing bauh, you can fine-tune it by changing the environment setting and arguments.
The road ahead for bauh
Bauh has grown quite a bit in a few short months. It plans to continue to grow. The current road map includes:
- Support for other packaging technologies
- Separate modules for each packaging technology
- Memory and performance improvements
- Improve the user experience
When I tried out bauh, I ran into a couple of issues. When I opened it up for the first time, it told me that Snap was not installed and that I would have to install it if I wanted to use Snaps. I know that Snap is installed because I ran
snap list in the terminal and it worked. I restarted the system and snaps worked.
The other issue I ran into was that one of my AUR packages failed to update. I was able to update the package without any issue with
yay. There might be an issue with my install of Manjaro, I’ve had it going for 3 or 4 years.
Overall, bauh worked. It did what was printed on the tin. I can’t ask for more than that.
Have you ever used bauh? What is your favorite tool to manage different package formats if there is one? Let us know in the comments below.
If you found this article interesting, please take a minute to share it on social media, Hacker News or Reddit.