Installation of previous/old versions of packages in Debian
Recently, I encountered a problem installing the previous version of php on Debian. (I'm using the testing branch, php came as 5.6.x, but I needed to roll back to 5.5.x). Let's see how we can install the previous version.
Go to http://snapshot.debian.org/ and enter the desired package in the search (for example, php5).
In the list, select the desired version (for example, 5.5.12+dfsg-2), go to it, select the repository where it was last seen (in my case, we see "Seen in debian on 2014-05-12 23:24:48 in /pool/main/p/php5.", click on the link. Modify the address from http://snapshot.debian.org/archive/debian/20140512T232448Z/pool/main/p/php5/ to http://snapshot.debian.org/archive/debian/20140512T232448Z/ (convert to the repository address), add to sources.list:
nano /etc/apt/sources.list
deb http://snapshot.debian.org/archive/debian/20140512T232448Z/ testing main non-free contrib
deb http://snapshot.debian.org/archive/debian/20131028T215931Z/ testing main non-free contrib
deb http://snapshot.debian.org/archive/debian/20140512T232448Z/ main testing
(The last line is added)
- Then update the indexes:
aptitude -o Acquire::Check-Valid-Until=false update
Now let's see the available versions of php (for example):
aptitude show -v php5
- Then install the specific version:
aptitude install php5=version
For example:
aptitude install php5=5.5.12+dfsg-2
(Also, most likely, you will need to downgrade php5-cli). Then follow the hints of aptitude, choose a reasonable option with the downgrade of php5 - packages, not the removal of over 9000 packages. 6. It may be useful to freeze the package from further update:
aptitude hold package_name
To undo:
aptitude unhold package_name