How to Install and Use Paru to manage AUR packages on Arch Linux

Endrit Qerreti

Endrit Qerreti

Paru is a new AUR helper that you can use to install and download packages from AUR repository on Arch Linux.

Paru is based off Yay. However, the difference is that, Paru is written in Rust, while Yay is written in go.

Paru is developed and maintained by one of lead developers that built Yay.

In this tutorial, you will learn how to install and Use paru on Arch Linux.

Step 1 - Update your system

Before you install Paru, you need to make sure that your Arch Linux system is up to date. To check for updates on Arch linux, you can use its default package manager pacman.

Open the terminal, and run the command below

sudo pacman -Syu

Step 2 - Install dependencies

After updating your system, you need to install base-devel package. This package contains tools that your system will need to build packages.

sudo pacman -S base-devel --needed 

Step 3 - Install Paru

Now, you need to download Paru repository from Github into your computer. To do this, simply open your terminal and run the command below

git clone https://github.com/Morganamilo/paru

Next, navigate into Paru directory

cd paru

And run the command below to finally install Paru on your system

makepkg -si

You will need to authenticate during the building process, authenticate and press enter to continue installing paru.

Step 4 - Use Paru

You can use paru to manage AUR packages easily on your system.

Upgrade all AUR packages

To upgrade all AUR packages that are installed on your system, run the command below.

paru

Search for an AUR package with Paru

To search for an AUR package with paru, you need to use the following syntax

paru package-name

And it it will list all packages that contain the keyword that you are looking for. For example, we searched for visual-studio-code-bin in the example below.

Install an AUR Package with Paru

Installing packages with Paru is same as installing packages with pacman, simply use the -S option for installing packages

paru -S package-name

Upgrade an AUR package with Paru

To upgrade an existing aur package on your system, you can use the Sua option

paru -Sua package-name

Uninstall an AUR package with Paru

To uninstall a package with paru, you can use the -Rsc command

paru -Rsc

In the examples above, we installed visual-studio-code-bin

To get the full list of commands, you can use the command below

paru --help

Output

Usage:
    paru
    paru <operation> [...]
    paru <package(s)>

Pacman operations:
    paru {-h --help}
    paru {-V --version}
    paru {-D --database}    <options> <package(s)>
    paru {-F --files}       [options] [package(s)]
    paru {-Q --query}       [options] [package(s)]
    paru {-R --remove}      [options] <package(s)>
    paru {-S --sync}        [options] [package(s)]
    paru {-T --deptest}     [options] [package(s)]
    paru {-U --upgrade}     [options] [file(s)]

New operations:
    paru {-P --show}        [options]
    paru {-G --getpkgbuild} [package(s)]

If no arguments are provided 'paru -Syu' will be performed

Options without operation:
    -c --clean            Remove unneeded dependencies
       --gendb            Generates development package DB used for updating

New options:
       --repo              Assume targets are from the repositories
    -a --aur               Assume targets are from the AUR
    --aururl    <url>      Set an alternative AUR URL
    --clonedir  <dir>      Directory used to download and run PKGBUILDs

    --makepkg   <file>     makepkg command to use
    --mflags    <flags>    Pass arguments to makepkg
    --pacman    <file>     pacman command to use
    --git       <file>     git command to use
    --gitflags  <flags>    Pass arguments to git
    --sudo      <file>     sudo command to use
    --sudoflags <flags>    Pass arguments to sudo
    --asp       <file>     asp command to use
    --bat       <file>     bat command to use
    --batflags  <flags>    Pass arguments to bat
    --gpg       <file>     gpg command to use
    --gpgflags  <flags>    Pass arguments to gpg
    --fm        <file>     File manager to use for PKGBUILD review
    --fmflags   <flags>    Pass arguments to file manager

    --completioninterval   <n> Time in days to refresh completion cache
    --sortby    <field>    Sort AUR results by a specific field during search
    --searchby  <field>    Search for packages using a specified field
    --limit     <limit>    Limits the number of items returned in a search
    -x --regex             Enable regex for aur search

    --skipreview           Skip the review process
    --review               Don't skip the review process
    --[no]upgrademenu      Show interactive menu to skip upgrades
    --[no]removemake       Remove makedepends after install
    --[no]cleanafter       Remove package sources after install
    --[no]rebuild          Always build target packages
    --[no]redownload       Always download PKGBUILDs of targets

    --[no]pgpfetch         Prompt to import PGP keys from PKGBUILDs
    --[no]useask           Automatically resolve conflicts using pacman's ask flag
    --[no]savechanges      Commit changes to pkgbuilds made during review
    --[no]newsonupgrade    Print new news during sysupgrade
    --[no]combinedupgrade  Refresh then perform the repo and AUR upgrade together
    --[no]batchinstall     Build multiple AUR packages then install them together
    --[no]provides         Look for matching providers when searching for packages
    --[no]devel            Check development packages during sysupgrade
    --[no]installdebug     Also install debug packages when a package provides them
    --[no]sudoloop         Loop sudo calls in the background to avoid timeout
    --[no]chroot           Build packages in a chroot
    --[no]failfast         Exit as soon as building an AUR package fails
    --[no]keepsrc          Keep src/ and pkg/ dirs after building packages
    --[no]sign             Sign packages with gpg
    --[no]signdb           Sign databases with gpg
    --localrepo            Build packages into a local repo
    --nocheck              Don't resolve checkdepends or run the check function
    --develsuffixes        Suffixes used to decide if a package is a devel package
    --bottomup             Shows AUR's packages first and then repository's
    --topdown              Shows repository's packages first and then AUR's

show specific options:
    -c --complete         Used for completions
    -s --stats            Display system package statistics
    -w --news             Print arch news

getpkgbuild specific options:
    -p --print            Print pkgbuild to stdout
    -c --comments         Print AUR comments for pkgbuild
    -s --ssh              Clone package using SSH

upgrade specific options:
    -i --install          Install package as well as building

Conclusion

In this tutorial, you learned how to install and use Paru to manage AUR packages on Arch Linux.