Якщо ви користуєтеся стабільним випуском дистрибутива Debian, то знаєте, що в ньому присутні пакети тільки певної версії. Наприклад, php 5.6. І, поки не буде оновлено сам дистрибутив в цій гілці, ви не зможете встановити більш свіжу версію ПО ...
... До тих пір, поки не підключите додатковий, але офіційний репозиторій пакетів backports . Він надає більш нові версії певних пакетів. Наприклад, якщо в стандартному репозиторії розташовується nginx версії 1.6.2, то з backports ви можете встановити версію 1.9.10, що включає в себе безліч необхідних поліпшень.
Щоб додати цей репозиторій, необхідно в каталозі /etc/apt/sources.list.d/ створити файл backports.list і прописати там єдиний рядок:
deb http://ftp.ru.debian.org/debian jessie-backports main
Або будь-яке інше найближчим до вашого сервера дзеркало .
Все це справа можна виконати однією командою:
echo -e "deb http://packages.dotdeb.org jessie all \ ndeb-src http://packages.dotdeb.org jessie all"> /etc/apt/sources.list.d/dotdeb.list
Потім оновити список доступних пакетів: aptitude update
.
Пакети зі сховищ backports НЕ будуть встановлюватися за замовчуванням, як найсвіжіші версії. Їх установку потрібно виконувати командою:
aptitude install -t jessie-backports packagename
Де, замість «packagename», потрібно вказати ім'я пакету.
Оновлення вже встановлених пакетів з гілки stable на гілку jessie-backports проводиться тією ж самою командою.
Конфлікти з іншими репозиторіями
Конфлікт може виникнути, наприклад, при використанні сховища dotdeb . У моєму випадку, знадобилася установка тільки php7 . Але при повному відновленні командою aptitude upgrade
зі сховищ dotdeb тягнеться nginx іншою версією.
Все було б непогано, якби не факт, що nginx в dotdeb зібраний без підтримки openssl 1.0.2h. А це потрібно для роботи ALPN.
Вихід з цієї ситуації наступний: для пакетів з dotdeb, які не потрібно оновлювати, слід знизити пріоритет. Створюємо файл dotdeb в каталозі /etc/apt/preferenses.d/ і прописуємо туди вміст:
Package: nginx * Pin: origin packages.dotdeb.org Pin-Priority: -10
У прикладі - nginx. Але його можна замінити на ім'я іншого пакета.
Коли ви збережете цей файл, менеджер пакетів більше не буде пропонувати поновлення зі сховищ dotdeb.