bauh
All-in-One Package Manager
The bauh package manager provides a single interface to manage all of your Linux software. Despite a few issues, bauh goes a long way in simplifying package management.
Ever since package managers added automatic dependency resolution, installing software in Linux has been easy. The greatest difficulties arose from attempts to use different package formats, such as Debian’s Alien. These attempts were never fully successful and widely ignored. However, with the popularity of universal formats like AppImage, Snap, Flatpak, and web applications, package management has become more complex, with each format using its own commands for administration. Formerly known as fpakman, bauh is designed to simplify package management by using a single interface for all formats. In addition, bauh is one of the easiest interfaces available for package management either on the desktop or at the command line, despite the fact that some of the interface’s details need to be improved.
Currently at release 0.10.7, bauh has far to go before general release. As I write, it supports Arch, AppImage, Snap, Flatpak, and native web applications, covering the most popular formats, but likely others will be added as development continues. Also, for some reason, the top half of package release numbers are obscured in bauh’s tables, but other columns are perfectly legible (Figure 1). As well, a few of the buttons on the right side of the main window seem needlessly redundant (possibly to accommodate varying user preferences), while, in an effort to avoid jargon, the functions of some fields are obscure. Fortunately, though, such problems do not stop bauh from being already functional. Package installation and removal are already implemented. In addition, bauh can also use Timeshift for backup before making changes and can be installed in the system tray. Already, bauh supports custom themes. Written in Qt, bauh supports all these features with a responsiveness that makes it usable even in the early release stage.
Installing and Configuring bauh
You can install bauh for an individual account or for the entire system. It has yet to be included in the repositories of most distributions. However, bauh’s GitHub page includes detailed installation instructions for Arch Linux, Debian, and Ubuntu directly, and for Python 3’s pip installer. Judging by the extra actions listed on the project page for each distribution, the Arch version appears to be the most advanced. But considering the dozen required and the dozen optional dependencies, the easiest way to install bauh is with AppImage, although you may need to uninstall AppImageLauncher first.
After the basic installation, bauh can be customized by editing the configuration file for either the system or the current account (Figure 2). Several other options are detailed on the GitHub page:
- Each packaging format can be set not to display.
- The priority for each source can be changed. These sources depend on the distribution.
- Custom themes can be created.
- Icons can be added to the system tray.
Some of these customizations are also available as command-line options (see below). Users may find the default options satisfactory, especially in their first explorations of bauh.
If you decide to keep bauh, you can upgrade from the user interface.
Post-Installation Orientation and Setup
The first time bauh runs, it takes a few seconds to initialize. During this process, it collects and categorizes all the packages installed on the system and displays its findings in the main window. The default display shows the packages with available updates, but it can be filtered at the top left of the window in several other ways, such as by apps, category, or package type. A search field and a Refresh button are also available. On the bottom right, you’ll find is a variety of buttons, which are not arranged in any obvious order (from left to right, they are Suggestions, Themes, History, Settings, and Credits).
Before you begin using bauh, you may want to do some configuration, although it is ready to use with the defaults. Suggestions provides mostly websites for creating web applications, but it also includes games, emulators, and a few standard multimedia apps ranging from Audacity to Krita – a total of 53 overall. Settings is more practical. From its tabs, you can set the types of packages that your bauh instance supports, as well as its general behavior, such as whether the system should reboot after each installation, the scale of the interface, or how bauh behaves when installed to the system tray. There is also has a separate tab for how each package type behaves, although settings are sometimes labeled obscurely. For instance, the tab for Debian packages has settings whose exact meaning is sometimes poorly labeled:
- Software settings set by default to Auto, which is not defined but probably means those listed in /etc/app
- An option for complete removal of software (i.e., Apt’s purge option) set to No
- The time between synchronization of the local system with repositories (judging from the configuration file, probably in seconds)
- App cache expiration, presumably for bauh itself and in seconds
- Suggestions expiration, presumably in seconds
The settings do have help icons, but since online help is not implemented, they are only a promise of future explanations. For now, some of the settings should probably be done manually rather than automatically.
Working with Packages in bauh
After so much configuration, working with packages in bauh is straightforward. Because bauh uses intelligent defaults, it is ready to use immediately. Whether in the main or Suggestions window, installing or uninstalling is as simple as selecting it and then clicking the Install or Uninstall button on the right (Figure 3). If you are uncertain what an installed package does – which is perfectly possible, considering that a Linux system may have several thousand packages – you can click one button to view it or another button to read a technical summary (Figure 4). Usefully, you can install still another button to ignore updates for a package, read a history if it is a Flatpak package, or remove it completely if it is a Debian package. Packages can be installed for the system or a single account, but as an added security measure, even installation for a single account requires a password.
Ordinarily, bauh can run without options, relying on automatic settings if you choose. However, from the command line or a desktop icon, bauh can be run with selected features. You might want to add --logs the first few times you run bauh and are still discovering your preferences or --tray to try running it from the system tray. As well, you can run only portions of bauh, with the self-explanatory --settings or –suggestions options, while --reset removes all configuration options and cached data. With --offline, you can do some operations such as removing a package without an Internet connection.
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.