aurman-git (https://aur.archlinux.org/packages/aurman-git) - development version
aurman (https://aur.archlinux.org/packages/aurman) - release version
aurman < operation > [ options ] [ targets ] - see also https://www.archlinux.org/pacman/pacman.8.html
aurman is meant as a pacman wrapper.
All pacman operations are supported, but calling aurman with an operation besides --sync
or -S
will just pass the arguments to pacman.
-r
,--root
-v
,--verbose
--cachedir
--color
--debug
--gpgdir
--hookdir
--logfile
--noconfirm
--confirm
--force
--asdeps
--asexplicit
--needed
--ignore
--ignoregroup
-s
,--search
-u
,--sysupgrade
-y
,--refresh
-c
,--clean
--noconfirm
--needed
--ignore
--ignoregroup
-s
,--search
-u
,--sysupgrade
-c
,--clean
-
--noedit
: Will not show changes of PKGBUILDs, .install and other relevant files. just assumes you are okay with the changes. -
--always_edit
: Lets the user edit the files of packages, even if there are no new changes. -
--show_changes
: Will show changes of PKGBUILDs, .install and other relevant files without asking -
--devel
: Will fetch current development packages versions to decide whether a new version is available or not. -
--deep_search
: Dependency solving will ignore currently fulfilled dependencies of your system and try to solve the problem for a system with zero packages installed. should almost never be needed, but if aurman is not able to find a solution to install packages, try rerunning aurman with this flag. but be warned, it could take a few seconds to find solutions. -
--pgp_fetch
: Fetches needed pgp keys without asking the user -
--keyserver
: You may specify a keyserver to fetch the pgp keys from -
--aur
: Do things only for aur -
--repo
: Do things only for regular repos -
--domain
: Change the base url for aur requests (https://aur.archlinux.org is the default) -
--solution_way
: Print what exactly will be done, order of installing/removing packages -
--holdpkg
: Specify packages which are installed on your system but must not be removed. you may specify more than one package, space separated -
--holdpkg_conf
: Append packages from the pacman.conf to--holdpkg
-
--do_everything
:-u
for repo packages will also be handled byaurman
, not bypacman
. may be useful if you are using theaurman
config to fetch repo packages from other repos than they would normally be installed from. this is in general not recommended! -
--optimistic_versioning
: In case of an unknown version of a provider for a versioned dependency, assume that the dependency is fulfilled
You may use the file aurman_config
under $XDG_CONFIG_HOME/aurman
(fallback to ~/.config/aurman
in case of no $XDG_CONFIG_HOME
) as config for aurman.
By default aurman
assumes the following priorities in case of multiple available packages with the same names (high to low):
- repository package as listed in the pacman.conf - see https://www.archlinux.org/pacman/pacman.conf.5.html#_repository_sections
The order of repositories in the configuration files matters; repositories listed first will take precedence over those listed later in the file when packages in two repositories have identical names, regardless of version number.
- aur packages
If one wants to override this priority, it has to be done via the aurman config.
For aur packages create a section [aur_packages]
and list the names of the aur packages.
For repo packages create a section [repo_packages]
and list the names of the repo packages followed by =
and the name of the repo.
Notice: Those packages will be excluded from the
pacman --sysupgrade
by--ignore
. Otherwisepacman
would replace those packages
Example:
[aur_packages]
aur_package_name
other_aur_package_name
[repo_packages]
repo_package_name=repo_one
other_repo_package_name=repo_two
you may specify the keyserver for pgp fetching in the config instead of yielding it via command line.
Notice: command line overrides config
create a key called keyserver
in the section [miscellaneous]
to do that.
Example:
[miscellaneous]
keyserver=hkp://ipv4.pool.sks-keyservers.net:11371
create a key called no_notification_unknown_packages
in the section [miscellaneous]
to do that.
Example:
[miscellaneous]
no_notification_unknown_packages
you may also disable the notification for single packages only.
create a section [no_notification_unknown_packages]
and list the names of the packages as values
Example:
[no_notification_unknown_packages]
package1_name
package2_name
create a key called no_sudo_loop
in the section [miscellaneous]
to do that.
Example:
[miscellaneous]
no_sudo_loop
- threaded sudo loop in the background so you only have to enter your password once
- reliable dependency resolving
- conflict detection
- split package support
- development package support
- distinction between explicitly and implicitly installed packages
- let the user see and edit all needed PKGBUILDs before any of the building of AUR packages starts
- fetching of needed pgp keys for package building
- pacman --search for repo and aur packages (aur results sorted by popularity)
- search function supports regex. for searching the aur the first span of at least two consecutive non-regex characters is being used. these results are being filtered by the regex expression afterwards.
- differentiate between the possible sources to install packages from in case of same names in different known repos and/or the aur
https://github.com/polygamma/aurman/wiki/Description-of-the-aurman-dependency-solving
https://github.com/polygamma/aurman/wiki/Using-aurman-as-dependency-solver
aurman
wants to remove packages, which should not be removed, what's the matter?
Please check, if the problem arises, because aurman
assumes .so
dependencies to be unfulfilled.
E. g. libavcodec.so=57-64
which requires a specific version of the mentioned .so
.
This may be the case, because a providing AUR package only lists libavcodec.so
as being provided,
without specifying the version. Hence aurman
cannot be sure, if the version will match,
since this can only be known after building the package, thus assumes that the dependency is not fulfilled.
You may change this behavior by yielding --optimistic_versioning
via the command line,
in that case aurman
assumes the dependency to be fulfilled.
You should make sure, that the version is going to be the needed one, otherwise
the behavior of installing the packages is undefined.
How do I change the editor used by aurman
for editing PKGBUILDs etc.?
aurman
uses the environment variables VISUAL
and EDITOR
, hence you have to change those variables.
If VISUAL
is set, aurman
uses that,
else if EDITOR
is set, aurman
uses that,
else aurman
uses /usr/bin/nano