Home Arch User Repository (AUR) How To Install Paru AUR Helper In Arch Linux

How To Install Paru AUR Helper In Arch Linux

By sk
Published: Updated: 98.9K views

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.

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 and SudoLoop = 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
 [...]
Update Arch Linux using paru
Update Arch Linux using paru

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
Interactively search and install packages using paru in Arch Linux
Interactively search and install packages using paru in Arch Linux

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
Print the PKGBUILD of a package using paru in Arch Linux
Print the PKGBUILD of a package using paru in Arch Linux

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:

Enable color in pacman in Arch Linux
Enable color in pacman in Arch Linux

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:

You May Also Like

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More