PHP 5.2 в Debian Squeezy

Иногда попадаются недосайты (так я называю самописное Г разных «крутых» дядек-пых-програмистов) которые могут работать только с php определенной версии. Вот недавно попался такой горе-сайт который может работать только с php версии 5.2 На сервере стоит Debian squeeze, в официальных репозитариях которого давно уже php5.4
Но apt позволяет очень гибко настраивать версионность пакетов, это нас и спасет. В репозиториях предыдущего релиза Debian под названием lenny пылятся нужные нам пакетики, добавим репозитарий для lenny себе в систему. У меня так:

root@srv1:~# cat /etc/apt/sources.list.d/php52.list
deb http://archive.debian.org/debian/ lenny main contrib non-free
# Volatile:
deb http://archive.debian.org/debian-volatile/ lenny/volatile main contrib non-free
root@srv1:~#


После этого настроим apt таким образом чтобы он брал только нужные нам пакеты из репозитариев релиза lenny, а остальное он будет брать как и раньше — из репозитариев текущего релиза.
Для этого я создал файлик /etc/apt/preferences.d/php52 с вот таким содержимым:

root@srv1:~# cat /etc/apt/preferences.d/php52
Explanation: by default install a package from Lenny if it is not yet installed and is not available from Squeeze
Package: *
Pin: release n=lenny*
Pin-Priority: 100

Explanation: install these packages always from Lenny
Package: php5-cli php5-suhosin libapache2-mod-php5 php5 php5-common php5-curl php5-gd php5-mcrypt php5-mysql
Pin: release n=lenny*
Pin-Priority: 999

root@srv1:~#

Обновляем информацию о пакетах, мы же добавили новые репозитарии:

root@srv1:~# apt-get update

А теперь можно обычным образом установить нужные нам пакеты:

root@srv1:~# apt-get install php5-cli php5-suhosin libapache2-mod-php5 php5 php5-common php5-curl php5-gd php5-mcrypt php5-mysql
  1. Комментов пока нет

  1. Трэкбэков пока нет.

Why ask?