Як встановити старі пакети в debian, ubuntu, centos на прикладі php, настройка серверів windows і

Як встановити старі пакети в debian, ubuntu, centos на прикладі php

Як встановити старі пакети в debian, ubuntu, centos на прикладі php

Іноді буває потрібно встановити стару версію будь-якого пакета. Найпростіший (хоч і неправильний) шлях це завантажити потрібну версію і встановити її вручну, але тоді доведеться самостійно розбиратися з величезною кількістю залежностей. Тому найправильніший шлях - це прописати додаткові репозиторії і налаштувати виключення для потрібних пакетів.

Ми будемо ставити пакет PHP з дістрібьютіва squeeze (в новіших гілках використовується PHP 5.4.x)

Щоб додати потрібні репозиторії відкриваємо /etc/apt/sources.list

І додаємо в кінець репозиторії:

Тепер нам потрібно зафіксувати версії пакетів, щоб не ставилися більш нові. Для цього ми вкажемо в файлі /etc/apt/preferences.d/preferences з якого сховища брати потрібні нам пакети.

Package: php5 *
Pin: release a = oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a = oldstable
Pin-Priority: 700

Package: *
Pin: release a = stable
Pin-Priority: 600

Для зниження версії PHP нам будуть потрібні всі пакети, які починаються з php5. а так же libapache2-mod-php5.
Пояснення рядків:

Package: php5 * - пакети, які потрапляють під маску php5 *
Pin: release a = oldstable - беруться з репозиторіїв попередньої версії дістрібьютіва (Можна зафіксувати поточну версію і заборонити її змінювати. Для цього потрібно написати Pin: version 5.3.3-7 + squeeze19. Де 5.3.3-7 + squeeze19 - це версія пакету ).
Pin-Priority: 700 - пріоритет установки. Чим більше - тим краще правило.

Таким же чином видаємо вказівки для пакета (libapache2-mod-php5) і для всіх інших (*). Тепер оновлюємо інформацію в apt:

і встановлюємо наші пакети: