Manpages - downgrade.8

Table of Contents


downgrade [option…] <pkg> [pkg…] [*–* pacman_option…]


Downgrade Arch Linux packages.


Just calling downgrade on a package will lead to the following output:


  Available packages (community):

  -  1)  terraform    0.11.11  2  remote
  -  2)  terraform    0.11.12  1  /var/cache/pacman/pkg
  +  3)  terraform    0.11.13  1  remote
  +  4)  terraform    0.11.13  1  /var/cache/pacman/pkg
  -  5)  terraform    0.12.0   1  remote
  -  6)  terraform    0.12.0   1  /var/cache/pacman/pkg
     7)  terraform    0.12.1   1  remote

  select a package by number:

The columns have the following meaning:

indicator Possible values: {-|+}

  • indicates that the version was previously installed.
  • indicates the currently installed version.

enumeration An enumeration of the entries for selection.

package-name The name of the package.

package-epoch The epoch of the package in cache or ALA.

package-version The version of the package in cache or ALA.

package-release The release of the package in cache or ALA.

location Possible values: {remote|/path/to/cache/dir}

If you have already downloaded this version, it will show the cache directory where the package is located. remote indicates that the version is available on the ALA.


–pacman <command>

Pacman command, default is pacman.

–pacman-conf <path>

Pacman configuration file, default is /etc/pacman.conf.

–pacman-cache <path>

Pacman cache directory, default value(s) taken from pacman configuration file, or otherwise defaults to /var/cache/pacman/pkg. This option can be specified multiple times to indicate multiple cache directories.

–pacman-log <path>

Pacman log file, default value is extracted from pacman configuration file, or otherwise defaults to /var/log/pacman.log.

–maxdepth <integer>

Maximum depth to search for cached packages, defaults to 1.

–ala-url <url>

Location of an ALA server, default is


Search ALA only.


Search local cache only.


Show downgrade version.

-h, –help

Show help script.


Command-line options can be set persistently in /etc/xdg/downgrade/downgrade.conf. Note that these options are parsed first by downgrade, followed by any other command-line options provided by the user.


As per the usage syntax, any options supplied after the -- character sequence will be treated as pacman options.


By default, downgrade will search both local caches and the ALA.

If only one package with its corresponding location matches, the package will be installed without further prompt from the user.


downgrade allows the use of the following version-filtering operators: =, ==, =~, <=, >=, < and >. Note that =~ represents a regex match operator and */*= are aliases.


downgrade will stop further processing and exit non-zero if it encounters any of the following scenarios for any of its arguments:

  • No argument value(s) supplied where necessary
  • No package(s) found
  • Package(s) found, but an invalid selection was made
  • pacman -U returned non-zero
  • Unexpected error when handling IgnorePkg additions


pacman*(8), *vercmp(8), *sudo*(8), *pacman.conf*(5), *find*(1), *su*(1).


Open a GitHub issue on


  • Patrick Brisbin <>
  • Atreya Shankar <>

Author: dt

Created: 2022-02-20 Sun 09:58