AUR helpers

Warning
AUR helpers are
not supported
by Arch Linux. You should become familiar with the
manual build process
in order to be prepared to troubleshoot problems.
Notice for editors
Please use the discussion page prior to making edits to this article:
Talk:AUR helpers
.
AUR helpers automate usage of the
Arch User Repository
. In particular, they may automate the following tasks:
searching for packages published on the AUR,
resolving of dependencies between AUR packages,
retrieve and build AUR packages,
retrieve web content, such as user comments,
submission of AUR packages.
Pacman
only handles updates for pre-built packages in its repositories. AUR packages are redistributed in form of
PKGBUILDs
and need an AUR helper to automate the rebuild process. However, keep in mind that a rebuild of a package may be required when its shared library dependencies are updated, not only when the package itself is updated.
Legend
The
#Comparison tables
columns have the following meaning:
File review
Does not
source
the
PKGBUILD
file at all
by default
; or alerts the user and offers the opportunity to inspect the
PKGBUILD
file manually before it is sourced. Some helpers are known to source
PKGBUILD
s before the user can inspect them,
allowing malicious code to be executed
.
Diff view
Ability to view package differences on inspection. Besides the
PKGBUILD
file, this includes changes to files such as
.install
or
.patch
files.
Git clone
Uses
git-clone(1)
by default to retrieve build files from the AUR.
Reliable parser
Ability to handle complex packages by using the provided metadata (
RPC
/
.SRCINFO
) instead of the
PKGBUILD
file
parsing
, such as
aws-cli-git
AUR
.
Reliable solver
Ability to correctly solve and build complex dependency chains, such as
liri-git-meta
AUR
.
Split packages
Ability to correctly build and install:
Multiple packages from the same package base, without rebuilding or reinstalling multiple times, such as
clion
AUR
.
Split packages which depend on a package from the same package base, such as
samsung-unified-driver
AUR
.
Split packages independently, such as
nxproxy
AUR
and
nxagent
AUR
.
Shell completion
Tab completion
is available for the listed
shells
.
Note
Optional
means that a feature is available, but only through a command-line argument or configuration option.
Partial
means that a feature is not fully implemented, or that it partially deviates from the given criteria.
Comparison tables
Search and download
Name
Written in
File review
Diff view
Git clone
Reliable parser
Reliable solver
Shell completion
Specificity
auracle-git
AUR
C++
Yes
No
Yes
Yes
Yes
bash
print build order
repoctl
AUR
Go
Yes
No
No
Yes
–
bash, zsh, fish
local repository
Search and build
Name
Written in
File review
Diff view
Git clone
Reliable parser
Reliable solver
Split packages
Shell completion
Specificity
aurutils
AUR
Bash
Yes
Yes
Yes
Yes
Yes
Yes
bash, zsh
local repository
, local patch application,
package signing
,
clean chroot
(via
systemd-nspawn
)
pat-aur-host-git
AUR
pat-aur-client-git
AUR
Elvish
Yes
Yes
Yes
Yes
Yes
Yes
bash, zsh, elvish
local repository
, local patch application,
package signing
,
clean chroot
(via
bubblewrap
),
cross-compilation
Pacman wrappers
Warning
pacman(8)
wrappers abstract the work of the package manager. They may (optionally or by default) introduce
unsafe flags
, or other unexpected behavior leading to a defective system.
Note
The following pacman wrappers support batch (rather than on-demand) operations:
pikaur
AUR
,
yay
AUR
,
aura
AUR
,
paru
AUR
Name
Written in
File review
Diff view
Git clone
Reliable parser
Reliable solver
Split packages
Unsafe flags
Shell completion
Specificity
aura
AUR
Rust
No
Partial
Yes
Yes
Yes
Yes
–
bash, fish, zsh
clean chroot
pakku
AUR
Nim
Yes
Yes
Yes
Yes
Yes
Yes
-Sy
bash, zsh
–
paru
AUR
Rust
Yes
Yes
Yes
Yes
Yes
Yes
-Sy
--ask
bash, fish, zsh
local repository
,
clean chroot
pikaur
AUR
Python
Yes
Yes
Yes
Yes
Yes
Yes
-Sy
bash, fish, zsh
dynamic users
trizen
AUR
Perl
Yes
Yes
Yes
Yes
Yes
Partial
–
bash, fish, zsh
–
yay
AUR
Go
Yes
Yes
Yes
Yes
Yes
Yes
--ask
bash, fish, zsh
–
Graphical
Warning
Usage of graphical AUR helpers may lead to a defective system, for example through unattended
partial upgrades
.
Argon
— GTK 3 pacman wrapper written in Python.
https://github.com/14mRh4X0r/arch-argon
||
argon
AUR
Bauh
— Qt5 Python application supporting AppImage, Debian and Arch packages (including AUR), Flatpak, Snap and native Web applications.
https://github.com/vinifmor/bauh
||
bauh
AUR
Cylon
— TUI pacman wrapper written in Bash.
https://github.com/gavinlyonsrepo/cylon
||
cylon
AUR
Kalu
— Systray notification icon using libalpm and
PolicyKit
, with optional updater
https://github.com/Thulinma/kalu
||
kalu
AUR
Octopi
— Qt 5 pacman wrapper written in C++.
https://tintaescura.com/projects/octopi
||
octopi
AUR
Pacsea
— A fast, keyboard-friendly TUI for browsing and installing Arch and AUR packages written in Rust.
https://github.com/Firstp1ck/Pacsea
||
pacsea-bin
AUR
Pacseek
— A terminal user interface for searching and installing Arch Linux packages.
https://github.com/moson-mo/pacseek
||
pacseek
AUR
Pamac
— Standalone GTK 4 (or terminal) package manager written for Manjaro using
libalpm(3)
with tray integration.
https://wiki.manjaro.org/index.php/Pamac
||
pamac-aur
AUR
Pakku GUI
— GTK 3 frontend for pakku written in Python.
https://gitlab.com/mrvik/pakku-gui
||
pakku-gui
AUR
PkgBrowser
— Qt 5 read-only browser for repository packages and AUR written in Python.
https://osdn.net/projects/pkgbrowser/
||
pkgbrowser
AUR
SPM
— A TUI wrapper for pacman and yay that makes package management visual and interactive.
https://github.com/adelmonte/Simple_Package_Manager
||
spm-arch
AUR
Yup
— Ncurses TUI pacman wrapper written in Go.
https://github.com/ericm/yup
||
yup
AUR
Maintenance
aur-out-of-date
— Uses hoster APIs to check AUR packages for upstream changes.
https://github.com/simon04/aur-out-of-date
||
aur-out-of-date
AUR
aurpublish
— Helper script to manage and upload AUR packages using
git-subtree(1)
. Uses
githooks(5)
to verify the
PKGBUILD
file integrity, generate the
.SRCINFO
file automatically, and create a commit message template.
https://github.com/eli-schwartz/aurpublish
||
aurpublish
devtools
— Build packages in a clean environment (
systemd-nspawn
container) to ensure their correctness. Wrapped by
aura
AUR
,
aurutils
AUR
,
clean-chroot-manager
AUR
and
paru
AUR
.
https://gitlab.archlinux.org/archlinux/devtools
||
devtools
pkgoutofdate
— Parses the source URL from
PKGBUILD
s and tries to find new versions of packages by incrementing the version number and sending requests to the web server.
https://github.com/anatol/pkgoutofdate
||
pkgoutofdate-git
AUR
repman
— Command line tool to manage local and remote repositories.
https://gitlab.com/mipimipi/repman
||
repman-git
AUR
Other
aur-talk
— Fetch and display AUR comments.
https://github.com/GermainZ/aur-talk
||
aur-talk-git
AUR
aurvote-utils
— A set of utilities for managing AUR votes.
https://github.com/jadenPete/aurvote-utils
||
aurvote-utils
AUR
haskell-aur
—
Haskell
library for accessing
Aurweb RPC interface
.
https://hackage.haskell.org/package/aur
||
haskell-aur
AUR
package-query
— Tool for querying
libalpm(3)
and the AUR.
https://github.com/archlinuxfr/package-query
||
package-query
AUR
python3-aur
—
Python
modules and helper utilities for accessing AUR package information and automating AUR interactions.
https://xyne.dev/projects/python3-aur
||
python3-aur
AUR
raur
— Rust library for accessing Aurweb RPC interface.
https://gitlab.com/davidbittner/raur
||
See also
GUI Package Managers for Arch Linux
(DebugPoint, 2023) offers some screenshots and simple information about a few of the options mentioned in
#Graphical