How to Downgrade a Package in Arch Linux or Manjaro?
I will show you how to downgrade a package in Arch Linux (or Manjaro) and how to stop that package from further updates. The reason for doing a downgrade is usually a bug that affects your productivity in a newer version of a program.
The latest and the greatest software is a major asset of Arch Linux and Manjaro. However, every time a new version of a program is released, besides many improvements, it is also likely to contain some bugs. If some of these bugs stop you from working and you cannot fix them quickly, a common-sense decision is to downgrade a program with a bug to the previous version.
A new release of a program may also have a completely new interface too. As human beings, we do not really like changes. So, you may want to go back to the previous version you are used to until you find time to learn the new interface.
Actually, both the new interface and bugs affected me recently in my Arch Linux system. I had to downgrade a package in Arch Linux and I thought it might be useful for some of you if I share the process.
Why I downgraded KDEnlivein Arch Linux
I had to work on my video on things to do after installing Solus, and unfortunately, I had no time to get used to the new interface and re-configure my setup. I also discovered a few bugs. All these forced me to downgrade KDEnlive for until it gets improved and I have more time to re-configure the new version for my liking. I will use KDEnlive as an example of a program I downgrade and block it from future updates
Downgrading a program in Arch Linux
First of all, what you need to do is install the previous version of the program. To do this, you can first try to use Pacman’s cache:
sudo pacman -U /var/cache/pacman/pkg/package_name
If you start typing the name of the program in the packages cache folder and press the TAB key, the program name will be auto-completed if such file exists. For example, in my case, I typed
kdenlive and then pressed the TAB key, and I saw a full name of kdenlive-19.04.0-3-x86_64.pkg.tar.xz.
In case you have removed the previous versions of the program when you performed Arch Linux cleaning, you won’t find the needed package in the packages cache folder. No worries! The package still can be download from the Arch Linux Archive.
You need to go to the Arch Linux Archive website and search for your program in the
packages folder. For example, to find the previous version of KDEnlive, I went to the “K” folder because
kdenlive starts with the letter K, and among all folders, I found the KDEnlive folder by using in page search with CTRL + F. Then, I downloaded the latest 18th version of KDEnlive, because the newer version was version 19. You need to download the latest version that worked well for you.
Once you have downloaded the previous version of the program, open the terminal again and use the same command as above except replace the Pacman cache path with the path where the downloaded file is saved. Most likely it will be the
sudo pacman -U Path_to_the_dowloaded_package
This command will install the downloaded version of the program and thus you will downgrade that package in your Arch Linux or Manjaro.
Ignore a program from updates
However, after you downgraded a package, there is still one small problem. The next time you will update your Arch Linux, the downgraded program will also be updated to the latest version. So, you have to tell Pacman not to update this particular program, in other words, block it from updates.
To do this, it is necessary to modify the Pacman configuration file:
sudo nano /etc/pacman.conf
You need to find the commented
IgnorePkg option in that file. This option enabled the ignoring of particular programs during the update process. Uncomment it and type the program you do not want to be updated. In my case, I type
kdenlive. You can add several programs separated by a space.
Next, press CTRL + O to save the changes and CTRL + X to close the nano editor.
Now, when you try to update the system, you will see that the program you listed in
IgnorePkg will not be updated.
And that is it, I have downgraded KDEenlive and listed it as ignored for updates. Similarly, you can downgrade any other package in Arch Linux and block it from updating.
I do like the latest and the greatest software of Arch Linux. I believe you use Arch Linux or Manjaro for the same reason. But sometimes you have to downgrade a program in Arch Linux (Manjaro) until some bugs are fixed or until you find time to fix those bugs. A redesign of the program interface may also be a reason you want to downgrade until you have time to get used to it. So, I hope after reading this post you learned how to downgrade a program in Arch Linux or Manjaro to reverse some unwanted changes.
Just do not keep programs in the ignored list for too long. Arch Linux and Manjaro are developed at a rapid pace and many bugs get fixed rather quickly. Also, if you do not update a program for too long it may stop working because of the conflict with newer libraries.
Have you ever had to downgrade a package in Arch Linux or Manjaro?
You may also like my post about How to clean Arch Linux?