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
-
Halcyon Creates Anti-Ransomware Protection for Linux
As more Linux systems are targeted by ransomware, Halcyon is stepping up its protection.
-
Valve and Arch Linux Announce Collaboration
Valve and Arch have come together for two projects that will have a serious impact on the Linux distribution.
-
Hacker Successfully Runs Linux on a CPU from the Early ‘70s
From the office of "Look what I can do," Dmitry Grinberg was able to get Linux running on a processor that was created in 1971.
-
OSI and LPI Form Strategic Alliance
With a goal of strengthening Linux and open source communities, this new alliance aims to nurture the growth of more highly skilled professionals.
-
Fedora 41 Beta Available with Some Interesting Additions
If you're a Fedora fan, you'll be excited to hear the beta version of the latest release is now available for testing and includes plenty of updates.
-
AlmaLinux Unveils New Hardware Certification Process
The AlmaLinux Hardware Certification Program run by the Certification Special Interest Group (SIG) aims to ensure seamless compatibility between AlmaLinux and a wide range of hardware configurations.
-
Wind River Introduces eLxr Pro Linux Solution
eLxr Pro offers an end-to-end Linux solution backed by expert commercial support.
-
Juno Tab 3 Launches with Ubuntu 24.04
Anyone looking for a full-blown Linux tablet need look no further. Juno has released the Tab 3.
-
New KDE Slimbook Plasma Available for Preorder
Powered by an AMD Ryzen CPU, the latest KDE Slimbook laptop is powerful enough for local AI tasks.
-
Rhino Linux Announces Latest "Quick Update"
If you prefer your Linux distribution to be of the rolling type, Rhino Linux delivers a beautiful and reliable experience.