Update Manager keeps packages at the latest version, but occasionally a new package version may not work as expected or properly. How to downgrade an installed package and lock it at a specific version to prevent it from being updated? How can I do this using GUI or using a Terminal?
In GUI - using Synaptic
The Ubuntu Software Center’s simplified interface doesn’t offer the option to downgrade packages. Synaptic, a more advanced graphical package manager interface that Ubuntu used to include, offers this option. To downgrade a package graphically, first install the Synaptic application:
After you done this, open the Synaptic Package Manager from the Dash:
Search for the package you want to install an older version of in Synaptic, select it, and use the Package > Force Version option:
Select the version you want to install and click Force Version. Synaptic will only show you versions available in your repositories:
Click the Apply button to apply your changes and install the older version of the package, assuming everything works properly.
After you downgrade the package, select it and use the Package > Lock Version option. If you don’t do this, Ubuntu will try to upgrade the installed package the next time you update your installed packages:
In Terminal – using
You can install a specific version of a package with
apt-get in the Terminal. First, determine the available versions you can install with the following command (use for packagename the name of the program that you want to downgrade):
apt-cache showpkg [packagename]
Next, run the apt-get install command and specify the package version you want to install (use for version the version number previously determined of the program that you want to downgrade):
sudo apt-get install [packagename]=[version]
After it’s installed, run the following command to hold your installed version, preventing the package manager from automatically updating it in the future:
sudo echo "[packagename] hold" | sudo dpkg --set-selections
Lets find the archived package on http://packages.ubuntu.com/:
For example downgrading php5 :
Found an exact hit lets look at the package page for php5 :
We can see the different versions of Ubuntu releases here we are at trusty:
Lets switch to version that ran php (5.3) ... 12.04 (precise) for example:
download the tar.gz
And then extract the tar file and install it:
cd /path/to/download tar -xzvf name_of_package cd name_of_extracted_folder ./configure make sudo make install
Possible issues that one could run into when running
- Missing dependencies ( had to install
- errors while compiling could include flags not being set properly, or issues with the code itself.
- A bunch of garbage when compiling, and then some issue in the code?
- In my case i had to find the up to date source files/tarball for php ( http://php.net/downloads.php )
- and retry extraction and make