The Arch User Repository is an online repository, managed by the Arch community rather than the Arch packagers.
AUR differs from the Manjaro repositories by multiple, important key points:
- AUR does not contain packages, but PKGBUILDs. See below for details.
- AUR is not managed by Manjaro.
- There is thus no official support for AUR packages.
- Package compatibility is not ensured for all points in time. See below for details.
- AUR is not managed by Arch packagers either.
- pacman, Arch’s official package manager, does not manage AUR packages (directly). See below for details.
- AUR packages are maintained by the Arch community.
- Although limited to Trusted Users, PKGBUILDs in AUR are managed by people outside the Arch team, and are thus more loosely controlled.
- Arch users are the target audience of AUR. They don’t officially support any Arch derivative.
For more details, see:
Unless installed explicitly from AUR, such packages may have been originally installed, either explicitly or as dependencies, when they were still in the main repositories.
Indeed, some packages in AUR were formerly in Arch’s repositories – and thus in Manjaro’s. Arch maintainers regularly check for packages to drop from their repositories; those packages are then removed from their repositories – and thus later from Manjaro’s – and moved to AUR.
Packages dropped to AUR can, usually, be safely removed from your system.
- No package in Manjaro’s repositories have a mandatory dependency with AUR packages. They may have optional dependencies there though, in order to add functionalities.
- An AUR package may require another AUR package.
- Before removing an AUR package, you can look for installed packages requiring it:
pactree -r <package_name>
Globally speaking, installing an AUR package takes three steps:
- download and check the PKGBUILD
- build the package locally
- install the built package
It is not uncommon to find several packages with a same base name, but different suffixes. That suffix, by convention, defines the source used:
- (no suffix) : Usually takes the source code from the latest release.
- -bin : Takes an already compiled binary source from the latest release. It can be an official release binary or a package in another format (DEB, RPM…).
- -git : Takes the source code from the ongoing development version.
Updating an AUR package is roughly similar, the only difference being that you must use the up-to-date PKGBUILD.
Since AUR is maintained by Arch users for Arch users, updates in AUR and in Manjaro’s repositories are usually not synchronized:
- You may need to delay an AUR package update in order to comply with its dependencies from Manjaro’s repositories.
- You may need to manually start a rebuild of an AUR package after a dependency update from Manjaro’s repositories.
Rebuilding an AUR package is the same as (re)installing it. The only difference is usually that (build) dependencies have changed, and the package thus needs to be rebuilt in order to stay compatible with the system.
Manjaro develops pamac as an alternative for Arch’s pacman and, contrarily to the latter, supports AUR management. Utilities with this functionality are called AUR helpers; see the link for more alternatives.
AUR support is disabled by default in pamac. You first need to disable its Software mode, and then enable AUR support in its settings.
Despite this, AUR packages installed through pamac are still not officially supported by Manjaro. It makes their management easier, that’s it.