One of the amazing things about Linux is the fact that there are a dozen different programs to do that same function. Each one is written a little differently and uses a different language to accomplish the same goal. This means that Linux users are not locked into using one program to complete a task. In this article, I am going to look at a small program that compliments/replaces the Pacman package manager.
Why would you need PacUI?
Before I introduce you to the application in question, let me explain a little bit about it and why you may find it useful.
This application is designed to help you install packages on Arch and Arch-based Linux distros (both from the repos and from the Arch User Repository). It is also designed to fix some system errors related to package management. It runs in the terminal and gives you access to complex commands with the tap of a key.
In terms of usability, it stands somewhere between using pacman (Arch’s package manager, generally used from the terminal) and Pamac (the graphical frontend for pacman). For some, pacman (and other terminal package managers) are difficult to use because they don’t know all of the possible commands. The
man is a couple keyboard strokes away, but it can be difficult to understand. On the other hand, when you use Pamac, you might have to search through a number of menus to find what you are looking for. This terminal frontend helps, by displaying all of your options up front. It even uses less memory if you have an older system.
Note: Before we go on, I should note that these applications are designed for intermediate and advanced Linux user. Beginners might be overwhelmed.
I originally set out to write an article about Pacli (an older terminal based pacman frontend). While researching it, I stumbled upon PacUI. PacUI is a fork of an earlier version of Pacli by one of the devs with the intent of adding more features. According to the project page, one of the differences is that “whole script is contained within one file, which consists of easy to read bash code with many helpful comments”.
Pacli is no longer being developed. The last time the code was updated was in July 2016. The two tools that it uses to process AUR packages (Pacaur and Yaourt) are also no longer being developed. These three programs should be considered dangerous and not be used.
PacUI lists 14 options on its menu:
- Update System
- Maintain System
- Install Packages
- Remove Packages + Deps
- Dependency Tree
- Reverse Dependency Tree
- List Package Files
- Search Package Files
- Roll Back System
- Fix Pacman Errors
- Edit Config Files
- List Packages by size
- Force AUR Install
- List installed from AUR
PacUI is primarily designed to be used through its menu, it can also be used without the UI. For example, to display a reverse dependency tree, you can enter
pacui rt. Interestingly, Pacui is designed to take a bunch of permutations to execut the same command. For example, the following commands will also print out a reverse dependency tree:
pacui -rt, and
pacui --rt. You can find a full list of PacUI option by using the
pacui h command.
One of the most useful options PacUI offers is the reverse dependency search. I had a couple AUR packages on my system that failed to build every time I tried to update. I used the reverse dependency search to see what application needed them. Since I didn’t need that application anymore, I installed it and removed the out-of-date dependencies.
If you are using Manjaro, you can install the stable version of PacUI using this command:
sudo pacman -S pacui. If you are using vanilla Arch or one of a number of Arch-based distros, you can install PacUI from the AUR:
yaourt -S pacui-git. You can also simply download and run it from Github.
PacUI is a simple terminal tool disengaged to help you keep your system up-to-date and relatively problem free. It delivers on that goal.
One neat thing about PacUI is that it simplifies AUR installation. When you have updated or install AUR package with any terminal based program, you will be asked if you want to edit the PGKBUILD, the package will be downloaded, and you will be asked if you want to continue with the build/installation. If you have multiple AUR packages to work with, you will have to go through these steps for each one. PacUI processes them as a batch. It asks if you want to edit the PGKBUILD for each, it will download the files, then it will ask if you want to continue. This is nice because then I don’t have to wait for each package to build.
Remember, before you use any of the options that you are unfamiliar with, read the help information (type
00 in PacUI). I made that mistake and accidentally wiped my user account and passwords. Luckily, I was able to recover it with the help of the Manjaro forums.
Have you ever used PacUI? What is your favorite terminal package management tool?
If you found this article interesting, please take a minute to share it on social media.
Note: An earlier version of this article mentioned Pacli as well. After our reader’s feedback, we have rewritten the article. Apologies for the inconvenience.