Skip to content
alpm data extraction utility
C Python Makefile
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



expac - alpm data extraction utility


Usage: expac [options] <format> targets...


expac is a data extraction tool for alpm databases. It features printf-like flexibility and aims to be used as a simple tool for other pacman based utilities which don't link against the library. It uses pacman.conf as a config file for locating and loading your local and sync databases.

Targets are provided on the command line, and can be specified by simple name, or in repo/pkg format if the --sync option is used.


-S, --sync

Search the sync databases for provided targets.

-Q, --query

Search the local database for provided targets. This is the default behavior.

-s, --search

Search for packages matching the strings specified by targets. This is a boolean AND query and regex is allowed.

-g, --group

Return packages matching the specified targets as package groups.

-1, --readone

Stop searching after the first result. This only has an effect on -S operations without -s.

-d, --delim <string>

Separate each package with the specified string. The default value is a newline character.

-l, --listdelim <string>

Separate each list item with the specified string. Lists are any interpreted sequence specified with a capital letter. The default value is two spaces.

-t, --timefmt <format>

Output time described by the specified format. This string is passed directly to strftime(3). The default format is %c.

-v, --verbose

Output more. `Package not found' errors will be shown, and empty field values will display as 'None'.

-h, --help

Display the help message and quit.


The format argument allows the following interpreted sequences:

  %B    backup files

  %C    conflicts with

  %D    depends on

  %E    depends on (no version strings)

  %F    files (only with -Q)

  %G    groups

  %L    licenses

  %N    required by

  %O    optional deps

  %P    provides

  %R    replaces

  %S    provides (no version strings)

  %a    architecture

  %b    build date

  %d    description

  %f    filename (only with -S)

  %i    has install scriptlet (only with -Q)

  %k    download size (only with -S)

  %l    install date (only with -Q)

  %m    install size

  %n    package name

  %p    packager name

  %r    repo

  %s    md5sum

  %u    project URL

  %v    version

  %w    install reason

  %!    result number (auto-incremented counter, starts at 0)

  %%    literal %

Note that for any lowercase tokens aside from %m and %k, full printf support is allowed, e.g. %-20n. This does not apply to any list based, date, or numerical output.

Standard backslash escape sequences are supported, as per printf(1).


Dave Reisner <>

Something went wrong with that request. Please try again.