In this brief tutorial, we will see what is Paru AUR helper program, how to install Paru AUR helper in Arch Linux, EndeavourOS, Manjaro Linux, and finally how to install AUR packages using Paru package manager.
Table of Contents
1. What is Paru AUR Helper?
When we install a package from Arch User Repository using a AUR helper program, it will download PKGBUILDs
and their sources in its cache. Then it runs makepkg
which produces a pacman package and installs it with pacman -U
.
There are many AUR helper programs exists. One of the popular AUR helper program is Yay. Today we will discuss about yet another AUR helper named Paru, which is based on Yay.
Paru is a new feature packed AUR helper and pacman wrapper program written in Rust programming language. It is developed by the co-developer of Yay AUR helper.
As you already know, Yay is written in GO
. The developer of Paru is wanted to port Yay to rust
, but the original developer of Yay didn't agree. Hence, the new AUR helper Paru is born!
Using Paru, we can install packages from Arch User Repository (AUR), and also update, upgrade and remove AUR packages in Arch Linux and its variants like EndeavourOS and Manjaro Linux.
Paru has some new features and functionalities despite being developed by the same co-developer of Yay. There's been good amount of new features since the initial release. The notable ones being:
- Print PKGBUILD
- Print AUR comments
- Print news on upgrade
- Local repo and chroot support
- Support for signing packages
- Syntax highlighting with bat
- Support for doas with
Sudo = doas
andSudoLoop = true
You can read the full changelog here.
Note: Yay is neither discontinued nor dead. It is being actively developed and maintained by its original author and other contributors. So no need to switch to Paru completely. You can also use paru and yay side by side for a while with no real detriment.
2. Install Paru AUR helper in Arch Linux, EndeavourOS, Manjaro Linux
Installing Paru in Arch Linux is easy!
1. First, install git
and base-devel
package group that includes tools needed for building (compiling and linking) packages from source.
$ sudo pacman -S --needed base-devel git
2. Git clone Paru repository using command:
$ git clone https://aur.archlinux.org/paru.git
This command will download the contents of the Paru GitHub repository in a local directory named paru
.
3. Change into the paru
directory:
$ cd paru
4. Finally, build and install Paru AUR helper in Arch Linux using the following command:
$ makepkg -si
Alternatively, you can install Paru using Yay (if it is already installed in your system) with command:
$ yay -S paru
3. Install AUR packages using Paru package manager
The commands for yay
and paru
are basically the same. Let us see a few command examples to install and manage packages from AUR using paru
helper program.
1. Update Arch Linux
When you enter paru
without any options, it will automatically add the -Syu
flags and update your Arch Linux system. This is equivalent to pacman -Syu
command.
$ paru
Sample output:
:: Synchronizing package databases… core 133.3 KiB 193 KiB/s 00:01 [######################] 100% extra 1552.3 KiB 1073 KiB/s 00:01 [######################] 100% community 5.6 MiB 1907 KiB/s 00:03 [######################] 100% :: Starting full system upgrade… resolving dependencies… looking for conflicting packages… Packages (4) linux-5.12.9.arch1-1 polkit-0.119-1 util-linux-2.37-1 util-linux-libs-2.37-1 Total Download Size: 98.22 MiB Total Installed Size: 116.61 MiB Net Upgrade Size: -0.17 MiB :: Proceed with installation? [Y/n] y [...]
2. Install a specific package
To install a specific package, for example vim, with Paru, run
$ paru -S vim
This installs vim editor along with the required dependencies.
3. Search packages
To search for a specific package (E.g. vim
) on the repos and the AUR, run:
$ paru -Ss vim
Sample output:
extra/gvim 8.2.2891-1 [1.90MiB 4.19MiB] Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI) extra/vim 8.2.2891-1 [1.76MiB 3.87MiB] Vi Improved, a highly configurable, improved version of the vi text editor extra/vim-runtime 8.2.2891-1 [6.37MiB 30.33MiB] Vi Improved, a highly configurable, improved version of the vi text editor (shared runtime) community/firefox-tridactyl 1.21.1-2 3.04MiB 3.13MiB Replace Firefox's control mechanism with one modelled on Vim community/grub-theme-vimix 20190605-2 [1007.85KiB 2.46MiB] A blur theme for grub [...]
This will display vim and the vim related packages from both official repos and the AUR. The packages in the official repos will be displayed first and then AUR pacakges will be displayed next.
You can change this order i.e. show AUR's packages first and then repository's using --bottomup
flag:
$ paru -Ss --bottomup vim
4. Interactively search and install packages
Paru allows you to interactively search for a package, choose a package from the list and install it. For example, the following command will search and list all packages that contains the word "vim"
in their name or description.
$ paru vim
Enter the respective prefix number to choose a package from the list and hit ENTER to install the selected package.
5. Display information about a package
To get information about a given package from the repos or the AUR, run:
$ paru -Si vim
Sample output:
Repository : extra Name : vim Version : 8.2.2891-1 Description : Vi Improved, a highly configurable, improved version of the vi text editor Architecture : x86_64 URL : https://www.vim.org Licenses : custom:vim Groups : None Provides : xxd vim-minimal vim-python3 vim-plugin-runtime Depends On : vim-runtime=8.2.2891-1 gpm acl glibc libgcrypt pcre zlib Optional Deps : python2: Python 2 language support python: Python 3 language support ruby: Ruby language support lua: Lua language support perl: Perl language support tcl: Tcl language support Conflicts With : gvim vim-minimal vim-python3 Replaces : vim-python3 vim-minimal Download Size : 1801.42 KiB Installed Size : 3960.88 KiB Packager : Evangelos Foutras foutrelis@archlinux.org Build Date : Fri 28 May 2021 06:58:52 AM UTC Validated By : MD5 Sum SHA-256 Sum Signature
6. Update AUR packages
We can upgrade an installed package with -U
flag as shown below:
$ paru -U vim
To upgrade all installed AUR packages, use -Sua
flags:
$ paru -Sua
7. Print available AUR updates
If you want to display all available AUR updates, but don't want to install them, use -Qua
flags:
$ paru -Qua
8. Download PKGBUILD
We can download the PKGBUILD and related files of the given package (E.g. vim
) using paru like below:
$ paru -G vim
This will download the PKGBUILD and related files of Vim package in a folder called vim
in the current directory.
$ ls vim archlinux.vim PKGBUILD vimdoc.hook vimrc
9. Print PKGBUILD
If you do not want to download the PKGBUILD but only print the PKGBUILD of the given package, run:
$ paru -Gp vim
10. Build and install a PKGBUILD
Go to the directory where you've saved the PKGBUILD and run the following command to build and install a PKGBUILD in the current directory:
$ paru -Ui
11. Remove packages
To uninstall a package using paru, use -R
flag:
$ paru -R vim
We can also uninstall multiple packages by mentioning space-separated like below:
$ paru -R pkg1 pkg 2
12. Remove cache
To remove unwanted dependencies and leftover packages use -c
, or --clean
flags:
$ paru -c
If you want to clean cached AUR packages and any untracked files in the cache, run:
$ paru -Sc
You will be asked a few questions. Read them and answer accordingly to remove cached packages.
Packages to keep: All locally installed packages Cache directory: /var/cache/pacman/pkg/ :: Do you want to remove all other packages from cache? [Y/n] removing old packages from cache… Database directory: /var/lib/pacman/ :: Do you want to remove unused repositories? [Y/n] removing unused sync repositories… Clone Directory: /home/ostechnix/.cache/paru/clone :: Do you want to remove all other AUR packages from cache? [Y/n]: Diff Directory: /home/ostechnix/.cache/paru/diff :: Do you want to remove all saved diffs? [Y/n]:
13. Enable color in Paru output
Paru only enables color if color is enabled in pacman
.
To Enable color
in your pacman.conf
, open it using any text editor:
$ sudo nano /etc/pacman.conf
Under the Misc Options
section, you will see a word named Color
. Simply uncomment it by removing the #
symbol:
14. Display Paru help
To view Paru general options and usage, refer its help section by using the command:
$ paru --help
You can also refer paru manual pages for detailed help:
$ man paru
Conclusion
In this guide, we discussed what is Paru AUR helper, how to install Paru AUR helper in Arch Linux, and its variants such as EndeavourOS, Manjaro Linux. We also have seen a few command examples to install and manage packages from AUR using Paru.
Even though Paru is a new AUR helper, it works just fine without any issues. If you find any bugs, report them in the official Github repository given below.
Resource:
Suggested read: