Automatic installation and update of AUR packages
AUR (Arch User Repository) is a large repository of programs that are (not yet) added to official Arch Linux repositories.
To search for packages in AUR you need to go to the site, and to install you need to execute several commands.
git clone https://aur.archlinux.org/PACKAGE_NAME.git cd PACKAGE_NAME makepkg -si
To update a package from AUR:
cd PACKAGE_NAME git pull makepkg -si
This is not as convenient as installing from standard repositories. This article is about the pikaur program, which makes finding, installing, and updating programs from AUR as easy as using standard repositories.
The pikaur program can be installed and run on the command line by analogy with pacman, and can also be used without installation – I will show how to do this below.
What is pikaur and what is it for
pikaur can perform all the functions of pacman and supports the options of the standard package manager. Additionally pikaur can:
- check for updates installed from AUR packages even if these packages were installed manually, without pikaur!
- automatic installation of dependencies not only from standard repositories, but also from AUR!
- update all or selectively packages from AUR
- search and install packages from AUR
- show and install new dependencies for AUR packages
- show packages that are not found in either standard repositories or in AUR
- view package details from AUR
- autocomplete package names from AUR
- show for packages from AUR diff (difference from the previous version), PKGBUILD and .install files
- ignore specified packages
How to use pikaur without installation
Intall the dependency:
sudo pacman -S pyalpm git
Download the source code of the program:
git clone https://github.com/actionless/pikaur.git cd pikaur
Search for a package from AUR
python3 ./pikaur.py -Ss PACKAGE_IN_AUR
Install package from AUR
python3 ./pikaur.py -S PACKAGE_IN_AUR
Perform a complete upgrade of system packages and AUR packages:
python3 ./pikaur.py -Syu
How to install pikaur
If you liked pikaur, then you can install this program:
sudo pacman -S --needed base-devel git git clone https://aur.archlinux.org/pikaur.git cd pikaur makepkg -fsri
Additional dependencies for 'pikaur-git' (install them as desired):
- asp: to support ABS in -G/--getpkgbuild operation
- python-pysocks: to support socks5 proxy
Examples of using pikaur
AUR Package Search:
pikaur -Ss PACKAGE_IN_AUR
For example, I want to find viber:
pikaur -Ss viber
Installing and updating the AUR package:
pikaur -S PACKAGE_IN_AUR
For example, I want to install dropbox:
pikaur -S dropbox
Updating all AUR packages and system programs:
pikaur -Syu
How to clear pikaur cache
As with pacman, you can periodically clear the pikaur cache, this is done with the command:
pikaur -Scc
pikaur setup
The configuration is performed in the ~/.config/pikaur.conf file.
Let’s consider only some options in the [review] section, which can be the most annoying. Each time you install or update a package from AUR, the program prompts you to edit the PKGBUILD file:
Want to edit PKGBUILD from a package ...? [Y/n]
In general, it is good practice to analyze the contents of the recipe for installing the program. But if you trust the AUR community and/or do not understand the contents of PKGBUILD, then such suggestions seem too annoying, especially if there are a lot of packages.
When starting pikaur, you can specify the --noedit flag, and then offers to edit PKGBUILD will not be displayed.
Or you can change the settings in the configuration file:
- DontEditByDefault (default: no)
When prompted to edit this file, the default is yes. So that you do not need to enter the letter “n” each time, set the value to (yes):
donteditbydefault = yes
Or you can completely disable requests to edit PKGBUILD files, then find the directive:
noedit = no
and replace it with:
noedit = yes
In order for you not to be offered diff (display a list of differences), use the --nodiff flag, or find the directive in the configuration file:
nodiff = no
and replace it with:
nodiff = yes
Why pikaur ignores the configuration file
The configuration file is searched by the relative path. For example, if you edited the configuration file as the current user in the ~/.config/pikaur.conf folder, and you started pikaur as root:
sudo pikaur -Syu
That will actually use the configuration file /root/.config/pikaur.conf.
Therefore, in order to use the edited configuration file, run pikaur as a regular user, especially since you do not need superuser rights to work with AUR packages:
pikaur -Syu
pikaur alternatives
An alternative to pikaur is the pamac program, which is a graphical package manager for Manjaro Linux. This program also supports work with AUR.
Conclusion
Here not all the possibilities of pikaur are considered. You can use the same options in this program that pacman has.
The program has options that are not even found in pacman. It is also possible to fine tune the pikaur configuration file.
Program site with source code and additional information: https://github.com/actionless/pikaur
See also: How to install and use pikaur and makepkg on a server
Related articles:
- How to install AMD / ATI Catalyst drivers AKA Crimson 15.12 in BlackArch / Arch Linux with kernel 4.7, 4.8, 4.9, 4.10, 4.11 (100%)
- testssl.sh: No cipher mapping file found and No TLS data file found (SOLVED) (100%)
- How to increase TX-Power of Wi-Fi adapters in BlackArch in 2022 (100%)
- How to install Router Scan (100%)
- How to install Intercepter-NG in Linux (100%)
- How to add Subject Alternative Name (subjectAltName) to a self-signed certificate (RANDOM - 50%)