Установка предыдущих/старых версий пакетов в Debian
Недавно столкнулся с проблемой установки предыдущей версии php на Debian. (Использую testing ветку, php пришло 5.6.x, но нужно было откатиться до 5.5.х). Рассмотрим, как можно установить предыдущую версию.
1. Переходим на http://snapshot.debian.org/ и в поиск вводим интересующий пакет (к примеру, php5 ).
2. В списке выбираем интересующую версию (например, 5.5.12+dfsg-2), переходим, выбираем репозиторий, в котором в последний раз был замечен (в моем случае, видим "Seen in debian on 2014-05-12 23:24:48 in /pool/main/p/php5.", кликаем по ссылке. Правим адрес с виду http://snapshot.debian.org/archive/debian/20140512T232448Z/pool/main/p/php5/ до вида http://snapshot.debian.org/archive/debian/20140512T232448Z/ (приводим к адресу репозитория), добавляем в 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
(Добавлена последняя строка)
3. Дальше обновляем индексы:
aptitude -o Acquire::Check-Valid-Until=false update
Теперь посмотрим доступные версии php (к примеру):
aptitude show -v php5
5. Дальше устанавливаем конкретную версию:
aptitude install php5=version
К примеру,
aptitude install php5=5.5.12+dfsg-2
(Также, скорее всего, потребуется продаунгрейдить php5-cli). Дальше следуем подсказкам aptitude, выбираем адекватный вариант с даунгрейдом php5 - пакетов, а не выпиливанием over 9000 пакетов 6. Возможно, будет полезно заморозить пакет от дальнейшего обновления:
aptitude hold package_name
Обратное действие:
aptitude unhold package_name