Skip to the content
pacman-master.com

yay and paru compared

yay and paru do the same job: they search the AUR and the repositories together, fetch the build files, run the build and hand the result to pacman. Choosing between them is a smaller decision than it is usually made out to be.

makepkg -si

What it does. Build and install one package from a cloned AUR directory, which is what both helpers automate and the only way that needs no helper at all.

Watch out. A helper is a third program between you and pacman. Whatever it installs arrives through pacman in the end, and pacman is what keeps the record.

What is the same

Pointyayparu
Command shapepacman-style operation letters, with AUR searching folded inpacman-style operation letters, with AUR searching folded in
What installs the package in the endpacmanpacman
Where it gets build files fromThe AURThe AUR
How it is itself installedFrom the AUR, manually the first timeFrom the AUR, manually the first time
Whether it can review a PKGBUILD before buildingYes, as part of the build flowYes, as part of the build flow
Where the authority on its options isIts own --help and manual pageIts own --help and manual page

The shared row that matters most is the second one. Neither helper is a package manager: both end by calling pacman with a built file, which is why the query commands see AUR packages exactly as they see repository ones, and why pacman -Qm is what tells the two groups apart.

routinepacman -Qm

Lists the installed packages that no repository carries, which on most machines means the ones a helper built.

What differs

Pointyayparu
Implementation languageGoRust
RelationshipThe older of the two; paru was written after it and borrows its command shapeWritten later, with yay's interface as the starting point
ConfigurationIts own configuration fileIts own configuration file, in a different format
Review stepShows the build files as part of the flowShows the build files as part of the flow, with the differences from the previous build available

A comparison written anywhere can go out of date between one release and the next. The two things worth checking against the programs themselves are the options they take and the defaults they ship with, and both answer --help.

What using either one costs

An AUR package is a build recipe somebody uploaded. The helper makes running that recipe convenient, and convenience is the whole risk: a review step that is skipped every time is the same as not having one.

  • The recipe runs on your machine with your privileges during the build.
  • A helper that upgrades AUR packages alongside repository ones invites the combined upgrade to be answered with the same reflex as an ordinary one.
  • Whatever the helper builds becomes a package pacman records, so a bad build is removed the ordinary way with the removal commands.

Doing it without either

Both helpers automate a sequence that is short enough to run directly, and running it once is the best way to understand what they are doing on your behalf:

not pacmangit clone <aur-repository>
not pacmanmakepkg -si

Builds in the current directory and hands the result to pacman to install. It is not a pacman command, so no level is given for it.

The AUR and makepkg page covers that sequence in full, and the yay page covers how a helper's letters line up with pacman's.

Common questions

What is the difference between yay and paru?

They do the same job with the same command shape. yay is written in Go and came first; paru is written in Rust and started from yay's interface. Both end by handing a built package to pacman.

Is paru a replacement for pacman?

No, and neither is yay. Both fetch build files from the AUR, run the build and then call pacman to install the result, so pacman remains the thing that records what is on the machine.

Can I have both yay and paru installed?

Yes. They are ordinary packages that call pacman, so nothing stops both being present. What they cannot do is run at the same moment, because each takes the same database lock pacman takes.

How do I see which packages came from the AUR?

Run pacman -Qm. It lists installed packages that no configured repository carries, which on most machines is the set a helper built.

How to check this page

Two commands on your own machine: pacman -<operation> --help lists the modifiers that operation accepts, and man pacman opens the pacman(8) manual page these descriptions are written from. Where the descriptions come from, and what this site is not, is set out on the about page.

This page was last edited on .