LinuxCommandLibrary

paru

Build and install AUR packages

TLDR

Interactively search for and install a package

$ paru [package_name_or_search_term]
copy

Synchronize and update all packages
$ paru
copy

Upgrade AUR packages
$ paru -Sua
copy

Remove an installed package, it's configuration files, and dependencies
$ paru -Rns [package]
copy

Get information about a package
$ paru -Si [package]
copy

Download PKGBUILD and other package source files from the AUR or ABS
$ paru --getpkgbuild [package]
copy

Display the PKGBUILD file of a package
$ paru --getpkgbuild --print [package]
copy

SYNOPSIS

paru [global-options] {operation [operation-options] [targets]}

PARAMETERS

-S, --sync
    Sync/install packages from repos or AUR

-Syu, --sysupgrade
    Upgrade all packages; sync new AUR deps

-R, --remove
    Remove specified packages

-Rns
    Remove packages, deps, and unneeded orphans

-Q, --query
    Query info on installed packages

-F, --listfiles
    Search files owned by packages

-Si, --info
    Detailed info on packages

--needed
    Skip packages already satisfying deps

--bottom_up
    Build deps bottom-up; handles cycles

--buildonly
    Build packages without installing

--editmenu <editor>
    Editor for PKGBUILD review (default: $EDITOR)

--skipreview
    Skip PKGBUILD source review

--skippgpcheck
    Skip PGP signature verification

--noconfirm
    Skip all confirmation prompts

--color <auto|never|always>
    Control colored output

--config <path>
    Path to alternative paru.conf

--clean
    Clean build dir of untracked files

--sudoloops
    Allow sudo loops for builduser

--batch
    Non-interactive; assume Yes

--repo
    Search official repos before AUR

DESCRIPTION

Paru is a powerful, pacman-compatible command-line tool designed to simplify managing packages from the Arch User Repository (AUR) alongside official repositories. Written in Rust, it offers superior speed, memory safety, and reliability compared to helpers like yay. Paru automates the entire process: searching, resolving dependencies, downloading sources, reviewing PKGBUILDs, building with makepkg, and installing packages.

It fully emulates pacman operations such as -S (sync/install), -Syu (full system upgrade), -Q (query), -Rns (remove with deps), and -F (search files). AUR-specific enhancements include bottom-up dependency building to handle complex graphs, customizable PGP keyring, build user isolation via sudo wrappers, and options for batch mode or skipping reviews/PGP checks. Paru respects pacman's config files and mirrors, while adding its own /etc/paru.conf for fine-tuning behaviors like editor choice, cleaner, or install order.

Users appreciate its intuitive interface, detailed prompts, and progress bars. It's ideal for daily AUR workflows, reducing manual steps while maintaining transparency and security. Actively maintained, paru ensures compatibility with Arch's rolling releases.

CAVEATS

AUR packages are user-maintained; review PKGBUILDs to avoid risks. Builds require devtools, git, base-devel; use --builduser for security. Large upgrades may need significant RAM/disk.

CONFIGURATION

/etc/paru.conf or ~/.config/paru/paru.conf. Key options: Editor, Cleaner, BottomUp = true, CombineInstall = true.

BUILD PROCESS

Uses makepkg in isolated dir; supports --nobuild to download only, --diff for PKGBUILD diffs, detailed logs in ~/.cache/paru/clones/.

HISTORY

Created by Morgan (morganamilo) in 2020 as a Rust alternative to yay, emphasizing speed and safety. Reached v1.0 in late 2020; now v1.11+ with improved dep resolution, git clone optimizations, and pacman 6.x support. Widely adopted in Arch community.

SEE ALSO

pacman(8), makepkg(8), yay(1)

Copied to clipboard