There are sometimes circumstances that require downgrading a package temporarily. While this should not be an issue for Manjaro users on the stable branch, it is sometimes needed when using the unstable branch.
The easy way using downgrade
downgrade is an application that helps automate the process of locating and downgrading packages.
First you need to install Downgrade, which is available in the official repositories of Manjaro. This can be done with the following command:
pamac install downgrade
To use downgrade simply run the command followed by the name of the package you want to downgrade. For example:
This will result in output which looks like this:
Available packages: 1) firefox 55.0.3 1 x86_64 (remote) 2) firefox 60.0.1 1 x86_64 (remote) 3) firefox 64.0.2 1 x86_64 (remote) 4) firefox 64.0.2 1 x86_64 (local) 5) firefox 65.0 1 x86_64 (remote) 6) firefox 65.0 2 x86_64 (remote) 7) firefox 65.0.1 1 x86_64 (remote) 8) firefox 65.0.2 1 x86_64 (remote) - 9) firefox 66.0 0 x86_64 (local) 10) firefox 66.0 1 x86_64 (remote) 11) firefox 66.0.1 1 x86_64 (remote) 12) firefox 66.0.2 1 x86_64 (remote) 13) firefox 66.0.3 1 x86_64 (remote) 14) firefox 66.0.4 1 x86_64 (remote) + 15) firefox 66.0.5 1 x86_64 (remote) + 16) firefox 66.0.5 1 x86_64 (local)
The entries listed as "local" are versions from your local package cache. The entries identified as "remote" are available from the Arch Linux Archive(ALA).
Adding packages to the ignore list
After downgrading the package, you should see a message similar to this:
add firefox to IgnorePkg? [y/n]
If you answer "y", the package will no long be upgraded in future updates until you manually remove it from the IgnorePkg line of /etc/pacman.conf
Downgrading packages manually
/var/cache/pacman/pkg contains old versions of packages. First look for the package that you wish to downgrade is this directory then use
pacman -U to install it. For example, it could look like this:
We have to use the following command to install the previously installed version of the packages that need to be downgraded:
sudo pacman -U /var/cache/pacman/pkg/firefox-64.0.2-1-x86_64.pkg.tar.xz
Ensuring downgraded packages won't be upgraded again
In order to stop these packages from being upgraded the next time you run updates, you can add them to the ignore list in /etc/pacman.conf. Look for the section that looks like this:
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup # IgnorePkg =
Remove the comment in front of IgnorePkg and add the package name to the list. When you are done it should look like this:
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup IgnorePkg = firefox
Once this is done the package will no long be upgraded in future updates until you manually remove it from the IgnorePkg line of /etc/pacman.conf